From 272e863198355ad2ec443a90ba4682b26f64bf95 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Fri, 21 Jul 2023 18:38:23 +0000 Subject: [PATCH] CodeGen from PR 24771 in Azure/azure-rest-api-specs Merge 39ce93a43db024d9b45671ce665095fc11ec6b7e into c79ad4f9df777732e328658f9c4eeebd9306918d --- .../Microsoft.ContainerRegistry.json | 1751 +++++++++++++++++ schemas/common/autogeneratedResources.json | 24 + 2 files changed, 1775 insertions(+) create mode 100644 schemas/2023-07-01/Microsoft.ContainerRegistry.json diff --git a/schemas/2023-07-01/Microsoft.ContainerRegistry.json b/schemas/2023-07-01/Microsoft.ContainerRegistry.json new file mode 100644 index 0000000000..334d57484f --- /dev/null +++ b/schemas/2023-07-01/Microsoft.ContainerRegistry.json @@ -0,0 +1,1751 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-07-01/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-07-01" + ] + }, + "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_credentialSets_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-07-01" + ] + }, + "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_credentialSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01" + ] + }, + "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_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01" + ] + }, + "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-07-01" + ] + }, + "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-07-01" + ] + }, + "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-07-01" + ] + }, + "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-07-01" + ] + }, + "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": { + "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." + }, + "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." + }, + "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." + } + } + }, + "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." + }, + "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." + } + } + }, + "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." + }, + "Policies": { + "type": "object", + "properties": { + "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." + }, + "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-07-01" + ] + }, + "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_credentialSets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01" + ] + }, + "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_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01" + ] + }, + "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-07-01" + ] + }, + "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-07-01" + ] + }, + "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-07-01" + ] + }, + "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-07-01" + ] + }, + "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." + }, + "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." + }, + "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/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index d4926b4c34..b6c036b09b 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -7606,6 +7606,30 @@ { "$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-07-01/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_cacheRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_credentialSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_replications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_scopeMaps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_tokens" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_webhooks" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-03-30/Microsoft.ContainerService.json#/resourceDefinitions/containerServices" },