diff --git a/schemas/2019-08-01/tenantDeploymentTemplate.json b/schemas/2019-08-01/tenantDeploymentTemplate.json index d0408f05ce..6825e8040b 100644 --- a/schemas/2019-08-01/tenantDeploymentTemplate.json +++ b/schemas/2019-08-01/tenantDeploymentTemplate.json @@ -823,6 +823,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-04-01/Microsoft.Management.json#/tenant_resourceDefinitions/managementGroups_subscriptions" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.Management.json#/tenant_resourceDefinitions/managementGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.Management.json#/tenant_resourceDefinitions/managementGroups_settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.Management.json#/tenant_resourceDefinitions/managementGroups_subscriptions" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-02-01/Microsoft.ManagementPartner.json#/tenant_resourceDefinitions/partners" }, diff --git a/schemas/2020-11-01-preview/Microsoft.Sql.json b/schemas/2020-11-01-preview/Microsoft.Sql.json index a22d0bdaef..c5ed7d0cd0 100644 --- a/schemas/2020-11-01-preview/Microsoft.Sql.json +++ b/schemas/2020-11-01-preview/Microsoft.Sql.json @@ -1129,9 +1129,6 @@ { "$ref": "#/definitions/servers_jobAgents_childResource" }, - { - "$ref": "#/definitions/servers_privateEndpointConnections_childResource" - }, { "$ref": "#/definitions/servers_administrators_childResource" }, @@ -1159,6 +1156,9 @@ { "$ref": "#/definitions/servers_databases_childResource" }, + { + "$ref": "#/definitions/servers_privateEndpointConnections_childResource" + }, { "$ref": "#/definitions/servers_extendedAuditingSettings_childResource" }, diff --git a/schemas/2021-02-01-preview/Microsoft.Network.NRP.json b/schemas/2021-02-01-preview/Microsoft.Network.NRP.json index 3ea4e76703..ebe16baf6a 100644 --- a/schemas/2021-02-01-preview/Microsoft.Network.NRP.json +++ b/schemas/2021-02-01-preview/Microsoft.Network.NRP.json @@ -1889,20 +1889,6 @@ ], "description": "Outbound rules fully qualified domain name format." }, - "networkSecurityPerimeters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/PerimeterBasedAccessRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Inbound rule specified by the perimeter id." - }, "phoneNumbers": { "oneOf": [ { @@ -2024,15 +2010,6 @@ "properties": {}, "description": "Properties of NSP profile." }, - "PerimeterBasedAccessRule": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "NSP id in the ARM id format." - } - } - }, "RuleCollectionPropertiesFormat": { "type": "object", "properties": { diff --git a/schemas/2023-01-01/Microsoft.StorageTasks.json b/schemas/2023-01-01/Microsoft.StorageTasks.json new file mode 100644 index 0000000000..b7d116d500 --- /dev/null +++ b/schemas/2023-01-01/Microsoft.StorageTasks.json @@ -0,0 +1,326 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.StorageTasks.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.StorageTasks", + "description": "Microsoft StorageTasks Resource Types", + "resourceDefinitions": { + "storageTasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]{3,18}$", + "minLength": 3, + "maxLength": 18 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StorageTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the storage task." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.StorageTasks/storageTasks" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.StorageTasks/storageTasks" + } + }, + "definitions": { + "ElseCondition": { + "type": "object", + "properties": { + "operations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskOperation" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of operations to execute in the else block" + } + }, + "required": [ + "operations" + ], + "description": "The else block of storage task operation" + }, + "IfCondition": { + "type": "object", + "properties": { + "condition": { + "type": "string", + "description": "The condition predicate which is composed of object properties, eg: blob and container properties." + }, + "operations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskOperation" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of operations to execute when the condition predicate satisfies." + } + }, + "required": [ + "condition", + "operations" + ], + "description": "The if block of storage task operation" + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "StorageTaskAction": { + "type": "object", + "properties": { + "else": { + "oneOf": [ + { + "$ref": "#/definitions/ElseCondition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The else block of storage task operation" + }, + "if": { + "oneOf": [ + { + "$ref": "#/definitions/IfCondition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The if block of storage task operation" + } + }, + "required": [ + "if" + ], + "description": "The storage task action represents conditional statements and operations to be performed on target objects." + }, + "StorageTaskOperation": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SetBlobTier", + "SetBlobTags", + "SetBlobImmutabilityPolicy", + "SetBlobLegalHold", + "SetBlobExpiry", + "DeleteBlob", + "UndeleteBlob" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operation to be performed on the object." + }, + "onFailure": { + "oneOf": [ + { + "type": "string", + "enum": [ + "break" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Action to be taken when the operation fails for a object." + }, + "onSuccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "continue" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Action to be taken when the operation is successful for a object." + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key-value parameters for the operation." + } + }, + "required": [ + "name" + ], + "description": "Represents an operation to be performed on the object" + }, + "StorageTaskProperties": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/StorageTaskAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage task action represents conditional statements and operations to be performed on target objects." + }, + "description": { + "type": "string", + "description": "Text that describes the purpose of the storage task" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage Task is enabled when set to true and disabled when set to false" + } + }, + "required": [ + "action", + "description", + "enabled" + ], + "description": "Properties of the storage task." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + } + } +} \ No newline at end of file diff --git a/schemas/2023-04-01-preview/Microsoft.MachineLearningServices.json b/schemas/2023-04-01-preview/Microsoft.MachineLearningServices.json index 9cf376264d..8c02780291 100644 --- a/schemas/2023-04-01-preview/Microsoft.MachineLearningServices.json +++ b/schemas/2023-04-01-preview/Microsoft.MachineLearningServices.json @@ -9157,37 +9157,37 @@ "type": "string", "description": "MLFlow Registry URI for the Registry" }, - "publicNetworkAccess": { - "type": "string", - "description": "Is the Registry accessible from the internet?\r\nPossible values: \"Enabled\" or \"Disabled\"" - }, - "regionDetails": { + "privateEndpointConnections": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RegistryRegionArmDetails" + "$ref": "#/definitions/RegistryPrivateEndpointConnection" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Details of each region the registry is in" + "description": "Private endpoint connections info used for pending connections in private link portal" }, - "registryPrivateEndpointConnections": { + "publicNetworkAccess": { + "type": "string", + "description": "Is the Registry accessible from the internet?\r\nPossible values: \"Enabled\" or \"Disabled\"" + }, + "regionDetails": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RegistryPrivateEndpointConnection" + "$ref": "#/definitions/RegistryRegionArmDetails" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Private endpoint connections info used for pending connections in private link portal" + "description": "Details of each region the registry is in" } }, "description": "Details of the Registry" @@ -9197,7 +9197,7 @@ "properties": { "id": { "type": "string", - "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName}" + "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName}" }, "location": { "type": "string", @@ -9245,11 +9245,7 @@ ], "description": "The PE network resource that is linked to this PE connection." }, - "provisioningState": { - "type": "string", - "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." - }, - "registryPrivateLinkServiceConnectionState": { + "privateLinkServiceConnectionState": { "oneOf": [ { "$ref": "#/definitions/RegistryPrivateLinkServiceConnectionState" @@ -9259,6 +9255,10 @@ } ], "description": "The connection state." + }, + "provisioningState": { + "type": "string", + "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." } }, "description": "Properties of the Private Endpoint Connection" diff --git a/schemas/2023-04-01/Microsoft.MachineLearningServices.json b/schemas/2023-04-01/Microsoft.MachineLearningServices.json index 7f586cbfc9..312861ffc0 100644 --- a/schemas/2023-04-01/Microsoft.MachineLearningServices.json +++ b/schemas/2023-04-01/Microsoft.MachineLearningServices.json @@ -6110,37 +6110,37 @@ "type": "string", "description": "MLFlow Registry URI for the Registry" }, - "publicNetworkAccess": { - "type": "string", - "description": "Is the Registry accessible from the internet?\r\nPossible values: \"Enabled\" or \"Disabled\"" - }, - "regionDetails": { + "privateEndpointConnections": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RegistryRegionArmDetails" + "$ref": "#/definitions/RegistryPrivateEndpointConnection" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Details of each region the registry is in" + "description": "Private endpoint connections info used for pending connections in private link portal" }, - "registryPrivateEndpointConnections": { + "publicNetworkAccess": { + "type": "string", + "description": "Is the Registry accessible from the internet?\r\nPossible values: \"Enabled\" or \"Disabled\"" + }, + "regionDetails": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RegistryPrivateEndpointConnection" + "$ref": "#/definitions/RegistryRegionArmDetails" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Private endpoint connections info used for pending connections in private link portal" + "description": "Details of each region the registry is in" } }, "description": "Details of the Registry" @@ -6150,7 +6150,7 @@ "properties": { "id": { "type": "string", - "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName}" + "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName}" }, "location": { "type": "string", @@ -6198,11 +6198,7 @@ ], "description": "The PE network resource that is linked to this PE connection." }, - "provisioningState": { - "type": "string", - "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." - }, - "registryPrivateLinkServiceConnectionState": { + "privateLinkServiceConnectionState": { "oneOf": [ { "$ref": "#/definitions/RegistryPrivateLinkServiceConnectionState" @@ -6212,6 +6208,10 @@ } ], "description": "The connection state." + }, + "provisioningState": { + "type": "string", + "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." } }, "description": "Properties of the Private Endpoint Connection" diff --git a/schemas/2023-04-01/Microsoft.Management.json b/schemas/2023-04-01/Microsoft.Management.json new file mode 100644 index 0000000000..116fbf72b3 --- /dev/null +++ b/schemas/2023-04-01/Microsoft.Management.json @@ -0,0 +1,273 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.Management.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Management", + "description": "Microsoft Management Resource Types", + "resourceDefinitions": {}, + "tenant_resourceDefinitions": { + "managementGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01" + ] + }, + "name": { + "type": "string", + "description": "Management Group ID." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateManagementGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The generic properties of a management group used during creation." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managementGroups_subscriptions_childResource" + }, + { + "$ref": "#/definitions/managementGroups_settings_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Management/managementGroups" + }, + "managementGroups_settings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateOrUpdateSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the request to create or update Management Group settings" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups/settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Management/managementGroups/settings" + }, + "managementGroups_subscriptions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01" + ] + }, + "name": { + "type": "string", + "description": "Subscription ID." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups/subscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Management/managementGroups/subscriptions" + } + }, + "definitions": { + "CreateManagementGroupDetails": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "$ref": "#/definitions/CreateParentGroupInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "(Optional) The ID of the parent management group used during creation." + } + }, + "description": "The details of a management group used during creation." + }, + "CreateManagementGroupProperties": { + "type": "object", + "properties": { + "details": { + "oneOf": [ + { + "$ref": "#/definitions/CreateManagementGroupDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The details of a management group used during creation." + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group. If no value is passed then this field will be set to the groupId." + } + }, + "description": "The generic properties of a management group used during creation." + }, + "CreateOrUpdateSettingsProperties": { + "type": "object", + "properties": { + "defaultManagementGroup": { + "type": "string", + "description": "Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup" + }, + "requireAuthorizationForGroupCreation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access." + } + }, + "description": "The properties of the request to create or update Management Group settings" + }, + "CreateParentGroupInfo": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + } + }, + "description": "(Optional) The ID of the parent management group used during creation." + }, + "managementGroups_settings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateOrUpdateSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the request to create or update Management Group settings" + }, + "type": { + "type": "string", + "enum": [ + "settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Management/managementGroups/settings" + }, + "managementGroups_subscriptions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01" + ] + }, + "name": { + "type": "string", + "description": "Subscription ID." + }, + "type": { + "type": "string", + "enum": [ + "subscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Management/managementGroups/subscriptions" + } + } +} \ No newline at end of file diff --git a/schemas/2023-04-15/Microsoft.DocumentDB.json b/schemas/2023-04-15/Microsoft.DocumentDB.json index 73dc25534b..a6fe9a3130 100644 --- a/schemas/2023-04-15/Microsoft.DocumentDB.json +++ b/schemas/2023-04-15/Microsoft.DocumentDB.json @@ -3383,7 +3383,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2." + "description": "Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs only work with Tls 1.2." }, "networkAclBypass": { "oneOf": [ diff --git a/schemas/2023-05-01/Microsoft.App.json b/schemas/2023-05-01/Microsoft.App.json new file mode 100644 index 0000000000..a37c60943e --- /dev/null +++ b/schemas/2023-05-01/Microsoft.App.json @@ -0,0 +1,4948 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.App", + "description": "Microsoft App Resource Types", + "resourceDefinitions": { + "connectedEnvironments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The complex type of the extended location." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the connectedEnvironment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedEnvironmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ConnectedEnvironment resource specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/connectedEnvironments_certificates_childResource" + }, + { + "$ref": "#/definitions/connectedEnvironments_daprComponents_childResource" + }, + { + "$ref": "#/definitions/connectedEnvironments_storages_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/connectedEnvironments" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments" + }, + "connectedEnvironments_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/connectedEnvironments/certificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/certificates" + }, + "connectedEnvironments_daprComponents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/connectedEnvironments/daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/daprComponents" + }, + "connectedEnvironments_storages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/connectedEnvironments/storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/storages" + }, + "containerApps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The complex type of the extended location." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "managedBy": { + "type": "string", + "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource." + }, + "name": { + "type": "string", + "description": "Name of the Container App." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerAppProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ContainerApp resource specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/containerApps_authConfigs_childResource" + }, + { + "$ref": "#/definitions/containerApps_sourcecontrols_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/containerApps" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps" + }, + "containerApps_authConfigs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Container App AuthConfig." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthConfigProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AuthConfig resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/containerApps/authConfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/authConfigs" + }, + "containerApps_sourcecontrols": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Container App SourceControl." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SourceControlProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SourceControl resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/containerApps/sourcecontrols" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/sourcecontrols" + }, + "jobs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Job Name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container Apps Job resource specific properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/jobs" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/jobs" + }, + "managedEnvironments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "kind": { + "type": "string", + "description": "Kind of the Environment." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Environment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedEnvironmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed environment resource specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managedEnvironments_certificates_childResource" + }, + { + "$ref": "#/definitions/managedEnvironments_managedCertificates_childResource" + }, + { + "$ref": "#/definitions/managedEnvironments_daprComponents_childResource" + }, + { + "$ref": "#/definitions/managedEnvironments_storages_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments" + }, + "managedEnvironments_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments/certificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/certificates" + }, + "managedEnvironments_daprComponents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments/daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/daprComponents" + }, + "managedEnvironments_managedCertificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Managed Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedCertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments/managedCertificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/managedCertificates" + }, + "managedEnvironments_storages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments/storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/storages" + } + }, + "definitions": { + "AllowedAudiencesValidation": { + "type": "object", + "properties": { + "allowedAudiences": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the allowed list of audiences from which to validate the JWT token." + } + }, + "description": "The configuration settings of the Allowed Audiences validation flow." + }, + "AllowedPrincipals": { + "type": "object", + "properties": { + "groups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed groups." + }, + "identities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed identities." + } + }, + "description": "The configuration settings of the Azure Active Directory allowed principals." + }, + "Apple": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Apple provider should not be enabled despite the set registration; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AppleRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the registration for the Apple provider" + } + }, + "description": "The configuration settings of the Apple provider." + }, + "AppleRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of the app used for login." + }, + "clientSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the client secret." + } + }, + "description": "The configuration settings of the registration for the Apple provider" + }, + "AppLogsConfiguration": { + "type": "object", + "properties": { + "destination": { + "type": "string", + "description": "Logs destination, can be 'log-analytics', 'azure-monitor' or 'none'" + }, + "logAnalyticsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LogAnalyticsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Log Analytics configuration, must only be provided when destination is configured as 'log-analytics'" + } + }, + "description": "Configuration of application logs" + }, + "AppRegistration": { + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "The App ID of the app used for login." + }, + "appSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the app secret." + } + }, + "description": "The configuration settings of the app registration for providers that have app ids and app secrets" + }, + "AuthConfigProperties": { + "type": "object", + "properties": { + "globalValidation": { + "oneOf": [ + { + "$ref": "#/definitions/GlobalValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization." + }, + "httpSettings": { + "oneOf": [ + { + "$ref": "#/definitions/HttpSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization." + }, + "identityProviders": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/Login" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization." + }, + "platform": { + "oneOf": [ + { + "$ref": "#/definitions/AuthPlatform" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization." + } + }, + "description": "AuthConfig resource specific properties" + }, + "AuthPlatform": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "true if the Authentication / Authorization feature is enabled for the current app; otherwise, false." + }, + "runtimeVersion": { + "type": "string", + "description": "The RuntimeVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of certain features in the Authentication / Authorization module." + } + }, + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization." + }, + "AzureActiveDirectory": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true." + }, + "isAutoProvisioned": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.\nThis is an internal flag primarily intended to support the Azure Management Portal. Users should not\nread or write to this property." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryLogin" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "validation": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory token validation flow." + } + }, + "description": "The configuration settings of the Azure Active directory provider." + }, + "AzureActiveDirectoryLogin": { + "type": "object", + "properties": { + "disableWWWAuthenticate": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "true if the www-authenticate provider should be omitted from the request; otherwise, false." + }, + "loginParameters": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\"." + } + }, + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "AzureActiveDirectoryRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html" + }, + "clientSecretCertificateIssuer": { + "type": "string", + "description": "An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional." + }, + "clientSecretCertificateSubjectAlternativeName": { + "type": "string", + "description": "An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional." + }, + "clientSecretCertificateThumbprint": { + "type": "string", + "description": "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional." + }, + "clientSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the client secret of the relying party application." + }, + "openIdIssuer": { + "type": "string", + "description": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html" + } + }, + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "AzureActiveDirectoryValidation": { + "type": "object", + "properties": { + "allowedAudiences": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of audiences that can make successful authentication/authorization requests." + }, + "defaultAuthorizationPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/DefaultAuthorizationPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory default authorization policy." + }, + "jwtClaimChecks": { + "oneOf": [ + { + "$ref": "#/definitions/JwtClaimChecks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + } + }, + "description": "The configuration settings of the Azure Active Directory token validation flow." + }, + "AzureCredentials": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "Client Id." + }, + "clientSecret": { + "type": "string", + "description": "Client Secret." + }, + "kind": { + "type": "string", + "description": "Kind of auth github does for deploying the template" + }, + "subscriptionId": { + "type": "string", + "description": "Subscription Id." + }, + "tenantId": { + "type": "string", + "description": "Tenant Id." + } + }, + "description": "Container App credentials." + }, + "AzureFileProperties": { + "type": "object", + "properties": { + "accessMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Access mode for storage." + }, + "accountKey": { + "type": "string", + "description": "Storage account key for azure file." + }, + "accountName": { + "type": "string", + "description": "Storage account name for azure file." + }, + "shareName": { + "type": "string", + "description": "Azure file share name." + } + }, + "description": "Azure File Properties." + }, + "AzureStaticWebApps": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AzureStaticWebAppsRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the registration for the Azure Static Web Apps provider" + } + }, + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "AzureStaticWebAppsRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of the app used for login." + } + }, + "description": "The configuration settings of the registration for the Azure Static Web Apps provider" + }, + "CertificateProperties": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Certificate password." + }, + "value": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PFX or PEM blob" + } + }, + "description": "Certificate resource specific properties" + }, + "ClientRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of the app used for login." + }, + "clientSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the client secret." + } + }, + "description": "The configuration settings of the app registration for providers that have client ids and client secrets" + }, + "Configuration": { + "type": "object", + "properties": { + "activeRevisionsMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Multiple", + "Single" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active.Single: Only one revision can be active at a time. Revision weights can not be used in this mode. If no value if provided, this is the default.." + }, + "dapr": { + "oneOf": [ + { + "$ref": "#/definitions/Dapr" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App Dapr configuration." + }, + "ingress": { + "oneOf": [ + { + "$ref": "#/definitions/Ingress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App Ingress configuration." + }, + "maxInactiveRevisions": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Max inactive revisions a Container App can have." + }, + "registries": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of private container registry credentials for containers used by the Container app" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of secrets used by a Container app" + }, + "service": { + "oneOf": [ + { + "$ref": "#/definitions/Service" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App to be a dev service" + } + }, + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app" + }, + "ConnectedEnvironmentProperties": { + "type": "object", + "properties": { + "customDomainConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for apps environment custom domain" + }, + "daprAIConnectionString": { + "type": "string", + "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry" + }, + "staticIp": { + "type": "string", + "description": "Static IP of the connectedEnvironment" + } + }, + "description": "ConnectedEnvironment resource specific properties" + }, + "ConnectedEnvironmentStorageProperties": { + "type": "object", + "properties": { + "azureFile": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure File Properties." + } + }, + "description": "Storage properties" + }, + "connectedEnvironments_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/certificates" + }, + "connectedEnvironments_daprComponents_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/daprComponents" + }, + "connectedEnvironments_storages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/storages" + }, + "Container": { + "type": "object", + "properties": { + "args": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command arguments." + }, + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command." + }, + "env": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container environment variables." + }, + "image": { + "type": "string", + "description": "Container image tag." + }, + "name": { + "type": "string", + "description": "Custom container name." + }, + "probes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbe" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of probes for the container." + }, + "resources": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerResources" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container resource requirements." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container volume mounts." + } + }, + "description": "Container App container definition" + }, + "ContainerAppProbe": { + "type": "object", + "properties": { + "failureThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10." + }, + "httpGet": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerAppProbeHttpGet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HTTPGet specifies the http request to perform." + }, + "initialDelaySeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60." + }, + "periodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240." + }, + "successThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10." + }, + "tcpSocket": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerAppProbeTcpSocket" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported." + }, + "terminationGracePeriodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour)" + }, + "timeoutSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Liveness", + "Readiness", + "Startup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of probe." + } + }, + "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic." + }, + "ContainerAppProbeHttpGet": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + }, + "httpHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbeHttpGetHttpHeadersItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom headers to set in the request. HTTP allows repeated headers." + }, + "path": { + "type": "string", + "description": "Path to access on the HTTP server." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + }, + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HTTP", + "HTTPS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scheme to use for connecting to the host. Defaults to HTTP." + } + }, + "required": [ + "port" + ], + "description": "HTTPGet specifies the http request to perform." + }, + "ContainerAppProbeHttpGetHttpHeadersItem": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The header field name" + }, + "value": { + "type": "string", + "description": "The header field value" + } + }, + "required": [ + "name", + "value" + ], + "description": "HTTPHeader describes a custom header to be used in HTTP probes" + }, + "ContainerAppProbeTcpSocket": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Optional: Host name to connect to, defaults to the pod IP." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + } + }, + "required": [ + "port" + ], + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported." + }, + "ContainerAppProperties": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/Configuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app" + }, + "environmentId": { + "type": "string", + "description": "Resource ID of environment." + }, + "managedEnvironmentId": { + "type": "string", + "description": "Deprecated. Resource ID of the Container App's environment." + }, + "template": { + "oneOf": [ + { + "$ref": "#/definitions/Template" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created" + }, + "workloadProfileName": { + "type": "string", + "description": "Workload profile name for container apps to execute on." + } + }, + "description": "ContainerApp resource specific properties" + }, + "containerApps_authConfigs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Container App AuthConfig." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthConfigProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AuthConfig resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "authConfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/authConfigs" + }, + "containerApps_sourcecontrols_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Container App SourceControl." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SourceControlProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SourceControl resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "sourcecontrols" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/sourcecontrols" + }, + "ContainerResources": { + "type": "object", + "properties": { + "cpu": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Required CPU in cores, e.g. 0.5" + }, + "memory": { + "type": "string", + "description": "Required memory, e.g. \"250Mb\"" + } + }, + "description": "Container App container resource requirements." + }, + "CookieExpiration": { + "type": "object", + "properties": { + "convention": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FixedTime", + "IdentityProviderDerived" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The convention used when determining the session cookie's expiration." + }, + "timeToExpiration": { + "type": "string", + "description": "The time after the request is made when the session cookie should expire." + } + }, + "description": "The configuration settings of the session cookie's expiration." + }, + "CorsPolicy": { + "type": "object", + "properties": { + "allowCredentials": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the resource allows credentials" + }, + "allowedHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-allow-headers header" + }, + "allowedMethods": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-allow-methods header" + }, + "allowedOrigins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-allow-origins header" + }, + "exposeHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-expose-headers header " + }, + "maxAge": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-max-age header" + } + }, + "required": [ + "allowedOrigins" + ], + "description": "Cross-Origin-Resource-Sharing policy" + }, + "CustomDomain": { + "type": "object", + "properties": { + "bindingType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "SniEnabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Domain binding type." + }, + "certificateId": { + "type": "string", + "description": "Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment." + }, + "name": { + "type": "string", + "description": "Hostname." + } + }, + "required": [ + "name" + ], + "description": "Custom Domain of a Container App" + }, + "CustomDomainConfiguration": { + "type": "object", + "properties": { + "certificatePassword": { + "type": "string", + "description": "Certificate password" + }, + "certificateValue": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PFX or PEM blob" + }, + "dnsSuffix": { + "type": "string", + "description": "Dns suffix for the environment domain" + } + }, + "description": "Configuration properties for apps environment custom domain" + }, + "CustomOpenIdConnectProvider": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the custom Open ID provider provider should not be enabled; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectLogin" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + } + }, + "description": "The configuration settings of the custom Open ID Connect provider." + }, + "CustomScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the custom scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe custom scale rule." + }, + "type": { + "type": "string", + "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc." + } + }, + "description": "Container App container Custom scaling rule." + }, + "Dapr": { + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Dapr application identifier" + }, + "appPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tells Dapr which port your application is listening on" + }, + "appProtocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "http", + "grpc" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http." + }, + "enableApiLogging": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables API logging for the Dapr sidecar" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean indicating if the Dapr side car is enabled" + }, + "httpMaxRequestSize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big files. Default is 4 MB." + }, + "httpReadBufferSize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB." + }, + "logLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "info", + "debug", + "warn", + "error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info." + } + }, + "description": "Container App Dapr configuration." + }, + "DaprComponentProperties": { + "type": "object", + "properties": { + "componentType": { + "type": "string", + "description": "Component type" + }, + "ignoreErrors": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean describing if the component errors are ignores" + }, + "initTimeout": { + "type": "string", + "description": "Initialization timeout" + }, + "metadata": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DaprMetadata" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Component metadata" + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Names of container apps that can use this Dapr component" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of secrets used by a Dapr component" + }, + "secretStoreComponent": { + "type": "string", + "description": "Name of a Dapr component to retrieve component secrets from" + }, + "version": { + "type": "string", + "description": "Component version" + } + }, + "description": "Dapr Component resource specific properties" + }, + "DaprConfiguration": { + "type": "object", + "properties": {}, + "description": "Configuration properties Dapr component" + }, + "DaprMetadata": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Metadata property name." + }, + "secretRef": { + "type": "string", + "description": "Name of the Dapr Component secret from which to pull the metadata property value." + }, + "value": { + "type": "string", + "description": "Metadata property value." + } + }, + "description": "Dapr component metadata." + }, + "DefaultAuthorizationPolicy": { + "type": "object", + "properties": { + "allowedApplications": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory allowed applications." + }, + "allowedPrincipals": { + "oneOf": [ + { + "$ref": "#/definitions/AllowedPrincipals" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory allowed principals." + } + }, + "description": "The configuration settings of the Azure Active Directory default authorization policy." + }, + "EnvironmentVar": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Environment variable name." + }, + "secretRef": { + "type": "string", + "description": "Name of the Container App secret from which to pull the environment variable value." + }, + "value": { + "type": "string", + "description": "Non-secret environment variable value." + } + }, + "description": "Container App container environment variable." + }, + "ExtendedLocation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CustomLocation" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the extended location." + } + }, + "description": "The complex type of the extended location." + }, + "Facebook": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Facebook provider should not be enabled despite the set registration; otherwise, true." + }, + "graphApiVersion": { + "type": "string", + "description": "The version of the Facebook api to be used while logging in." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AppRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for providers that have app ids and app secrets" + } + }, + "description": "The configuration settings of the Facebook provider." + }, + "ForwardProxy": { + "type": "object", + "properties": { + "convention": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NoProxy", + "Standard", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The convention used to determine the url of the request made." + }, + "customHostHeaderName": { + "type": "string", + "description": "The name of the header containing the host of the request." + }, + "customProtoHeaderName": { + "type": "string", + "description": "The name of the header containing the scheme of the request." + } + }, + "description": "The configuration settings of a forward proxy used to make the requests." + }, + "GitHub": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the GitHub provider should not be enabled despite the set registration; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/ClientRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for providers that have client ids and client secrets" + } + }, + "description": "The configuration settings of the GitHub provider." + }, + "GithubActionConfiguration": { + "type": "object", + "properties": { + "azureCredentials": { + "oneOf": [ + { + "$ref": "#/definitions/AzureCredentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App credentials." + }, + "contextPath": { + "type": "string", + "description": "Context path" + }, + "githubPersonalAccessToken": { + "type": "string", + "description": "One time Github PAT to configure github environment" + }, + "image": { + "type": "string", + "description": "Image name" + }, + "os": { + "type": "string", + "description": "Operation system" + }, + "publishType": { + "type": "string", + "description": "Code or Image" + }, + "registryInfo": { + "oneOf": [ + { + "$ref": "#/definitions/RegistryInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App registry information." + }, + "runtimeStack": { + "type": "string", + "description": "Runtime stack" + }, + "runtimeVersion": { + "type": "string", + "description": "Runtime version" + } + }, + "description": "Configuration properties that define the mutable settings of a Container App SourceControl" + }, + "GlobalValidation": { + "type": "object", + "properties": { + "excludedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The paths for which unauthenticated flow would not be redirected to the login page." + }, + "redirectToProvider": { + "type": "string", + "description": "The default authentication provider to use when multiple providers are configured.\nThis setting is only needed if multiple providers are configured and the unauthenticated client\naction is set to \"RedirectToLoginPage\"." + }, + "unauthenticatedClientAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action to take when an unauthenticated client attempts to access the app." + } + }, + "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization." + }, + "Google": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Google provider should not be enabled despite the set registration; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/ClientRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for providers that have client ids and client secrets" + }, + "validation": { + "oneOf": [ + { + "$ref": "#/definitions/AllowedAudiencesValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Allowed Audiences validation flow." + } + }, + "description": "The configuration settings of the Google provider." + }, + "HttpScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the custom scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe http scale rule." + } + }, + "description": "Container App container Http scaling rule." + }, + "HttpSettings": { + "type": "object", + "properties": { + "forwardProxy": { + "oneOf": [ + { + "$ref": "#/definitions/ForwardProxy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of a forward proxy used to make the requests." + }, + "requireHttps": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true." + }, + "routes": { + "oneOf": [ + { + "$ref": "#/definitions/HttpSettingsRoutes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the paths HTTP requests." + } + }, + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization." + }, + "HttpSettingsRoutes": { + "type": "object", + "properties": { + "apiPrefix": { + "type": "string", + "description": "The prefix that should precede all the authentication/authorization paths." + } + }, + "description": "The configuration settings of the paths HTTP requests." + }, + "IdentityProviders": { + "type": "object", + "properties": { + "apple": { + "oneOf": [ + { + "$ref": "#/definitions/Apple" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Apple provider." + }, + "azureActiveDirectory": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectory" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active directory provider." + }, + "azureStaticWebApps": { + "oneOf": [ + { + "$ref": "#/definitions/AzureStaticWebApps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "customOpenIdConnectProviders": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomOpenIdConnectProvider" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The map of the name of the alias of each custom Open ID Connect provider to the\nconfiguration settings of the custom Open ID Connect provider." + }, + "facebook": { + "oneOf": [ + { + "$ref": "#/definitions/Facebook" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Facebook provider." + }, + "gitHub": { + "oneOf": [ + { + "$ref": "#/definitions/GitHub" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the GitHub provider." + }, + "google": { + "oneOf": [ + { + "$ref": "#/definitions/Google" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Google provider." + }, + "twitter": { + "oneOf": [ + { + "$ref": "#/definitions/Twitter" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Twitter provider." + } + }, + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization." + }, + "Ingress": { + "type": "object", + "properties": { + "allowInsecure": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections" + }, + "clientCertificateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ignore", + "accept", + "require" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require indicates server requires a client certificate." + }, + "corsPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/CorsPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cross-Origin-Resource-Sharing policy" + }, + "customDomains": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "custom domain bindings for Container Apps' hostnames." + }, + "exposedPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Exposed Port in containers for TCP traffic from ingress" + }, + "external": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bool indicating if app exposes an external http endpoint" + }, + "ipSecurityRestrictions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpSecurityRestrictionRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rules to restrict incoming IP address." + }, + "stickySessions": { + "oneOf": [ + { + "$ref": "#/definitions/IngressStickySessions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sticky Sessions for Single Revision Mode" + }, + "targetPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target Port in containers for traffic from ingress" + }, + "traffic": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrafficWeight" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Traffic weights for app's revisions" + }, + "transport": { + "oneOf": [ + { + "type": "string", + "enum": [ + "auto", + "http", + "http2", + "tcp" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ingress transport protocol." + } + }, + "description": "Container App Ingress configuration." + }, + "IngressStickySessions": { + "type": "object", + "properties": { + "affinity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "sticky", + "none" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sticky Session Affinity." + } + }, + "description": "Sticky Sessions for Single Revision Mode" + }, + "InitContainer": { + "type": "object", + "properties": { + "args": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command arguments." + }, + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command." + }, + "env": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container environment variables." + }, + "image": { + "type": "string", + "description": "Container image tag." + }, + "name": { + "type": "string", + "description": "Custom container name." + }, + "resources": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerResources" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container resource requirements." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container volume mounts." + } + }, + "description": "Container App init container definition" + }, + "IpSecurityRestrictionRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny." + }, + "description": { + "type": "string", + "description": "Describe the IP restriction rule that is being sent to the container-app. This is an optional field." + }, + "ipAddressRange": { + "type": "string", + "description": "CIDR notation to match incoming IP address" + }, + "name": { + "type": "string", + "description": "Name for the IP restriction rule." + } + }, + "required": [ + "action", + "ipAddressRange", + "name" + ], + "description": "Rule to restrict incoming IP address." + }, + "JobConfiguration": { + "type": "object", + "properties": { + "eventTriggerConfig": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfigurationEventTriggerConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trigger configuration of an event driven job." + }, + "manualTriggerConfig": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfigurationManualTriggerConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Manual trigger configuration for a single execution job. Properties replicaCompletionCount and parallelism would be set to 1 by default" + }, + "registries": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of private container registry credentials used by a Container apps job" + }, + "replicaRetryLimit": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of retries before failing the job." + }, + "replicaTimeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of seconds a replica is allowed to run." + }, + "scheduleTriggerConfig": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfigurationScheduleTriggerConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cron formatted repeating trigger schedule (\"* * * * *\") for cronjobs. Properties completions and parallelism would be set to 1 by default" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of secrets used by a Container Apps Job" + }, + "triggerType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Schedule", + "Event", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trigger type of the job." + } + }, + "required": [ + "replicaTimeout", + "triggerType" + ], + "description": "Non versioned Container Apps Job configuration properties" + }, + "JobConfigurationEventTriggerConfig": { + "type": "object", + "properties": { + "parallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of parallel replicas of a job that can run at a given time." + }, + "replicaCompletionCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of successful replica completions before overall job completion." + }, + "scale": { + "oneOf": [ + { + "$ref": "#/definitions/JobScale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling configurations for event driven jobs." + } + }, + "description": "Trigger configuration of an event driven job." + }, + "JobConfigurationManualTriggerConfig": { + "type": "object", + "properties": { + "parallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of parallel replicas of a job that can run at a given time." + }, + "replicaCompletionCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of successful replica completions before overall job completion." + } + }, + "description": "Manual trigger configuration for a single execution job. Properties replicaCompletionCount and parallelism would be set to 1 by default" + }, + "JobConfigurationScheduleTriggerConfig": { + "type": "object", + "properties": { + "cronExpression": { + "type": "string", + "description": "Cron formatted repeating schedule (\"* * * * *\") of a Cron Job." + }, + "parallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of parallel replicas of a job that can run at a given time." + }, + "replicaCompletionCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of successful replica completions before overall job completion." + } + }, + "required": [ + "cronExpression" + ], + "description": "Cron formatted repeating trigger schedule (\"* * * * *\") for cronjobs. Properties completions and parallelism would be set to 1 by default" + }, + "JobProperties": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Non versioned Container Apps Job configuration properties" + }, + "environmentId": { + "type": "string", + "description": "Resource ID of environment." + }, + "template": { + "oneOf": [ + { + "$ref": "#/definitions/JobTemplate" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to this section Will result in a new revision being created" + }, + "workloadProfileName": { + "type": "string", + "description": "Workload profile name for container apps to execute on." + } + }, + "description": "Container Apps Job resource specific properties." + }, + "JobScale": { + "type": "object", + "properties": { + "maxExecutions": { + "oneOf": [ + { + "type": "integer", + "default": "100" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of job executions that are created for a trigger, default 100." + }, + "minExecutions": { + "oneOf": [ + { + "type": "integer", + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of job executions that are created for a trigger, default 0" + }, + "pollingInterval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Interval to check each event source in seconds. Defaults to 30s" + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/JobScaleRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling rules." + } + }, + "description": "Scaling configurations for event driven jobs." + }, + "JobScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the scale rule." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "Metadata properties to describe the scale rule." + }, + "name": { + "type": "string", + "description": "Scale Rule Name" + }, + "type": { + "type": "string", + "description": "Type of the scale rule\neg: azure-servicebus, redis etc." + } + }, + "description": "Scaling rule." + }, + "JobTemplate": { + "type": "object", + "properties": { + "containers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of container definitions for the Container App." + }, + "initContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InitContainer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specialized containers that run before app containers." + }, + "volumes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of volume definitions for the Container App." + } + }, + "description": "Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to this section Will result in a new revision being created" + }, + "JwtClaimChecks": { + "type": "object", + "properties": { + "allowedClientApplications": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed client applications." + }, + "allowedGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed groups." + } + }, + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + }, + "KedaConfiguration": { + "type": "object", + "properties": {}, + "description": "Configuration properties Keda component" + }, + "LogAnalyticsConfiguration": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Log analytics customer id" + }, + "sharedKey": { + "type": "string", + "description": "Log analytics customer key" + } + }, + "description": "Log Analytics configuration, must only be provided when destination is configured as 'log-analytics'" + }, + "Login": { + "type": "object", + "properties": { + "allowedExternalRedirectUrls": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.\nThis is an advanced setting typically only needed by Windows Store application backends.\nNote that URLs within the current domain are always implicitly allowed." + }, + "cookieExpiration": { + "oneOf": [ + { + "$ref": "#/definitions/CookieExpiration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the session cookie's expiration." + }, + "nonce": { + "oneOf": [ + { + "$ref": "#/definitions/Nonce" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the nonce used in the login flow." + }, + "preserveUrlFragmentsForLogins": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "true if the fragments from the request are preserved after the login request is made; otherwise, false." + }, + "routes": { + "oneOf": [ + { + "$ref": "#/definitions/LoginRoutes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The routes that specify the endpoints used for login and logout requests." + } + }, + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization." + }, + "LoginRoutes": { + "type": "object", + "properties": { + "logoutEndpoint": { + "type": "string", + "description": "The endpoint at which a logout request should be made." + } + }, + "description": "The routes that specify the endpoints used for login and logout requests." + }, + "LoginScopes": { + "type": "object", + "properties": { + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of the scopes that should be requested while authenticating." + } + }, + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "ManagedCertificateProperties": { + "type": "object", + "properties": { + "domainControlValidation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CNAME", + "HTTP", + "TXT" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Selected type of domain control validation for managed certificates." + }, + "subjectName": { + "type": "string", + "description": "Subject name of the certificate." + } + }, + "description": "Certificate resource specific properties" + }, + "ManagedEnvironmentProperties": { + "type": "object", + "properties": { + "appLogsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/AppLogsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration of application logs" + }, + "customDomainConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for apps environment custom domain" + }, + "daprAIConnectionString": { + "type": "string", + "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry" + }, + "daprAIInstrumentationKey": { + "type": "string", + "description": "Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry" + }, + "daprConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/DaprConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties Dapr component" + }, + "infrastructureResourceGroup": { + "type": "string", + "description": "Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as the subnet." + }, + "kedaConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/KedaConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties Keda component" + }, + "peerAuthentication": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedEnvironmentPropertiesPeerAuthentication" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Peer authentication settings for the Managed Environment" + }, + "vnetConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for apps environment to join a Virtual Network" + }, + "workloadProfiles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadProfile" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload profiles configured for the Managed Environment." + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not this Managed Environment is zone-redundant." + } + }, + "description": "Managed environment resource specific properties" + }, + "ManagedEnvironmentPropertiesPeerAuthentication": { + "type": "object", + "properties": { + "mtls": { + "oneOf": [ + { + "$ref": "#/definitions/Mtls" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for mutual TLS authentication" + } + }, + "description": "Peer authentication settings for the Managed Environment" + }, + "ManagedEnvironmentStorageProperties": { + "type": "object", + "properties": { + "azureFile": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure File Properties." + } + }, + "description": "Storage properties" + }, + "managedEnvironments_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/certificates" + }, + "managedEnvironments_daprComponents_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/daprComponents" + }, + "managedEnvironments_managedCertificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Managed Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedCertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "managedCertificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/managedCertificates" + }, + "managedEnvironments_storages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/storages" + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "Mtls": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean indicating whether the mutual TLS authentication is enabled" + } + }, + "description": "Configuration properties for mutual TLS authentication" + }, + "Nonce": { + "type": "object", + "properties": { + "nonceExpirationInterval": { + "type": "string", + "description": "The time after the request is made when the nonce should expire." + }, + "validateNonce": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the nonce should not be validated while completing the login flow; otherwise, true." + } + }, + "description": "The configuration settings of the nonce used in the login flow." + }, + "OpenIdConnectClientCredential": { + "type": "object", + "properties": { + "clientSecretSettingName": { + "type": "string", + "description": "The app setting that contains the client secret for the custom Open ID Connect provider." + }, + "method": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ClientSecretPost" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The method that should be used to authenticate the user." + } + }, + "description": "The authentication client credentials of the custom Open ID Connect provider." + }, + "OpenIdConnectConfig": { + "type": "object", + "properties": { + "authorizationEndpoint": { + "type": "string", + "description": "The endpoint to be used to make an authorization request." + }, + "certificationUri": { + "type": "string", + "description": "The endpoint that provides the keys necessary to validate the token." + }, + "issuer": { + "type": "string", + "description": "The endpoint that issues the token." + }, + "tokenEndpoint": { + "type": "string", + "description": "The endpoint to be used to request a token." + }, + "wellKnownOpenIdConfiguration": { + "type": "string", + "description": "The endpoint that contains all the configuration endpoints for the provider." + } + }, + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + }, + "OpenIdConnectLogin": { + "type": "object", + "properties": { + "nameClaimType": { + "type": "string", + "description": "The name of the claim that contains the users name." + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of the scopes that should be requested while authenticating." + } + }, + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + }, + "OpenIdConnectRegistration": { + "type": "object", + "properties": { + "clientCredential": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectClientCredential" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The authentication client credentials of the custom Open ID Connect provider." + }, + "clientId": { + "type": "string", + "description": "The client id of the custom Open ID Connect provider." + }, + "openIdConnectConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + } + }, + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + }, + "QueueScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the queue scale rule." + }, + "queueLength": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Queue length." + }, + "queueName": { + "type": "string", + "description": "Queue name." + } + }, + "description": "Container App container Azure Queue based scaling rule." + }, + "RegistryCredentials": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system'" + }, + "passwordSecretRef": { + "type": "string", + "description": "The name of the Secret that contains the registry login password" + }, + "server": { + "type": "string", + "description": "Container Registry Server" + }, + "username": { + "type": "string", + "description": "Container Registry Username" + } + }, + "description": "Container App Private Registry" + }, + "RegistryInfo": { + "type": "object", + "properties": { + "registryPassword": { + "type": "string", + "description": "registry secret." + }, + "registryUrl": { + "type": "string", + "description": "registry server Url." + }, + "registryUserName": { + "type": "string", + "description": "registry username." + } + }, + "description": "Container App registry information." + }, + "Scale": { + "type": "object", + "properties": { + "maxReplicas": { + "oneOf": [ + { + "type": "integer", + "default": "10" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set." + }, + "minReplicas": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Minimum number of container replicas." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling rules." + } + }, + "description": "Container App scaling configurations." + }, + "ScaleRule": { + "type": "object", + "properties": { + "azureQueue": { + "oneOf": [ + { + "$ref": "#/definitions/QueueScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Azure Queue based scaling rule." + }, + "custom": { + "oneOf": [ + { + "$ref": "#/definitions/CustomScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Custom scaling rule." + }, + "http": { + "oneOf": [ + { + "$ref": "#/definitions/HttpScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Http scaling rule." + }, + "name": { + "type": "string", + "description": "Scale Rule Name" + }, + "tcp": { + "oneOf": [ + { + "$ref": "#/definitions/TcpScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Tcp scaling rule." + } + }, + "description": "Container App container scaling rule." + }, + "ScaleRuleAuth": { + "type": "object", + "properties": { + "secretRef": { + "type": "string", + "description": "Name of the secret from which to pull the auth params." + }, + "triggerParameter": { + "type": "string", + "description": "Trigger Parameter that uses the secret" + } + }, + "description": "Auth Secrets for Scale Rule" + }, + "Secret": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity." + }, + "keyVaultUrl": { + "type": "string", + "description": "Azure Key Vault URL pointing to the secret referenced by the container app." + }, + "name": { + "type": "string", + "description": "Secret Name." + }, + "value": { + "type": "string", + "description": "Secret Value." + } + }, + "description": "Secret definition." + }, + "SecretVolumeItem": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef." + }, + "secretRef": { + "type": "string", + "description": "Name of the Container App secret from which to pull the secret value." + } + }, + "description": "Secret to be added to volume." + }, + "Service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Dev ContainerApp service type" + } + }, + "required": [ + "type" + ], + "description": "Container App to be a dev service" + }, + "ServiceBind": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the service bind" + }, + "serviceId": { + "type": "string", + "description": "Resource id of the target service" + } + }, + "description": "Configuration to bind a ContainerApp to a dev ContainerApp Service" + }, + "SourceControlProperties": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "The branch which will trigger the auto deployment" + }, + "githubActionConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/GithubActionConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties that define the mutable settings of a Container App SourceControl" + }, + "repoUrl": { + "type": "string", + "description": "The repo url which will be integrated to ContainerApp." + } + }, + "description": "SourceControl resource specific properties" + }, + "TcpScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the tcp scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe tcp scale rule." + } + }, + "description": "Container App container Tcp scaling rule." + }, + "Template": { + "type": "object", + "properties": { + "containers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of container definitions for the Container App." + }, + "initContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InitContainer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specialized containers that run before app containers." + }, + "revisionSuffix": { + "type": "string", + "description": "User friendly suffix that is appended to the revision name" + }, + "scale": { + "oneOf": [ + { + "$ref": "#/definitions/Scale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App scaling configurations." + }, + "serviceBinds": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceBind" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of container app services bound to the app" + }, + "terminationGracePeriodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional duration in seconds the Container App Instance needs to terminate gracefully. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds." + }, + "volumes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of volume definitions for the Container App." + } + }, + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created" + }, + "TrafficWeight": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Associates a traffic label with a revision" + }, + "latestRevision": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates that the traffic weight belongs to a latest stable revision" + }, + "revisionName": { + "type": "string", + "description": "Name of a revision" + }, + "weight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Traffic weight assigned to a revision" + } + }, + "description": "Traffic weight assigned to a revision" + }, + "Twitter": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Twitter provider should not be enabled despite the set registration; otherwise, true." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/TwitterRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for the Twitter provider." + } + }, + "description": "The configuration settings of the Twitter provider." + }, + "TwitterRegistration": { + "type": "object", + "properties": { + "consumerKey": { + "type": "string", + "description": "The OAuth 1.0a consumer key of the Twitter application used for sign-in.\nThis setting is required for enabling Twitter Sign-In.\nTwitter Sign-In documentation: https://dev.twitter.com/web/sign-in" + }, + "consumerSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in." + } + }, + "description": "The configuration settings of the app registration for the Twitter provider." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + }, + "VnetConfiguration": { + "type": "object", + "properties": { + "dockerBridgeCidr": { + "type": "string", + "description": "CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other provided IP ranges." + }, + "infrastructureSubnetId": { + "type": "string", + "description": "Resource ID of a subnet for infrastructure components. Must not overlap with any other provided IP ranges." + }, + "internal": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource. They must provide infrastructureSubnetId if enabling this property" + }, + "platformReservedCidr": { + "type": "string", + "description": "IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must not overlap with any other provided IP ranges." + }, + "platformReservedDnsIP": { + "type": "string", + "description": " An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server." + } + }, + "description": "Configuration properties for apps environment to join a Virtual Network" + }, + "Volume": { + "type": "object", + "properties": { + "mountOptions": { + "type": "string", + "description": "Mount options used while mounting the AzureFile. Must be a comma-separated string." + }, + "name": { + "type": "string", + "description": "Volume name." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SecretVolumeItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to volume." + }, + "storageName": { + "type": "string", + "description": "Name of storage resource. No need to provide for EmptyDir and Secret." + }, + "storageType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureFile", + "EmptyDir", + "Secret" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type for the volume. If not provided, use EmptyDir." + } + }, + "description": "Volume definitions for the Container App." + }, + "VolumeMount": { + "type": "object", + "properties": { + "mountPath": { + "type": "string", + "description": "Path within the container at which the volume should be mounted.Must not contain ':'." + }, + "subPath": { + "type": "string", + "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + }, + "volumeName": { + "type": "string", + "description": "This must match the Name of a Volume." + } + }, + "description": "Volume mount for the Container App." + }, + "WorkloadProfile": { + "type": "object", + "properties": { + "maximumCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum capacity." + }, + "minimumCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum capacity." + }, + "name": { + "type": "string", + "description": "Workload profile name for container apps to execute on." + }, + "workloadProfileType": { + "type": "string", + "description": "Workload profile type for container apps to execute on." + } + }, + "required": [ + "name", + "workloadProfileType" + ], + "description": "Workload profile to scope container app execution." + } + } +} \ No newline at end of file diff --git a/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json b/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json new file mode 100644 index 0000000000..906dd90d1a --- /dev/null +++ b/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json @@ -0,0 +1,2963 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ContainerRegistry", + "description": "Microsoft ContainerRegistry Resource Types", + "resourceDefinitions": { + "registries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the container registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a container registry." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/registries_cacheRules_childResource" + }, + { + "$ref": "#/definitions/registries_connectedRegistries_childResource" + }, + { + "$ref": "#/definitions/registries_credentialSets_childResource" + }, + { + "$ref": "#/definitions/registries_exportPipelines_childResource" + }, + { + "$ref": "#/definitions/registries_importPipelines_childResource" + }, + { + "$ref": "#/definitions/registries_pipelineRuns_childResource" + }, + { + "$ref": "#/definitions/registries_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/registries_replications_childResource" + }, + { + "$ref": "#/definitions/registries_scopeMaps_childResource" + }, + { + "$ref": "#/definitions/registries_tokens_childResource" + }, + { + "$ref": "#/definitions/registries_webhooks_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU of a container registry." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries" + }, + "registries_cacheRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the cache rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CacheRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a cache rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/cacheRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/cacheRules" + }, + "registries_connectedRegistries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the connected registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedRegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a connected registry." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/connectedRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/connectedRegistries" + }, + "registries_credentialSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the credential set." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CredentialSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a credential set resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/credentialSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/credentialSets" + }, + "registries_exportPipelines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the export pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the export pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an export pipeline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/exportPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/exportPipelines" + }, + "registries_importPipelines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the import pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the import pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an import pipeline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/importPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/importPipelines" + }, + "registries_packages_archives": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 200 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the archive resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ArchiveProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a archive." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/registries_packages_archives_versions_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/packages/archives" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/packages/archives" + }, + "registries_packages_archives_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 200 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the archive version resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/packages/archives/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/packages/archives/versions" + }, + "registries_pipelineRuns": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the pipeline run." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a pipeline run." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/pipelineRuns" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/pipelineRuns" + }, + "registries_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/privateEndpointConnections" + }, + "registries_replications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the replication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a replication." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/replications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/replications" + }, + "registries_scopeMaps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-_]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the scope map." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopeMapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a scope map." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/scopeMaps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/scopeMaps" + }, + "registries_tokens": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the token." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TokenProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a token." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/tokens" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/tokens" + }, + "registries_webhooks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the webhook. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the webhook." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WebhookPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters for creating the properties of a webhook." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the webhook." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/webhooks" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/webhooks" + } + }, + "definitions": { + "ArchivePackageSourceProperties": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "remote" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of package source for a archive." + }, + "url": { + "type": "string", + "description": "The external repository url." + } + }, + "description": "The properties of the archive package source." + }, + "ArchiveProperties": { + "type": "object", + "properties": { + "packageSource": { + "oneOf": [ + { + "$ref": "#/definitions/ArchivePackageSourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the archive package source." + }, + "publishedVersion": { + "type": "string", + "description": "The published version of the archive." + }, + "repositoryEndpointPrefix": { + "type": "string" + } + }, + "description": "The properties of a archive." + }, + "AuthCredential": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Credential1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the credential." + }, + "passwordSecretIdentifier": { + "type": "string", + "description": "KeyVault Secret URI for accessing the password." + }, + "usernameSecretIdentifier": { + "type": "string", + "description": "KeyVault Secret URI for accessing the username." + } + }, + "description": "Authentication credential stored for an upstream." + }, + "AzureADAuthenticationAsArmPolicy": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + } + }, + "description": "The policy for using ARM audience token for a container registry." + }, + "CacheRuleProperties": { + "type": "object", + "properties": { + "credentialSetResourceId": { + "type": "string", + "description": "The ARM resource ID of the credential store which is associated with the cache rule." + }, + "sourceRepository": { + "type": "string", + "description": "Source repository pulled from upstream." + }, + "targetRepository": { + "type": "string", + "description": "Target repository specified in docker pull command.\r\nEg: docker pull myregistry.azurecr.io/{targetRepository}:{tag}" + } + }, + "description": "The properties of a cache rule." + }, + "ConnectedRegistryProperties": { + "type": "object", + "properties": { + "clientTokenIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry." + }, + "logging": { + "oneOf": [ + { + "$ref": "#/definitions/LoggingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The logging properties of the connected registry." + }, + "loginServer": { + "oneOf": [ + { + "$ref": "#/definitions/LoginServerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The login server properties of the connected registry." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ReadWrite", + "ReadOnly", + "Registry", + "Mirror" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The mode of the connected registry resource that indicates the permissions of the registry." + }, + "notificationsList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of notifications subscription information for the connected registry." + }, + "parent": { + "oneOf": [ + { + "$ref": "#/definitions/ParentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the connected registry parent." + } + }, + "required": [ + "mode", + "parent" + ], + "description": "The properties of a connected registry." + }, + "CredentialSetProperties": { + "type": "object", + "properties": { + "authCredentials": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AuthCredential" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of authentication credentials stored for an upstream.\r\nUsually consists of a primary and an optional secondary credential." + }, + "loginServer": { + "type": "string", + "description": "The credentials are stored for this upstream or login server." + } + }, + "description": "The properties of a credential set resource." + }, + "EncryptionProperty": { + "type": "object", + "properties": { + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not the encryption is enabled for container registry." + } + } + }, + "ExportPipelineProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of all options configured for the pipeline." + }, + "target": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPipelineTargetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the export pipeline target." + } + }, + "required": [ + "target" + ], + "description": "The properties of an export pipeline." + }, + "ExportPipelineTargetProperties": { + "type": "object", + "properties": { + "keyVaultUri": { + "type": "string", + "description": "They key vault secret uri to obtain the target storage SAS token." + }, + "type": { + "type": "string", + "description": "The type of target for the export pipeline." + }, + "uri": { + "type": "string", + "description": "The target uri of the export pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"" + } + }, + "required": [ + "keyVaultUri" + ], + "description": "The properties of the export pipeline target." + }, + "ExportPolicy": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + } + }, + "description": "The export policy for a container registry." + }, + "IdentityProperties": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentityProperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Managed identity for the resource." + }, + "ImportPipelineProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of all options configured for the pipeline." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/ImportPipelineSourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the import pipeline source." + }, + "trigger": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineTriggerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "source" + ], + "description": "The properties of an import pipeline." + }, + "ImportPipelineSourceProperties": { + "type": "object", + "properties": { + "keyVaultUri": { + "type": "string", + "description": "They key vault secret uri to obtain the source storage SAS token." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureStorageBlobContainer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of source for the import pipeline." + }, + "uri": { + "type": "string", + "description": "The source uri of the import pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"" + } + }, + "required": [ + "keyVaultUri" + ], + "description": "The properties of the import pipeline source." + }, + "IPRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action of IP ACL rule." + }, + "value": { + "type": "string", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + } + }, + "required": [ + "value" + ], + "description": "IP rule with specific IP or IP range in CIDR format." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The client id of the identity which will be used to access key vault." + }, + "keyIdentifier": { + "type": "string", + "description": "Key vault uri to access the encryption key." + } + } + }, + "LoggingProperties": { + "type": "object", + "properties": { + "auditLogStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether audit logs are enabled on the connected registry." + }, + "logLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Debug", + "Information", + "Warning", + "Error", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The verbosity of logs persisted on the connected registry." + } + }, + "description": "The logging properties of the connected registry." + }, + "LoginServerProperties": { + "type": "object", + "properties": {}, + "description": "The login server properties of the connected registry." + }, + "NetworkRuleSet": { + "type": "object", + "properties": { + "defaultAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default action of allow or deny when no other rules match." + }, + "ipRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP ACL rules." + } + }, + "required": [ + "defaultAction" + ], + "description": "The network rule set for a container registry." + }, + "ParentProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The resource ID of the parent to which the connected registry will be associated." + }, + "syncProperties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sync properties of the connected registry with its parent." + } + }, + "required": [ + "syncProperties" + ], + "description": "The properties of the connected registry parent." + }, + "PipelineRunProperties": { + "type": "object", + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the pipeline run should be forced to recreate even if the pipeline run configuration has not changed." + }, + "request": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunRequest" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The request properties provided for a pipeline run." + } + }, + "description": "The properties of a pipeline run." + }, + "PipelineRunRequest": { + "type": "object", + "properties": { + "artifacts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source artifacts to be transferred by the pipeline. \r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123')." + }, + "catalogDigest": { + "type": "string", + "description": "The digest of the tar used to transfer the artifacts." + }, + "pipelineResourceId": { + "type": "string", + "description": "The resource ID of the pipeline to run." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunSourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "target": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunTargetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "The request properties provided for a pipeline run." + }, + "PipelineRunSourceProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the source." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureStorageBlob" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the source." + } + } + }, + "PipelineRunTargetProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the target." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureStorageBlob" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the target." + } + } + }, + "PipelineSourceTriggerProperties": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The current status of the source trigger." + } + }, + "required": [ + "status" + ] + }, + "PipelineTriggerProperties": { + "type": "object", + "properties": { + "sourceTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineSourceTriggerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "Policies": { + "type": "object", + "properties": { + "azureADAuthenticationAsArmPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AzureADAuthenticationAsArmPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy for using ARM audience token for a container registry." + }, + "exportPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The export policy for a container registry." + }, + "quarantinePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/QuarantinePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The quarantine policy for a container registry." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The retention policy for a container registry." + }, + "softDeletePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SoftDeletePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The soft delete policy for a container registry" + }, + "trustPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/TrustPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The content trust policy for a container registry." + } + }, + "description": "The policies for a container registry." + }, + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This is private endpoint resource created with Microsoft.Network resource provider." + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private Endpoint resource." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link service connection." + } + }, + "description": "The properties of a private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Recreate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private link service connection status." + } + }, + "description": "The state of a private link service connection." + }, + "QuarantinePolicy": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + } + }, + "description": "The quarantine policy for a container registry." + }, + "registries_cacheRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the cache rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CacheRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a cache rule." + }, + "type": { + "type": "string", + "enum": [ + "cacheRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/cacheRules" + }, + "registries_connectedRegistries_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the connected registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedRegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a connected registry." + }, + "type": { + "type": "string", + "enum": [ + "connectedRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/connectedRegistries" + }, + "registries_credentialSets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the credential set." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CredentialSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a credential set resource." + }, + "type": { + "type": "string", + "enum": [ + "credentialSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/credentialSets" + }, + "registries_exportPipelines_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the export pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the export pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an export pipeline." + }, + "type": { + "type": "string", + "enum": [ + "exportPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/exportPipelines" + }, + "registries_importPipelines_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the import pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the import pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an import pipeline." + }, + "type": { + "type": "string", + "enum": [ + "importPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/importPipelines" + }, + "registries_packages_archives_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 200 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the archive version resource." + }, + "type": { + "type": "string", + "enum": [ + "versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/packages/archives/versions" + }, + "registries_pipelineRuns_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the pipeline run." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a pipeline run." + }, + "type": { + "type": "string", + "enum": [ + "pipelineRuns" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/pipelineRuns" + }, + "registries_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/privateEndpointConnections" + }, + "registries_replications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the replication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a replication." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "replications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/replications" + }, + "registries_scopeMaps_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-_]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the scope map." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopeMapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a scope map." + }, + "type": { + "type": "string", + "enum": [ + "scopeMaps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/scopeMaps" + }, + "registries_tokens_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the token." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TokenProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a token." + }, + "type": { + "type": "string", + "enum": [ + "tokens" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/tokens" + }, + "registries_webhooks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the webhook. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the webhook." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WebhookPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters for creating the properties of a webhook." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the webhook." + }, + "type": { + "type": "string", + "enum": [ + "webhooks" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/webhooks" + }, + "RegistryProperties": { + "type": "object", + "properties": { + "adminUserEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the admin user is enabled." + }, + "anonymousPullEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables registry-wide pull from unauthenticated clients." + }, + "dataEndpointEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable a single data endpoint per region for serving data." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "networkRuleBypassOptions": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureServices", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to allow trusted Azure services to access a network restricted registry." + }, + "networkRuleSet": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkRuleSet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network rule set for a container registry." + }, + "policies": { + "oneOf": [ + { + "$ref": "#/definitions/Policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policies for a container registry." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not public network access is allowed for the container registry." + }, + "zoneRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not zone redundancy is enabled for this container registry." + } + }, + "description": "The properties of a container registry." + }, + "ReplicationProperties": { + "type": "object", + "properties": { + "regionEndpointEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications." + }, + "zoneRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not zone redundancy is enabled for this container registry replication." + } + }, + "description": "The properties of a replication." + }, + "RetentionPolicy": { + "type": "object", + "properties": { + "days": { + "oneOf": [ + { + "type": "integer", + "default": "7" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of days to retain an untagged manifest after which it gets purged." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + } + }, + "description": "The retention policy for a container registry." + }, + "ScopeMapProperties": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/content/read,\r\nrepositories/repository-name/metadata/write" + }, + "description": { + "type": "string", + "description": "The user friendly description of the scope map." + } + }, + "required": [ + "actions" + ], + "description": "The properties of a scope map." + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Classic", + "Basic", + "Standard", + "Premium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU name of the container registry. Required for registry creation." + } + }, + "required": [ + "name" + ], + "description": "The SKU of a container registry." + }, + "SoftDeletePolicy": { + "type": "object", + "properties": { + "retentionDays": { + "oneOf": [ + { + "type": "integer", + "default": "7" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of days after which a soft-deleted item is permanently deleted." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + } + }, + "description": "The soft delete policy for a container registry" + }, + "SyncProperties": { + "type": "object", + "properties": { + "messageTtl": { + "type": "string", + "format": "duration", + "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601." + }, + "schedule": { + "type": "string", + "description": "The cron expression indicating the schedule that the connected registry will sync with its parent." + }, + "syncWindow": { + "type": "string", + "format": "duration", + "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601." + }, + "tokenId": { + "type": "string", + "description": "The resource ID of the ACR token used to authenticate the connected registry to its parent during sync." + } + }, + "required": [ + "messageTtl", + "tokenId" + ], + "description": "The sync properties of the connected registry with its parent." + }, + "TokenCertificate": { + "type": "object", + "properties": { + "encodedPemCertificate": { + "type": "string", + "description": "Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token." + }, + "expiry": { + "type": "string", + "format": "date-time", + "description": "The expiry datetime of the certificate." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "certificate1", + "certificate2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "thumbprint": { + "type": "string", + "description": "The thumbprint of the certificate." + } + }, + "description": "The properties of a certificate used for authenticating a token." + }, + "TokenCredentialsProperties": { + "type": "object", + "properties": { + "certificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TokenCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "passwords": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TokenPassword" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "The properties of the credentials that can be used for authenticating the token." + }, + "TokenPassword": { + "type": "object", + "properties": { + "creationTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime of the password." + }, + "expiry": { + "type": "string", + "format": "date-time", + "description": "The expiry datetime of the password." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "password1", + "password2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The password name \"password1\" or \"password2\"." + } + }, + "description": "The password that will be used for authenticating the token of a container registry." + }, + "TokenProperties": { + "type": "object", + "properties": { + "credentials": { + "oneOf": [ + { + "$ref": "#/definitions/TokenCredentialsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the credentials that can be used for authenticating the token." + }, + "scopeMapId": { + "type": "string", + "description": "The resource ID of the scope map to which the token will be associated with." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of the token example enabled or disabled." + } + }, + "description": "The properties of a token." + }, + "TrustPolicy": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Notary" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of trust policy." + } + }, + "description": "The content trust policy for a container registry." + }, + "UserIdentityProperties": { + "type": "object", + "properties": {} + }, + "WebhookPropertiesCreateParameters": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of actions that trigger the webhook to post notifications." + }, + "customHeaders": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom headers that will be added to the webhook notifications." + }, + "scope": { + "type": "string", + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events." + }, + "serviceUri": { + "type": "string", + "description": "The service URI for the webhook to post notifications." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of the webhook at the time the operation was called." + } + }, + "required": [ + "actions", + "serviceUri" + ], + "description": "The parameters for creating the properties of a webhook." + } + } +} \ No newline at end of file diff --git a/schemas/2023-06-01-preview/Microsoft.MachineLearningServices.json b/schemas/2023-06-01-preview/Microsoft.MachineLearningServices.json index 949dfe7dbc..954dc89387 100644 --- a/schemas/2023-06-01-preview/Microsoft.MachineLearningServices.json +++ b/schemas/2023-06-01-preview/Microsoft.MachineLearningServices.json @@ -9766,37 +9766,37 @@ "type": "string", "description": "MLFlow Registry URI for the Registry" }, - "publicNetworkAccess": { - "type": "string", - "description": "Is the Registry accessible from the internet?\r\nPossible values: \"Enabled\" or \"Disabled\"" - }, - "regionDetails": { + "privateEndpointConnections": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RegistryRegionArmDetails" + "$ref": "#/definitions/RegistryPrivateEndpointConnection" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Details of each region the registry is in" + "description": "Private endpoint connections info used for pending connections in private link portal" }, - "registryPrivateEndpointConnections": { + "publicNetworkAccess": { + "type": "string", + "description": "Is the Registry accessible from the internet?\r\nPossible values: \"Enabled\" or \"Disabled\"" + }, + "regionDetails": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RegistryPrivateEndpointConnection" + "$ref": "#/definitions/RegistryRegionArmDetails" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Private endpoint connections info used for pending connections in private link portal" + "description": "Details of each region the registry is in" } }, "description": "Details of the Registry" @@ -9806,7 +9806,7 @@ "properties": { "id": { "type": "string", - "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName}" + "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName}" }, "location": { "type": "string", @@ -9854,11 +9854,7 @@ ], "description": "The PE network resource that is linked to this PE connection." }, - "provisioningState": { - "type": "string", - "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." - }, - "registryPrivateLinkServiceConnectionState": { + "privateLinkServiceConnectionState": { "oneOf": [ { "$ref": "#/definitions/RegistryPrivateLinkServiceConnectionState" @@ -9868,6 +9864,10 @@ } ], "description": "The connection state." + }, + "provisioningState": { + "type": "string", + "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." } }, "description": "Properties of the Private Endpoint Connection" diff --git a/schemas/2023-06-01/Microsoft.Maps.json b/schemas/2023-06-01/Microsoft.Maps.json new file mode 100644 index 0000000000..fee7ff1df0 --- /dev/null +++ b/schemas/2023-06-01/Microsoft.Maps.json @@ -0,0 +1,603 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.Maps.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Maps", + "description": "Microsoft Maps Resource Types", + "resourceDefinitions": { + "accounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Gen1", + "Gen2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Get or Set Kind property." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Maps Account." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MapsAccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional Map account properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/accounts_creators_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU of the Maps Account." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Maps/accounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Maps/accounts" + }, + "accounts_creators": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Maps Creator instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreatorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Creator resource properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Maps/accounts/creators" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Maps/accounts/creators" + } + }, + "definitions": { + "accounts_creators_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Maps Creator instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreatorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Creator resource properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "creators" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Maps/accounts/creators" + }, + "CorsRule": { + "type": "object", + "properties": { + "allowedOrigins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or \"*\" to allow all domains" + } + }, + "required": [ + "allowedOrigins" + ], + "description": "Specifies a CORS rule for the Map Account." + }, + "CorsRules": { + "type": "object", + "properties": { + "corsRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of CORS rules. You can include up to five CorsRule elements in the request. " + } + }, + "description": "Sets the CORS rules. You can include up to five CorsRule elements in the request. " + }, + "CreatorProperties": { + "type": "object", + "properties": { + "storageUnits": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage units to be allocated. Integer values from 1 to 100, inclusive." + } + }, + "required": [ + "storageUnits" + ], + "description": "Creator resource properties" + }, + "CustomerManagedKeyEncryption": { + "type": "object", + "properties": { + "keyEncryptionKeyIdentity": { + "oneOf": [ + { + "$ref": "#/definitions/CustomerManagedKeyEncryptionKeyEncryptionKeyIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault." + }, + "keyEncryptionKeyUrl": { + "type": "string", + "description": "key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek." + } + }, + "description": "All Customer-managed key encryption properties for the resource." + }, + "CustomerManagedKeyEncryptionKeyEncryptionKeyIdentity": { + "type": "object", + "properties": { + "delegatedIdentityClientId": { + "oneOf": [ + { + "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": "delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only." + }, + "identityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "systemAssignedIdentity", + "userAssignedIdentity", + "delegatedResourceIdentity" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Values can be systemAssignedIdentity or userAssignedIdentity." + }, + "userAssignedIdentityResourceId": { + "type": "string", + "format": "arm-id", + "description": "user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity." + } + }, + "description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault." + }, + "Encryption": { + "type": "object", + "properties": { + "customerManagedKeyEncryption": { + "oneOf": [ + { + "$ref": "#/definitions/CustomerManagedKeyEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "All Customer-managed key encryption properties for the resource." + }, + "infrastructureEncryption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Values are enabled and disabled." + } + }, + "description": "(Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled." + }, + "LinkedResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'." + }, + "uniqueName": { + "type": "string", + "description": "A provided name which uniquely identifies the linked resource." + } + }, + "required": [ + "id", + "uniqueName" + ], + "description": "Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs." + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "MapsAccountProperties": { + "type": "object", + "properties": { + "cors": { + "oneOf": [ + { + "$ref": "#/definitions/CorsRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sets the CORS rules. You can include up to five CorsRule elements in the request. " + }, + "disableLocalAuth": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "(Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled." + }, + "linkedResources": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LinkedResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s)." + } + }, + "description": "Additional Map account properties" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "S0", + "S1", + "G2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the SKU, in standard format (such as S0)." + } + }, + "required": [ + "name" + ], + "description": "The SKU of the Maps Account." + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + } + } +} \ No newline at end of file diff --git a/schemas/2023-06-07/Microsoft.LabServices.json b/schemas/2023-06-07/Microsoft.LabServices.json new file mode 100644 index 0000000000..ad121a1d50 --- /dev/null +++ b/schemas/2023-06-07/Microsoft.LabServices.json @@ -0,0 +1,1268 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-06-07/Microsoft.LabServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.LabServices", + "description": "Microsoft LabServices Resource Types", + "resourceDefinitions": { + "labPlans": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-07" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "The name of the lab plan that uniquely identifies it within containing resource group. Used in resource URIs and in UI." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LabPlanProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Lab plan resource properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/labPlans_images_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labPlans" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labPlans" + }, + "labPlans_images": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-07" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The image name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an image resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labPlans/images" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labPlans/images" + }, + "labs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-07" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "The name of the lab that uniquely identifies it within containing lab plan. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LabProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a lab resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/labs_schedules_childResource" + }, + { + "$ref": "#/definitions/labs_users_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labs" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs" + }, + "labs_schedules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-07" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule resource properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labs/schedules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs/schedules" + }, + "labs_users": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-07" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/UserProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User resource properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labs/users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs/users" + } + }, + "definitions": { + "AutoShutdownProfile": { + "type": "object", + "properties": { + "disconnectDelay": { + "type": "string", + "format": "duration", + "description": "The amount of time a VM will stay running after a user disconnects if this behavior is enabled." + }, + "idleDelay": { + "type": "string", + "format": "duration", + "description": "The amount of time a VM will idle before it is shutdown if this behavior is enabled." + }, + "noConnectDelay": { + "type": "string", + "format": "duration", + "description": "The amount of time a VM will stay running before it is shutdown if no connection is made and this behavior is enabled." + }, + "shutdownOnDisconnect": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether shutdown on disconnect is enabled." + }, + "shutdownOnIdle": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "UserAbsence", + "LowUsage" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a VM will get shutdown when it has idled for a period of time." + }, + "shutdownWhenNotConnected": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a VM will get shutdown when it hasn't been connected to after a period of time." + } + }, + "description": "Profile for how to handle shutting down virtual machines." + }, + "ConnectionProfile": { + "type": "object", + "properties": { + "clientRdpAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The enabled access level for Client Access over RDP." + }, + "clientSshAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The enabled access level for Client Access over SSH." + }, + "webRdpAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The enabled access level for Web Access over RDP." + }, + "webSshAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The enabled access level for Web Access over SSH." + } + }, + "description": "Connection profile for how users connect to lab virtual machines." + }, + "Credentials": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "The password for the user. This is required for the TemplateVM createOption." + }, + "username": { + "type": "string", + "description": "The username to use when signing in to lab VMs." + } + }, + "required": [ + "username" + ], + "description": "Credentials for a user on a lab VM." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + } + }, + "description": "Identity for the resource." + }, + "ImageProperties": { + "type": "object", + "properties": { + "availableRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The available regions of the image in the shared gallery." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is the image enabled." + } + }, + "description": "Properties of an image resource." + }, + "ImageReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "offer": { + "type": "string", + "description": "The image offer if applicable." + }, + "publisher": { + "type": "string", + "description": "The image publisher" + }, + "sku": { + "type": "string", + "description": "The image SKU" + }, + "version": { + "type": "string", + "description": "The image version specified on creation." + } + }, + "description": "Image reference information. Used in the virtual machine profile." + }, + "LabNetworkProfile": { + "type": "object", + "properties": { + "loadBalancerId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "publicIpId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "subnetId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + } + }, + "description": "Profile for how to handle networking for Labs." + }, + "LabPlanNetworkProfile": { + "type": "object", + "properties": { + "subnetId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + } + }, + "description": "Profile for how to handle networking for Lab Plans." + }, + "LabPlanProperties": { + "type": "object", + "properties": { + "allowedRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The allowed regions for the lab creator to use when creating labs using this lab plan." + }, + "defaultAutoShutdownProfile": { + "oneOf": [ + { + "$ref": "#/definitions/AutoShutdownProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for how to handle shutting down virtual machines." + }, + "defaultConnectionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection profile for how users connect to lab virtual machines." + }, + "defaultNetworkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/LabPlanNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for how to handle networking for Lab Plans." + }, + "linkedLmsInstance": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "sharedGalleryId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "supportInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SupportInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Support contact information and instructions." + } + }, + "description": "Lab plan resource properties" + }, + "labPlans_images_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-07" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The image name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an image resource." + }, + "type": { + "type": "string", + "enum": [ + "images" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labPlans/images" + }, + "LabProperties": { + "type": "object", + "properties": { + "autoShutdownProfile": { + "oneOf": [ + { + "$ref": "#/definitions/AutoShutdownProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for how to handle shutting down virtual machines." + }, + "connectionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection profile for how users connect to lab virtual machines." + }, + "description": { + "type": "string", + "description": "The description of the lab." + }, + "labPlanId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/LabNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for how to handle networking for Labs." + }, + "rosterProfile": { + "oneOf": [ + { + "$ref": "#/definitions/RosterProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lab user list management profile." + }, + "securityProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lab security profile." + }, + "title": { + "type": "string", + "minLength": 1, + "maxLength": 120, + "description": "The title of the lab." + }, + "virtualMachineProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base virtual machine configuration for a lab." + } + }, + "description": "Properties of a lab resource." + }, + "labs_schedules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-07" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule resource properties" + }, + "type": { + "type": "string", + "enum": [ + "schedules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs/schedules" + }, + "labs_users_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-07" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/UserProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User resource properties" + }, + "type": { + "type": "string", + "enum": [ + "users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs/users" + }, + "RecurrencePattern": { + "type": "object", + "properties": { + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "When the recurrence will expire. This date is inclusive." + }, + "frequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The frequency of the recurrence." + }, + "interval": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 365 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The interval to invoke the schedule on. For example, interval = 2 and RecurrenceFrequency.Daily will run every 2 days. When no interval is supplied, an interval of 1 is used." + }, + "weekDays": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The week days the schedule runs. Used for when the Frequency is set to Weekly." + } + }, + "required": [ + "expirationDate", + "frequency" + ], + "description": "Recurrence pattern of a lab schedule." + }, + "RosterProfile": { + "type": "object", + "properties": { + "activeDirectoryGroupId": { + "type": "string", + "description": "The AAD group ID which this lab roster is populated from. Having this set enables AAD sync mode." + }, + "lmsInstance": { + "type": "string", + "description": "The base URI identifying the lms instance." + }, + "ltiClientId": { + "type": "string", + "description": "The unique id of the azure lab services tool in the lms." + }, + "ltiContextId": { + "type": "string", + "description": "The unique context identifier for the lab in the lms." + }, + "ltiRosterEndpoint": { + "type": "string", + "description": "The uri of the names and roles service endpoint on the lms for the class attached to this lab." + } + }, + "description": "The lab user list management profile." + }, + "ScheduleProperties": { + "type": "object", + "properties": { + "notes": { + "type": "string", + "maxLength": 1000, + "description": "Notes for this schedule." + }, + "recurrencePattern": { + "oneOf": [ + { + "$ref": "#/definitions/RecurrencePattern" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recurrence pattern of a lab schedule." + }, + "startAt": { + "type": "string", + "format": "date-time", + "description": "When lab user virtual machines will be started. Timestamp offsets will be ignored and timeZoneId is used instead." + }, + "stopAt": { + "type": "string", + "format": "date-time", + "description": "When lab user virtual machines will be stopped. Timestamp offsets will be ignored and timeZoneId is used instead." + }, + "timeZoneId": { + "type": "string", + "maxLength": 50, + "description": "The IANA timezone id for the schedule." + } + }, + "description": "Schedule resource properties" + }, + "SecurityProfile": { + "type": "object", + "properties": { + "openAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether any user or only specified users can register to a lab." + } + }, + "description": "The lab security profile." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "name": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + } + }, + "required": [ + "name" + ], + "description": "The resource model definition representing SKU" + }, + "SupportInfo": { + "type": "object", + "properties": { + "email": { + "type": "string", + "minLength": 6, + "maxLength": 254, + "description": "An email address." + }, + "instructions": { + "type": "string", + "description": "Support instructions." + }, + "phone": { + "type": "string", + "minLength": 1, + "maxLength": 31, + "description": "A phone number." + }, + "url": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + } + }, + "description": "Support contact information and instructions." + }, + "UserProperties": { + "type": "object", + "properties": { + "additionalUsageQuota": { + "type": "string", + "format": "duration", + "description": "The amount of usage quota time the user gets in addition to the lab usage quota." + }, + "email": { + "type": "string", + "minLength": 6, + "maxLength": 254, + "description": "An email address." + } + }, + "required": [ + "email" + ], + "description": "User resource properties" + }, + "VirtualMachineAdditionalCapabilities": { + "type": "object", + "properties": { + "installGpuDrivers": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to pre-install dedicated GPU drivers." + } + }, + "description": "The additional capabilities for a lab VM." + }, + "VirtualMachineProfile": { + "type": "object", + "properties": { + "additionalCapabilities": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineAdditionalCapabilities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The additional capabilities for a lab VM." + }, + "adminUser": { + "oneOf": [ + { + "$ref": "#/definitions/Credentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Credentials for a user on a lab VM." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Image", + "TemplateVM" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates what lab virtual machines are created from." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Image reference information. Used in the virtual machine profile." + }, + "nonAdminUser": { + "oneOf": [ + { + "$ref": "#/definitions/Credentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Credentials for a user on a lab VM." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource model definition representing SKU" + }, + "usageQuota": { + "type": "string", + "format": "duration", + "description": "The initial quota alloted to each lab user. Must be a time span between 0 and 9999 hours." + }, + "useSharedPassword": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabling this option will use the same password for all user VMs." + } + }, + "required": [ + "adminUser", + "createOption", + "imageReference", + "sku", + "usageQuota" + ], + "description": "The base virtual machine configuration for a lab." + } + } +} \ No newline at end of file diff --git a/schemas/2023-07-01-preview/Microsoft.ContainerStorage.json b/schemas/2023-07-01-preview/Microsoft.ContainerStorage.json new file mode 100644 index 0000000000..64fde233fd --- /dev/null +++ b/schemas/2023-07-01-preview/Microsoft.ContainerStorage.json @@ -0,0 +1,727 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ContainerStorage.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ContainerStorage", + "description": "Microsoft ContainerStorage Resource Types", + "resourceDefinitions": { + "pools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 253 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool Object" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool Properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/pools_snapshots_childResource" + }, + { + "$ref": "#/definitions/pools_volumes_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerStorage/pools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools" + }, + "pools_snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 253 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerStorage/pools/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/snapshots" + }, + "pools_volumes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 253 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerStorage/pools/volumes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumes" + } + }, + "definitions": { + "Assignment": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an ARM resource." + } + }, + "required": [ + "id" + ], + "description": "Assignment Properties" + }, + "AzureDisk": { + "type": "object", + "properties": { + "disks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Disk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption key properties for the pool." + }, + "skuName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Premium_LRS", + "Standard_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS", + "Premium_ZRS", + "PremiumV2_LRS", + "StandardSSD_ZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku name." + } + }, + "description": "Azure Disk Pool Properties" + }, + "Disk": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460" + }, + "reference": { + "type": "string", + "description": "Reference is the location of the disk in an external system." + } + }, + "required": [ + "id", + "reference" + ], + "description": "Model for disk for that pool is using" + }, + "ElasticSan": { + "type": "object", + "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption key properties for the pool." + }, + "skuName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Premium_LRS", + "Premium_ZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku name." + } + }, + "description": "Elastic San Pool Properties" + }, + "Encryption": { + "type": "object", + "properties": { + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "keyName": { + "type": "string", + "description": "The name of the key vault key." + }, + "keyVaultUri": { + "type": "string", + "description": "The URI of the key vault." + } + }, + "required": [ + "keyName", + "keyVaultUri" + ], + "description": "Encryption key properties for the pool." + }, + "EphemeralDisk": { + "type": "object", + "properties": { + "disks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Disk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." + }, + "replicas": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 3, + "default": "3" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of data copies. Default 3." + } + }, + "description": "Ephemeral Disk Pool Properties" + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "PoolProperties": { + "type": "object", + "properties": { + "assignments": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Assignment" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many." + }, + "poolType": { + "oneOf": [ + { + "$ref": "#/definitions/PoolType" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the Pool: ephemeralDisk, azureDisk, or elasticsan" + }, + "reclaimPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Retain" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted." + }, + "resources": { + "oneOf": [ + { + "$ref": "#/definitions/Resources" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource Requests for the pool." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "1", + "2", + "3" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of availability zones that resources can be created in." + } + }, + "required": [ + "poolType" + ], + "description": "Pool Properties" + }, + "pools_snapshots_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 253 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + }, + "type": { + "type": "string", + "enum": [ + "snapshots" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/snapshots" + }, + "pools_volumes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 253 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Properties" + }, + "type": { + "type": "string", + "enum": [ + "volumes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumes" + }, + "PoolType": { + "type": "object", + "properties": { + "azureDisk": { + "oneOf": [ + { + "$ref": "#/definitions/AzureDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Disk Pool Properties" + }, + "elasticSan": { + "oneOf": [ + { + "$ref": "#/definitions/ElasticSan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Elastic San Pool Properties" + }, + "ephemeralDisk": { + "oneOf": [ + { + "$ref": "#/definitions/EphemeralDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ephemeral Disk Pool Properties" + } + }, + "description": "Type of the Pool: ephemeralDisk, azureDisk, or elasticsan" + }, + "Requests": { + "type": "object", + "properties": { + "storage": { + "oneOf": [ + { + "type": "integer", + "minimum": 1024, + "maximum": 65536, + "default": "1024" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Requested capacity of the pool in GiB." + } + }, + "description": "Requests for capacity for the pool." + }, + "Resources": { + "type": "object", + "properties": { + "requests": { + "oneOf": [ + { + "$ref": "#/definitions/Requests" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Requests for capacity for the pool." + } + }, + "description": "Resource Requests for the pool." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "source": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 253 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to the source volume" + } + }, + "required": [ + "source" + ], + "description": "Volume Snapshot Properties" + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + }, + "VolumeProperties": { + "type": "object", + "properties": { + "capacityGiB": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65536 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Requested capacity in GiB" + }, + "labels": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "String KV pairs indicating labels" + } + }, + "required": [ + "capacityGiB", + "labels" + ], + "description": "Volume Properties" + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 338afcd8ed..3789496d83 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -3007,6 +3007,45 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_storages" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/connectedEnvironments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/connectedEnvironments_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/connectedEnvironments_daprComponents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/connectedEnvironments_storages" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/containerApps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/containerApps_authConfigs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/containerApps_sourcecontrols" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/jobs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/managedEnvironments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/managedEnvironments_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/managedEnvironments_daprComponents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/managedEnvironments_managedCertificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.App.json#/resourceDefinitions/managedEnvironments_storages" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-02-01-preview/Microsoft.AppConfiguration.json#/resourceDefinitions/configurationStores" }, @@ -7606,6 +7645,48 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_webhooks" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_cacheRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_connectedRegistries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_credentialSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_exportPipelines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_importPipelines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_packages_archives" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_packages_archives_versions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_pipelineRuns" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_replications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_scopeMaps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_tokens" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_webhooks" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-03-30/Microsoft.ContainerService.json#/resourceDefinitions/containerServices" }, @@ -8278,6 +8359,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools_volumeSnapshots" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools_snapshots" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools_volumes" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-05-31/Microsoft.CostManagement.json#/resourceDefinitions/reportconfigs" }, @@ -16348,6 +16438,21 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-08-01/Microsoft.LabServices.json#/resourceDefinitions/labs_users" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-07/Microsoft.LabServices.json#/resourceDefinitions/labPlans" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-07/Microsoft.LabServices.json#/resourceDefinitions/labPlans_images" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-07/Microsoft.LabServices.json#/resourceDefinitions/labs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-07/Microsoft.LabServices.json#/resourceDefinitions/labs_schedules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-07/Microsoft.LabServices.json#/resourceDefinitions/labs_users" + }, { "$ref": "https://schema.management.azure.com/schemas/2021-12-01-preview/Microsoft.LoadTestService.json#/resourceDefinitions/loadTests" }, @@ -17737,6 +17842,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-12-01-preview/Microsoft.Maps.json#/resourceDefinitions/accounts_creators" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.Maps.json#/resourceDefinitions/accounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.Maps.json#/resourceDefinitions/accounts_creators" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-10-01/Microsoft.Media.json#/resourceDefinitions/mediaservices" }, @@ -34303,6 +34414,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-06-01/Microsoft.StorageSync.json#/resourceDefinitions/storageSyncServices_syncGroups_serverEndpoints" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.StorageTasks.json#/resourceDefinitions/storageTasks" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-10-01/Microsoft.StorSimple.1200.json#/resourceDefinitions/managers" },