I can do this swap from the Portal, however it won't work from PowerShell
Switch-AzureRmWebAppSlot -ResourceGroupName "z_test_amp_Resource_Group" -Name "z-test-amp-EXPERIMENT-TEST-APP" -DestinationSlotName "z-test-amp-EXPER-DEPLOY-SLOT-01" -SourceSlotName "production"
It gives the error:
The Resource 'Microsoft.Web/sites/z-test-amp-EXPERIMENT-TEST-APP/slots/production' under resource group
'z_test_amp_Resource_Group' was not found.
In the Portal Swap dialog it provides "production" in the Source DDL, and that works fine.
There is only one subscription involved.
In the PowerShell cmdlet I've tried:
-SourceSlotName "production"
-SourceSlotName z-test-amp-EXPERIMENT-TEST-APP
-SourceSlotName "z-test-amp-EXPERIMENT-TEST-APP"
In each case I get the same type of message: can't finds a slot by that name.
If I leave out the -SourceSlotName parameter it seems to accept everything else and then asks for the -SourceSlotName.
If I get a list of slots for the web app, using this:
Get-AzureRmWebAppSlot -ResourceGroupName z_test_amp_Resource_Group -name z-test-amp-EXPERIMENT-TEST-APP
it lists (lots of information and then finally)
Name: z-test-amp-EXPERIMENT-TEST-APP/z-test-amp-EXPER-DEPLOY-SLOT-01
This looked like it might be the answer
Switch-AzureRmWebAppSlot no longer supports Production slot name
which says try this:
Switch-AzureRmWebAppSlot -ResourceGroupName "z_test_amp_Resource_Group" -Name "z-test-amp-EXPERIMENT-TEST-APP" -SourceSlotName "z-test-amp-EXPER-DEPLOY-SLOT-01"
but that leaving out the destination slot gives the error "TargetSlot must not be null"
And then including the -TargetSlot parameter like so:
Switch-AzureRmWebAppSlot -ResourceGroupName "z_test_amp_Resource_Group" -Name "z-test-amp-EXPERIMENT-TEST-APP" -SourceSlotName "z-test-amp-EXPER-DEPLOY-SLOT-01" -TargetSlot production
results this error:
A parameter cannot be found that matches parameter name 'TargetSlot'.
Question: why is this not working / what is new correct syntax for this cmdlet?
See Question&Answers more detail:
os