diff --git a/schemas/2021-10-01-preview/Microsoft.AppConfiguration.json b/schemas/2021-10-01-preview/Microsoft.AppConfiguration.json new file mode 100644 index 0000000000..cc398a9a9f --- /dev/null +++ b/schemas/2021-10-01-preview/Microsoft.AppConfiguration.json @@ -0,0 +1,607 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-10-01-preview/Microsoft.AppConfiguration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.AppConfiguration", + "description": "Microsoft AppConfiguration Resource Types", + "resourceDefinitions": { + "configurationStores": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-10-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An identity that can be associated with a resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "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 configuration store." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationStoreProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a configuration store." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/configurationStores_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/configurationStores_keyValues_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a configuration store SKU." + }, + "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.AppConfiguration/configurationStores" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.AppConfiguration/configurationStores" + }, + "configurationStores_keyValues": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-10-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Identifier of key and label combination. Key and label are joined by $ character. Label is optional." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyValueProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "All key-value properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppConfiguration/configurationStores/keyValues" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppConfiguration/configurationStores/keyValues" + }, + "configurationStores_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-10-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Private endpoint connection name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections" + } + }, + "definitions": { + "ConfigurationStoreProperties": { + "type": "object", + "properties": { + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Recover", + "Default" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the configuration store need to be recovered." + }, + "disableLocalAuth": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disables all authentication methods other than AAD authentication." + }, + "enablePurgeProtection": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property specifying whether protection against purge is enabled for this configuration store." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The encryption settings for a configuration store." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + }, + "softDeleteRetentionInDays": { + "oneOf": [ + { + "type": "integer", + "default": "7" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The amount of time in days that the configuration store will be retained when it is soft deleted." + } + }, + "description": "The properties of a configuration store." + }, + "configurationStores_keyValues_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-10-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Identifier of key and label combination. Key and label are joined by $ character. Label is optional." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyValueProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "All key-value properties." + }, + "type": { + "type": "string", + "enum": [ + "keyValues" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppConfiguration/configurationStores/keyValues" + }, + "configurationStores_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-10-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Private endpoint connection name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections" + }, + "EncryptionProperties": { + "type": "object", + "properties": { + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings concerning key vault encryption for a configuration store." + } + }, + "description": "The encryption settings for a configuration store." + }, + "KeyValueProperties": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "description": "The content type of the key-value's value.\r\nProviding a proper content-type can enable transformations of values when they are retrieved by applications." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A dictionary of tags that can help identify what a key-value may be applicable for." + }, + "value": { + "type": "string", + "description": "The value of the key-value." + } + }, + "description": "All key-value properties." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "identityClientId": { + "type": "string", + "description": "The client id of the identity which will be used to access key vault." + }, + "keyIdentifier": { + "type": "string", + "description": "The URI of the key vault key used to encrypt data." + } + }, + "description": "Settings concerning key vault encryption for a configuration store." + }, + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The resource Id for private endpoint" + } + }, + "description": "Private endpoint which a connection belongs to." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which a connection belongs to." + }, + "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." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of a private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "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." + }, + "ResourceIdentity": { + "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" + } + ], + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "An identity that can be associated with a resource." + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The SKU name of the configuration store." + } + }, + "required": [ + "name" + ], + "description": "Describes a configuration store SKU." + }, + "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." + }, + "UserIdentity": { + "type": "object", + "properties": {}, + "description": "A resource identity that is managed by the user of the service." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 7a90f9690f..c417aedf23 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -1717,6 +1717,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-03-01-preview/Microsoft.AppConfiguration.json#/resourceDefinitions/configurationStores_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-10-01-preview/Microsoft.AppConfiguration.json#/resourceDefinitions/configurationStores" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-10-01-preview/Microsoft.AppConfiguration.json#/resourceDefinitions/configurationStores_keyValues" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-10-01-preview/Microsoft.AppConfiguration.json#/resourceDefinitions/configurationStores_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-05-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring" },