diff --git a/schemas/2019-08-01/tenantDeploymentTemplate.json b/schemas/2019-08-01/tenantDeploymentTemplate.json index 1fcc577349..c22a002de2 100644 --- a/schemas/2019-08-01/tenantDeploymentTemplate.json +++ b/schemas/2019-08-01/tenantDeploymentTemplate.json @@ -784,6 +784,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Subscription.json#/tenant_resourceDefinitions/aliases" }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-10-01/Microsoft.Subscription.json#/tenant_resourceDefinitions/aliases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-10-01/Microsoft.Subscription.json#/tenant_resourceDefinitions/policies" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-08-01/Microsoft.Web.json#/tenant_resourceDefinitions/publishingUsers" }, diff --git a/schemas/2021-10-01/Microsoft.Subscription.json b/schemas/2021-10-01/Microsoft.Subscription.json new file mode 100644 index 0000000000..970e522324 --- /dev/null +++ b/schemas/2021-10-01/Microsoft.Subscription.json @@ -0,0 +1,196 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-10-01/Microsoft.Subscription.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Subscription", + "description": "Microsoft Subscription Resource Types", + "resourceDefinitions": {}, + "tenant_resourceDefinitions": { + "aliases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-10-01" + ] + }, + "name": { + "type": "string", + "description": "AliasName is the name for the subscription creation request. Note that this is not the same as subscription name and this doesn’t have any other lifecycle need beyond the request for subscription creation." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PutAliasRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Put subscription properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Subscription/aliases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Subscription/aliases" + }, + "policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-10-01" + ] + }, + "blockSubscriptionsIntoTenant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blocks the entering of subscriptions into user's tenant." + }, + "blockSubscriptionsLeavingTenant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blocks the leaving of subscriptions from user's tenant." + }, + "exemptedPrincipals": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of user objectIds that are exempted from the set subscription tenant policies for the user's tenant." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Subscription/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Subscription/policies" + } + }, + "definitions": { + "PutAliasRequestAdditionalProperties": { + "type": "object", + "properties": { + "managementGroupId": { + "type": "string", + "description": "Management group Id for the subscription." + }, + "subscriptionOwnerId": { + "type": "string", + "description": "Owner Id of the subscription" + }, + "subscriptionTenantId": { + "type": "string", + "description": "Tenant Id of the subscription" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags for the subscription" + } + }, + "description": "Put subscription additional properties." + }, + "PutAliasRequestProperties": { + "type": "object", + "properties": { + "additionalProperties": { + "oneOf": [ + { + "$ref": "#/definitions/PutAliasRequestAdditionalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Put subscription additional properties." + }, + "billingScope": { + "type": "string", + "description": "Billing scope of the subscription.\nFor CustomerLed and FieldLed - /billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}\nFor PartnerLed - /billingAccounts/{billingAccountName}/customers/{customerName}\nFor Legacy EA - /billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the subscription." + }, + "resellerId": { + "type": "string", + "description": "Reseller Id" + }, + "subscriptionId": { + "type": "string", + "description": "This parameter can be used to create alias for existing subscription Id" + }, + "workload": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Production", + "DevTest" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Put subscription properties." + } + } +} \ No newline at end of file