diff --git a/schemas/2022-01-01-preview/Microsoft.App.json b/schemas/2022-01-01-preview/Microsoft.App.json new file mode 100644 index 0000000000..f691ca03f0 --- /dev/null +++ b/schemas/2022-01-01-preview/Microsoft.App.json @@ -0,0 +1,2433 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-01-01-preview/Microsoft.App.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.App", + "description": "Microsoft App Resource Types", + "resourceDefinitions": { + "containerApps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01-preview" + ] + }, + "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": { + "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_sourcecontrols_childResource" + }, + { + "$ref": "#/definitions/containerApps_authConfigs_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": [ + "2022-01-01-preview" + ] + }, + "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": "Easy Auth configuration 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": [ + "2022-01-01-preview" + ] + }, + "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" + }, + "managedEnvironments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01-preview" + ] + }, + "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_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": [ + "2022-01-01-preview" + ] + }, + "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_storages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01-preview" + ] + }, + "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." + }, + "Apple": { + "type": "object", + "properties": { + "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" + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disabled if the Apple provider should not be enabled despite the set registration; otherwise, Enabled." + } + }, + "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." + }, + "clientSecretRefName": { + "type": "string", + "description": "The app secret ref 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" + }, + "logAnalyticsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LogAnalyticsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Log analytics configuration" + } + }, + "description": "Configuration of application logs" + }, + "AppRegistration": { + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "The App ID of the app used for login." + }, + "appSecretRefName": { + "type": "string", + "description": "The app secret ref 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 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 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 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 Authentication/Authorization." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabled if the Authentication / Authorization feature is enabled for the current app; otherwise, Disabled." + } + }, + "description": "Easy Auth configuration resource specific properties" + }, + "AzureActiveDirectory": { + "type": "object", + "properties": { + "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." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disabled if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "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": "string", + "enum": [ + "True", + "False" + ] + }, + { + "$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." + }, + "clientSecretRefName": { + "type": "string", + "description": "The app secret ref 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." + } + }, + "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." + }, + "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." + }, + "AzureStaticWebApp": { + "type": "object", + "properties": { + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AzureStaticWebAppRegistration" + }, + { + "$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" + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disabled if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, Enabled." + } + }, + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "AzureStaticWebAppRegistration": { + "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." + }, + "clientSecretRefName": { + "type": "string", + "description": "The app secret ref 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. If no value if provided, this is the defaultSingle: Only one revision can be active at a time. Revision weights can not be used in this mode." + }, + "ingress": { + "oneOf": [ + { + "$ref": "#/definitions/Ingress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App Ingress configuration." + }, + "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" + } + }, + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app" + }, + "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." + }, + "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." + }, + "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" + }, + "managedEnvironmentId": { + "type": "string", + "description": "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" + } + }, + "description": "ContainerApp resource specific properties" + }, + "containerApps_authConfigs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01-preview" + ] + }, + "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": "Easy Auth configuration 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": [ + "2022-01-01-preview" + ] + }, + "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." + }, + "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." + } + }, + "description": "Custom Domain of a Container App" + }, + "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." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean indicating if the Dapr side car is enabled" + } + }, + "description": "Container App Dapr configuration." + }, + "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." + }, + "Facebook": { + "type": "object", + "properties": { + "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" + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disabled if the Facebook provider should not be enabled despite the set registration; otherwise, Enabled." + } + }, + "description": "The configuration settings of the Facebook provider." + }, + "GitHub": { + "type": "object", + "properties": { + "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" + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disabled if the GitHub provider should not be enabled despite the set registration; otherwise, Enabled." + } + }, + "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." + }, + "dockerfilePath": { + "type": "string", + "description": "Docker file path" + }, + "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": { + "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 Authentication/Authorization." + }, + "Google": { + "type": "object", + "properties": { + "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" + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disabled if the Google provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "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 Custom scaling rule." + }, + "HttpSettings": { + "type": "object", + "properties": { + "requireHttps": { + "oneOf": [ + { + "type": "string", + "enum": [ + "True", + "False" + ] + }, + { + "$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." + }, + "route": { + "oneOf": [ + { + "$ref": "#/definitions/HttpSettingsRoute" + }, + { + "$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 Authentication/Authorization." + }, + "HttpSettingsRoute": { + "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." + }, + "azureStaticWebApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureStaticWebApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Static Web Apps 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." + }, + "legacyMicrosoftAccount": { + "oneOf": [ + { + "$ref": "#/definitions/LegacyMicrosoftAccount" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the legacy Microsoft Account 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 Authentication/Authorization." + }, + "Ingress": { + "type": "object", + "properties": { + "allowInsecure": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$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" + }, + "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." + }, + "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" + }, + "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" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ingress transport protocol." + } + }, + "description": "Container App Ingress configuration." + }, + "LegacyMicrosoftAccount": { + "type": "object", + "properties": { + "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" + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disabled if the legacy Microsoft Account provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "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 legacy Microsoft Account provider." + }, + "LogAnalyticsConfiguration": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Log analytics customer id" + }, + "sharedKey": { + "type": "string", + "description": "Log analytics customer key" + } + }, + "description": "Log analytics configuration" + }, + "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." + }, + "preserveUrlFragmentsForLogins": { + "oneOf": [ + { + "type": "string", + "enum": [ + "True", + "False" + ] + }, + { + "$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." + }, + "route": { + "oneOf": [ + { + "$ref": "#/definitions/LoginRoute" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The route that specify the endpoint used for login and logout requests." + } + }, + "description": "The configuration settings of the login flow of users using ContainerApp Authentication/Authorization." + }, + "LoginRoute": { + "type": "object", + "properties": { + "logoutEndpoint": { + "type": "string", + "description": "The endpoint at which a logout request should be made." + } + }, + "description": "The route that specify the endpoint 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." + }, + "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" + }, + "daprAIInstrumentationKey": { + "type": "string", + "description": "Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry" + }, + "internalLoadBalancerEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Only visible within Vnet/Subnet" + }, + "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" + } + }, + "description": "Managed environment resource specific properties" + }, + "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": [ + "2022-01-01-preview" + ] + }, + "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_storages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01-preview" + ] + }, + "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)" + }, + "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": { + "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" + }, + { + "$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 Custom scaling rule." + }, + "name": { + "type": "string", + "description": "Scale Rule Name" + } + }, + "description": "Container App container scaling rule." + }, + "ScaleRuleAuth": { + "type": "object", + "properties": { + "secretRef": { + "type": "string", + "description": "Name of the Container App secret from which to pull the auth params." + }, + "triggerParameter": { + "type": "string", + "description": "Trigger Parameter that uses the secret" + } + }, + "description": "Auth Secrets for Container App Scale Rule" + }, + "Secret": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Secret Name." + }, + "value": { + "type": "string", + "description": "Secret Value." + } + }, + "description": "Container App Secret." + }, + "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" + }, + "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." + }, + "dapr": { + "oneOf": [ + { + "$ref": "#/definitions/Dapr" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App Dapr configuration." + }, + "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." + }, + "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": { + "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": { + "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." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disabled if the Twitter provider should not be enabled despite the set registration; otherwise, Enabled." + } + }, + "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" + }, + "consumerSecretRefName": { + "type": "string", + "description": "The app secret ref 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. This subnet must be in the same VNET as the subnet defined in runtimeSubnetId. Must not overlap with any other provided IP ranges." + }, + "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." + }, + "runtimeSubnetId": { + "type": "string", + "description": "Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetId. Must not overlap with any other provided IP ranges." + } + }, + "description": "Configuration properties for apps environment to join a Virtual Network" + }, + "Volume": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Volume name." + }, + "storageName": { + "type": "string", + "description": "Name of storage resource. No need to provide for EmptyDir." + }, + "storageType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureFile", + "EmptyDir" + ] + }, + { + "$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 ':'." + }, + "volumeName": { + "type": "string", + "description": "This must match the Name of a Volume." + } + }, + "description": "Volume mount for the Container App." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 56456df8b2..45739f4185 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -1681,6 +1681,24 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-08-01/Microsoft.ApiManagement.json#/resourceDefinitions/service_users" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps_authConfigs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps_sourcecontrols" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_storages" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-02-01-preview/Microsoft.AppConfiguration.json#/resourceDefinitions/configurationStores" },