diff --git a/schemas/2019-08-01/tenantDeploymentTemplate.json b/schemas/2019-08-01/tenantDeploymentTemplate.json index 214a398121..43c201e743 100644 --- a/schemas/2019-08-01/tenantDeploymentTemplate.json +++ b/schemas/2019-08-01/tenantDeploymentTemplate.json @@ -628,6 +628,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-07-01/Microsoft.Capacity.json#/tenant_resourceDefinitions/reservationOrders" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-03-01/Microsoft.Capacity.json#/tenant_resourceDefinitions/reservationOrders" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-03-01-preview/Microsoft.CostManagement.json#/tenant_resourceDefinitions/cloudConnectors" }, diff --git a/schemas/2022-03-01/Microsoft.Capacity.json b/schemas/2022-03-01/Microsoft.Capacity.json new file mode 100644 index 0000000000..d919b33d32 --- /dev/null +++ b/schemas/2022-03-01/Microsoft.Capacity.json @@ -0,0 +1,232 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-03-01/Microsoft.Capacity.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Capacity", + "description": "Microsoft Capacity Resource Types", + "resourceDefinitions": {}, + "tenant_resourceDefinitions": { + "reservationOrders": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-03-01" + ] + }, + "location": { + "type": "string", + "description": "The Azure Region where the reserved resource lives." + }, + "name": { + "type": "string", + "description": "Order Id of the reservation" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PurchaseRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/SkuName" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Capacity/reservationOrders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Capacity/reservationOrders" + } + }, + "definitions": { + "PurchaseRequestProperties": { + "type": "object", + "properties": { + "appliedScopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared." + }, + "appliedScopeType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Single", + "Shared" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "billingPlan": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Upfront", + "Monthly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "billingScopeId": { + "type": "string", + "description": "Subscription that will be charged for purchasing Reservation" + }, + "displayName": { + "type": "string", + "description": "Friendly name of the Reservation" + }, + "quantity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Quantity of the SKUs that are part of the Reservation. Must be greater than zero." + }, + "renew": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will automatically purchase a new reservation on the expiration date time." + }, + "reservedResourceProperties": { + "oneOf": [ + { + "$ref": "#/definitions/PurchaseRequestPropertiesReservedResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to each reserved resource type. Not required if not applicable." + }, + "reservedResourceType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "VirtualMachines", + "SqlDatabases", + "SuseLinux", + "CosmosDb", + "RedHat", + "SqlDataWarehouse", + "VMwareCloudSimple", + "RedHatOsa", + "Databricks", + "AppService", + "ManagedDisk", + "BlockBlob", + "RedisCache", + "AzureDataExplorer", + "MySql", + "MariaDb", + "PostgreSql", + "DedicatedHost", + "SapHana", + "SqlAzureHybridBenefit", + "AVS", + "DataFactory", + "NetAppStorage", + "AzureFiles", + "SqlEdge" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "term": { + "oneOf": [ + { + "type": "string", + "enum": [ + "P1Y", + "P3Y", + "P5Y" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "PurchaseRequestPropertiesReservedResourceProperties": { + "type": "object", + "properties": { + "instanceFlexibility": { + "oneOf": [ + { + "type": "string", + "enum": [ + "On", + "Off" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Properties specific to each reserved resource type. Not required if not applicable." + }, + "SkuName": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + } +} \ No newline at end of file