Использование 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"

Дальнейшие действия