Использование PowerShell для управления подписками, планами и предложениями в Azure Stack Hub
PowerShell можно использовать для настройки и доставки служб с помощью предложений, планов и подписок. Инструкции по настройке PowerShell в Azure Stack Hub см. в статье Установка модуля PowerShell Az для Azure Stack Hub. Сведения о подключении к Azure Stack Hub с помощью PowerShell см. в статье Подключение к 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, но используйте пользователь Resource Manager конечную точку Azure. Например, 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"