skip to Main Content

Few days ago I moved my service from Azure Cloud Services classic to Cloud Services extended support. The latest doesn’t have Production/Staging slots. There is a new swap mechanism that is activated if during a deploy we configured the "swappable cloud service". I can do it using Visual Studio publish magic and it works fine.

Now I want to make a deploy using powershell script. The code below just creates a new deploy without activated swap. It works fine.

New-AzCloudService  -Name $stagingName `
                -ResourceGroupName $resourceGroupName `
                -Location $location `
                -ConfigurationFile $cscfgFilePath `
                -DefinitionFile $csdefFilePath `
                -PackageFile $cspkgFilePath `
                -StorageAccount $storageAccount `
                -KeyVaultName $keyVaultName

I didn’t find any samples or clues of how to add the "swappable cloud service" to the New-AzCloudService. I figured out there is such settings in
NetworkProfile.SwappableCloudService.Id but I can’t understand how to set it up properly. For example, if I add:

      $production= Get-AzCloudService -ResourceGroup $resourceGroupName -CloudServiceName $productionName
      $production.NetworkProfile.SwappableCloudService.Id = $production.Name # just to reuse the object
      $loadBalancerConfig = CreateLoadBalancerConfig
      $networkProfile = @{loadBalancerConfiguration = $loadBalancerConfig; swappableCloudService = $production.NetworkProfile.SwappableCloudService }
            
        New-AzCloudService  -Name $stagingName `
                             ...
                      -NetworkProfile $networkProfile `

I got the error:

New-AzCloudService : Parameter set cannot be resolved using the specified named parameters

Is it possible to set the "swappable cloud service" for New-AzCloudService? How to do it?

Is it possible to set the "swappable cloud service" after the deploy (in any way, Azure portal, API, powershell, etc.)?

2

Answers


  1. Try $production.Id instead of $production.Name. Or $production.id (I am not sure if the case is important).

    Login or Signup to reply.
  2. I suspect the issue relates to the -NetworkProfile not being supported when -ConfigurationFile, -DefinitionFile, and -PackageFile are used.

    In the documentation, -NetworkProfile is used with -PackageUrl and -Configuration instead.

    I’ve asked Microsoft about this as I am having the same issue.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search