KSP
KSP

Reputation: 149

Failed to setup Custom Domain for APIM using PowerShell script

I am trying to setup custom domain for my APIM instance using below script

[CmdletBinding()]
param (
    [String]
    $ResourceGroupName,
    [String]
    $Hostname,
    [String]
    $ApimServiceName,
    [string]
    $KeyVaultId
)
$ProxyHostnameConf = New-AzApiManagementCustomHostnameConfiguration -Hostname $Hostname -HostnameType "Proxy" -KeyVaultId $KeyVaultId -DefaultSslBinding
$apim = Get-AzApiManagement -ResourceGroupName $ResourceGroupName -Name $ApimServiceName
$apim.ProxyCustomHostnameConfiguration = $ProxyHostnameConf
Set-AzApiManagement -InputObject $apim 

But the script is failing with below error

Line |
  15 |  Set-AzApiManagement -InputObject $apim
     |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | 'SubnetResourceId' does not match expected pattern
     | '^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$'.

I am getting this error both in my local machine as well as from the devops Microsoft hosted agent

Upvotes: 1

Views: 505

Answers (1)

KSP
KSP

Reputation: 149

I was able to fix this using azure cli command mentioned in the below ink

Azure CLI - Bash script to set up API Management custom domain

[CmdletBinding()]
param (
    [String]
    $ResourceGroupName,
    [String]
    $HostName,
    [String]
    $KeyVaultId,
    [String]
    $ApimServiceName
)
$config ='[{\"hostName\":\"'+$HostName+'\",\"type\":\"Proxy\",\"keyVaultId\":\"'+$KeyVaultId+'\",\"defaultSslBinding\":true,\"negotiateClientCertificate\":false}]'
Write-Host $config
az apim update --resource-group $ResourceGroupName --name  $ApimServiceName --set hostnameConfigurations=$config

Upvotes: 1

Related Questions