Использование PowerShell для управления подписками, планами и предложениями в Azure Stack Hub
PowerShell можно использовать для настройки и доставки служб с помощью предложений, планов и подписок. Инструкции по настройке с помощью PowerShell в Azure Stack Hub см. в статье Установка модуля PowerShell Az для Azure Stack Hub. Сведения о подключении к Azure Stack Hub с помощью PowerShell см. в статье Connect to Azure Stack Hub с помощью PowerShell.
Перед началом работы убедитесь, что модуль PowerShell Azure Stack Hub загружается. В консоли PowerShell введите Import-Module AzureStack
.
Создание плана
Квоты требуются при создании плана. Можно использовать существующие квоты или создать новые квоты. Например, чтобы создать квоты для хранилища, вычислений и сети, можно использовать командлеты New-AzsStorageQuota, New-AzsComputeQuotaи New-AzsNetworkQuota:
$serviceQuotas = @()
$serviceQuotas += (New-AzsStorageQuota -Name "Example storage quota with defaults").Id
$serviceQuotas += (New-AzsComputeQuota -Name "Example compute quota with defaults").Id
$serviceQuotas += (New-AzsNetworkQuota -Name "Example network quota with defaults").Id
Чтобы создать или обновить базовый или дополнительный план, используйте New-AzsPlan.
$testPlan = New-AzsPlan -Name "testplan" -ResourceGroupName "testrg" -QuotaIds $serviceQuotas -Description "Test plan"
Создание предложения
Чтобы создать предложение, используйте New-AzsOffer.
New-AzsOffer -Name "testoffer" -ResourceGroupName "testrg" -BasePlanIds @($testPlan.Id)
После получения предложения вы можете добавить планы в предложение. Используйте Add-AzsPlanToOffer. Параметр -PlanLinkType отличает тип плана.
Add-AzsPlanToOffer -PlanName "addonplan" -PlanLinkType Addon -OfferName "testoffer" -ResourceGroupName "testrg" -MaxAcquisitionCount 18
Если вы хотите изменить состояние предложения, используйте командлет Set-AzsOffer.
$offer = Get-AzsAdminManagedOffer -Name "testoffer" -ResourceGroupName "testrg"
$offer.state = "Public"
$offer | Set-AzsOffer -Confirm:$false
Создание подписки на предложение
После создания предложения пользователям потребуется подписка на это предложение, прежде чем они смогут его использовать. Существует два способа, которым пользователи могут подписаться на предложение:
- Как оператор облака можно создать подписку для пользователя. Создаваемые подписки можно использовать как для общедоступных, так и для частных предложений.
- Как пользователь, вы можете подписаться на общедоступное предложение.
Чтобы создать подписку для пользователя в качестве оператора облака, используйте New-AzsUserSubscription.
New-AzsUserSubscription -Owner "user@contoso.com" -DisplayName "User subscription" -OfferId "/subscriptions/<Subscription ID>/resourceGroups/testrg/providers/Microsoft.Subscriptions.Admin/offers/testoffer"
Чтобы подписаться на общедоступное предложение в качестве пользователя, используйте New-AzsSubscription.
New-AzsSubscription требует подключения к пользовательской среде Azure Resource Manager. Выполните действия, описанные в разделе Подключение к Azure Stack Hub с помощью PowerShell, но используйте конечную точку Azure Resource Manager. Например, Add-AzEnvironment -Name "AzureStackUser" -ArmEndpoint "https://management.local.azurestack.external"
.
$testOffer = Get-AzsOffer | Where-Object Name -eq "testoffer"
New-AzsSubscription -OfferId $testOffer.Id -DisplayName "My subscription"
Удаление квот, планов, предложений и подписок
Существуют командлеты PowerShell для удаления квот Azure Stack Hub, планов, предложений и подписок. Ниже показаны примеры для каждого из них.
Используйте Remove-AzsUserSubscription для удаления подписки из предложения.
Remove-AzsUserSubscription -TargetSubscriptionId "c90173b1-de7a-4b1d-8600-b8325ca1eab1e"
Чтобы удалить план из предложения, используйте Remove-AzsPlanFromOffer.
Remove-AzsPlanFromOffer -PlanName "addonplan" -PlanLinkType Addon -OfferName "testoffer" -ResourceGroupName "testrg"
Remove-AzsPlanFromOffer -PlanName "testplan" -PlanLinkType Base -OfferName "testoffer" -ResourceGroupName "testrg"
Чтобы удалить план, воспользуйтесь командой Remove-AzsPlan.
Remove-AzsPlan -Name "testplan" -ResourceGroupName "testrg"
Для удаления предложения используйте команду Remove-AzsOffer.
Remove-AzsOffer -Name "testoffer" -ResourceGroupName "testrg"
Чтобы удалить квоты, используйте Remove-AzsStorageQuota, Remove-AzsComputeQuota, Remove-AzsNetworkQuota.
Remove-AzsStorageQuota -Name "Example storage quota with defaults"
Remove-AzsComputeQuota -Name "Example compute quota with defaults"
Remove-AzsNetworkQuota -Name "Example network quota with defaults"