diff --git a/schemas/2023-04-01-preview/Microsoft.App.json b/schemas/2023-04-01-preview/Microsoft.App.json new file mode 100644 index 0000000000..095bc96b23 --- /dev/null +++ b/schemas/2023-04-01-preview/Microsoft.App.json @@ -0,0 +1,4705 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.App", + "description": "Microsoft App Resource Types", + "resourceDefinitions": { + "connectedEnvironments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The complex type of the extended location." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the connectedEnvironment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedEnvironmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ConnectedEnvironment resource specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/connectedEnvironments_certificates_childResource" + }, + { + "$ref": "#/definitions/connectedEnvironments_daprComponents_childResource" + }, + { + "$ref": "#/definitions/connectedEnvironments_storages_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/connectedEnvironments" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments" + }, + "connectedEnvironments_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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/connectedEnvironments/certificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/certificates" + }, + "connectedEnvironments_daprComponents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/connectedEnvironments/daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/daprComponents" + }, + "connectedEnvironments_storages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/connectedEnvironments/storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/storages" + }, + "containerApps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The complex type of the extended location." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "managedBy": { + "type": "string", + "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource." + }, + "name": { + "type": "string", + "description": "Name of the Container App." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerAppProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ContainerApp resource specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/containerApps_authConfigs_childResource" + }, + { + "$ref": "#/definitions/containerApps_sourcecontrols_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/containerApps" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps" + }, + "containerApps_authConfigs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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": "AuthConfig resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/containerApps/authConfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/authConfigs" + }, + "containerApps_sourcecontrols": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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" + }, + "jobs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the Container Apps Job." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container Apps Job resource specific properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/jobs" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/jobs" + }, + "managedEnvironments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "kind": { + "type": "string", + "description": "Kind of the Environment." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Environment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedEnvironmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed environment resource specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managedEnvironments_certificates_childResource" + }, + { + "$ref": "#/definitions/managedEnvironments_managedCertificates_childResource" + }, + { + "$ref": "#/definitions/managedEnvironments_daprComponents_childResource" + }, + { + "$ref": "#/definitions/managedEnvironments_storages_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments" + }, + "managedEnvironments_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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_daprComponents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments/daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/daprComponents" + }, + "managedEnvironments_managedCertificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Managed Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedCertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments/managedCertificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/managedCertificates" + }, + "managedEnvironments_storages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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." + }, + "AllowedPrincipals": { + "type": "object", + "properties": { + "groups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed groups." + }, + "identities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed identities." + } + }, + "description": "The configuration settings of the Azure Active Directory allowed principals." + }, + "Apple": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Apple provider should not be enabled despite the set registration; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AppleRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the registration for the Apple provider" + } + }, + "description": "The configuration settings of the Apple provider." + }, + "AppleRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of the app used for login." + }, + "clientSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the client secret." + } + }, + "description": "The configuration settings of the registration for the Apple provider" + }, + "AppLogsConfiguration": { + "type": "object", + "properties": { + "destination": { + "type": "string", + "description": "Logs destination" + }, + "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." + }, + "appSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the app secret." + } + }, + "description": "The configuration settings of the app registration for providers that have app ids and app secrets" + }, + "AuthConfigProperties": { + "type": "object", + "properties": { + "globalValidation": { + "oneOf": [ + { + "$ref": "#/definitions/GlobalValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization." + }, + "httpSettings": { + "oneOf": [ + { + "$ref": "#/definitions/HttpSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization." + }, + "identityProviders": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/Login" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization." + }, + "platform": { + "oneOf": [ + { + "$ref": "#/definitions/AuthPlatform" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization." + } + }, + "description": "AuthConfig resource specific properties" + }, + "AuthPlatform": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "true if the Authentication / Authorization feature is enabled for the current app; otherwise, false." + }, + "runtimeVersion": { + "type": "string", + "description": "The RuntimeVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of certain features in the Authentication / Authorization module." + } + }, + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization." + }, + "AzureActiveDirectory": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true." + }, + "isAutoProvisioned": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.\nThis is an internal flag primarily intended to support the Azure Management Portal. Users should not\nread or write to this property." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryLogin" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "validation": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory token validation flow." + } + }, + "description": "The configuration settings of the Azure Active directory provider." + }, + "AzureActiveDirectoryLogin": { + "type": "object", + "properties": { + "disableWWWAuthenticate": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "true if the www-authenticate provider should be omitted from the request; otherwise, false." + }, + "loginParameters": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\"." + } + }, + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "AzureActiveDirectoryRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html" + }, + "clientSecretCertificateIssuer": { + "type": "string", + "description": "An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional." + }, + "clientSecretCertificateSubjectAlternativeName": { + "type": "string", + "description": "An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional." + }, + "clientSecretCertificateThumbprint": { + "type": "string", + "description": "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional." + }, + "clientSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the client secret of the relying party application." + }, + "openIdIssuer": { + "type": "string", + "description": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html" + } + }, + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "AzureActiveDirectoryValidation": { + "type": "object", + "properties": { + "allowedAudiences": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of audiences that can make successful authentication/authorization requests." + }, + "defaultAuthorizationPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/DefaultAuthorizationPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory default authorization policy." + }, + "jwtClaimChecks": { + "oneOf": [ + { + "$ref": "#/definitions/JwtClaimChecks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + } + }, + "description": "The configuration settings of the Azure Active Directory token validation flow." + }, + "AzureCredentials": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "Client Id." + }, + "clientSecret": { + "type": "string", + "description": "Client Secret." + }, + "subscriptionId": { + "type": "string", + "description": "Subscription Id." + }, + "tenantId": { + "type": "string", + "description": "Tenant Id." + } + }, + "description": "Container App credentials." + }, + "AzureFileProperties": { + "type": "object", + "properties": { + "accessMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Access mode for storage." + }, + "accountKey": { + "type": "string", + "description": "Storage account key for azure file." + }, + "accountName": { + "type": "string", + "description": "Storage account name for azure file." + }, + "shareName": { + "type": "string", + "description": "Azure file share name." + } + }, + "description": "Azure File Properties." + }, + "AzureStaticWebApps": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AzureStaticWebAppsRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the registration for the Azure Static Web Apps provider" + } + }, + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "AzureStaticWebAppsRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of the app used for login." + } + }, + "description": "The configuration settings of the registration for the Azure Static Web Apps provider" + }, + "CertificateProperties": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Certificate password." + }, + "value": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PFX or PEM blob" + } + }, + "description": "Certificate resource specific properties" + }, + "ClientRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of the app used for login." + }, + "clientSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the client secret." + } + }, + "description": "The configuration settings of the app registration for providers that have client ids and client secrets" + }, + "Configuration": { + "type": "object", + "properties": { + "activeRevisionsMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Multiple", + "Single" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active.Single: Only one revision can be active at a time. Revision weights can not be used in this mode. If no value if provided, this is the default.." + }, + "dapr": { + "oneOf": [ + { + "$ref": "#/definitions/Dapr" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App Dapr configuration." + }, + "ingress": { + "oneOf": [ + { + "$ref": "#/definitions/Ingress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App Ingress configuration." + }, + "maxInactiveRevisions": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Max inactive revisions a Container App can have." + }, + "registries": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of private container registry credentials for containers used by the Container app" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of secrets used by a Container app" + } + }, + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app" + }, + "ConnectedEnvironmentProperties": { + "type": "object", + "properties": { + "customDomainConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for apps environment custom domain" + }, + "daprAIConnectionString": { + "type": "string", + "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry" + }, + "staticIp": { + "type": "string", + "description": "Static IP of the connectedEnvironment" + } + }, + "description": "ConnectedEnvironment resource specific properties" + }, + "ConnectedEnvironmentStorageProperties": { + "type": "object", + "properties": { + "azureFile": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure File Properties." + } + }, + "description": "Storage properties" + }, + "connectedEnvironments_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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/connectedEnvironments/certificates" + }, + "connectedEnvironments_daprComponents_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/daprComponents" + }, + "connectedEnvironments_storages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/storages" + }, + "Container": { + "type": "object", + "properties": { + "args": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command arguments." + }, + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command." + }, + "env": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container environment variables." + }, + "image": { + "type": "string", + "description": "Container image tag." + }, + "name": { + "type": "string", + "description": "Custom container name." + }, + "probes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbe" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of probes for the container." + }, + "resources": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerResources" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container resource requirements." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container volume mounts." + } + }, + "description": "Container App container definition" + }, + "ContainerAppProbe": { + "type": "object", + "properties": { + "failureThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10." + }, + "httpGet": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerAppProbeHttpGet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HTTPGet specifies the http request to perform." + }, + "initialDelaySeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60." + }, + "periodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240." + }, + "successThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10." + }, + "tcpSocket": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerAppProbeTcpSocket" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported." + }, + "terminationGracePeriodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour)" + }, + "timeoutSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Liveness", + "Readiness", + "Startup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of probe." + } + }, + "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic." + }, + "ContainerAppProbeHttpGet": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + }, + "httpHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbeHttpGetHttpHeadersItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom headers to set in the request. HTTP allows repeated headers." + }, + "path": { + "type": "string", + "description": "Path to access on the HTTP server." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + }, + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HTTP", + "HTTPS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scheme to use for connecting to the host. Defaults to HTTP." + } + }, + "required": [ + "port" + ], + "description": "HTTPGet specifies the http request to perform." + }, + "ContainerAppProbeHttpGetHttpHeadersItem": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The header field name" + }, + "value": { + "type": "string", + "description": "The header field value" + } + }, + "required": [ + "name", + "value" + ], + "description": "HTTPHeader describes a custom header to be used in HTTP probes" + }, + "ContainerAppProbeTcpSocket": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Optional: Host name to connect to, defaults to the pod IP." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + } + }, + "required": [ + "port" + ], + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported." + }, + "ContainerAppProperties": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/Configuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app" + }, + "environmentId": { + "type": "string", + "description": "Resource ID of environment." + }, + "managedEnvironmentId": { + "type": "string", + "description": "Deprecated. Resource ID of the Container App's environment." + }, + "template": { + "oneOf": [ + { + "$ref": "#/definitions/Template" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created" + }, + "workloadProfileName": { + "type": "string", + "description": "Workload profile name for container apps to execute on." + } + }, + "description": "ContainerApp resource specific properties" + }, + "containerApps_authConfigs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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": "AuthConfig resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "authConfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/authConfigs" + }, + "containerApps_sourcecontrols_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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." + }, + "CookieExpiration": { + "type": "object", + "properties": { + "convention": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FixedTime", + "IdentityProviderDerived" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The convention used when determining the session cookie's expiration." + }, + "timeToExpiration": { + "type": "string", + "description": "The time after the request is made when the session cookie should expire." + } + }, + "description": "The configuration settings of the session cookie's expiration." + }, + "CorsPolicy": { + "type": "object", + "properties": { + "allowCredentials": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the resource allows credentials" + }, + "allowedHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-allow-headers header" + }, + "allowedMethods": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-allow-methods header" + }, + "allowedOrigins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-allow-origins header" + }, + "exposeHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-expose-headers header " + }, + "maxAge": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-max-age header" + } + }, + "required": [ + "allowedOrigins" + ], + "description": "Cross-Origin-Resource-Sharing policy" + }, + "CustomDomain": { + "type": "object", + "properties": { + "bindingType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "SniEnabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Domain binding type." + }, + "certificateId": { + "type": "string", + "description": "Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment." + }, + "name": { + "type": "string", + "description": "Hostname." + } + }, + "required": [ + "name" + ], + "description": "Custom Domain of a Container App" + }, + "CustomDomainConfiguration": { + "type": "object", + "properties": { + "certificatePassword": { + "type": "string", + "description": "Certificate password" + }, + "certificateValue": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PFX or PEM blob" + }, + "dnsSuffix": { + "type": "string", + "description": "Dns suffix for the environment domain" + } + }, + "description": "Configuration properties for apps environment custom domain" + }, + "CustomOpenIdConnectProvider": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the custom Open ID provider provider should not be enabled; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectLogin" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + } + }, + "description": "The configuration settings of the custom Open ID Connect provider." + }, + "CustomScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the custom scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe custom scale rule." + }, + "type": { + "type": "string", + "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc." + } + }, + "description": "Container App container Custom scaling rule." + }, + "Dapr": { + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Dapr application identifier" + }, + "appPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tells Dapr which port your application is listening on" + }, + "appProtocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "http", + "grpc" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http." + }, + "enableApiLogging": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables API logging for the Dapr sidecar" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean indicating if the Dapr side car is enabled" + }, + "httpMaxRequestSize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big files. Default is 4 MB." + }, + "httpReadBufferSize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB." + }, + "logLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "info", + "debug", + "warn", + "error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info." + } + }, + "description": "Container App Dapr configuration." + }, + "DaprComponentProperties": { + "type": "object", + "properties": { + "componentType": { + "type": "string", + "description": "Component type" + }, + "ignoreErrors": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean describing if the component errors are ignores" + }, + "initTimeout": { + "type": "string", + "description": "Initialization timeout" + }, + "metadata": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DaprMetadata" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Component metadata" + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Names of container apps that can use this Dapr component" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of secrets used by a Dapr component" + }, + "secretStoreComponent": { + "type": "string", + "description": "Name of a Dapr component to retrieve component secrets from" + }, + "version": { + "type": "string", + "description": "Component version" + } + }, + "description": "Dapr Component resource specific properties" + }, + "DaprConfiguration": { + "type": "object", + "properties": {}, + "description": "Configuration properties Dapr component" + }, + "DaprMetadata": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Metadata property name." + }, + "secretRef": { + "type": "string", + "description": "Name of the Dapr Component secret from which to pull the metadata property value." + }, + "value": { + "type": "string", + "description": "Metadata property value." + } + }, + "description": "Dapr component metadata." + }, + "DefaultAuthorizationPolicy": { + "type": "object", + "properties": { + "allowedApplications": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory allowed applications." + }, + "allowedPrincipals": { + "oneOf": [ + { + "$ref": "#/definitions/AllowedPrincipals" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory allowed principals." + } + }, + "description": "The configuration settings of the Azure Active Directory default authorization policy." + }, + "EnvironmentVar": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Environment variable name." + }, + "secretRef": { + "type": "string", + "description": "Name of the Container App secret from which to pull the environment variable value." + }, + "value": { + "type": "string", + "description": "Non-secret environment variable value." + } + }, + "description": "Container App container environment variable." + }, + "ExtendedLocation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CustomLocation" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the extended location." + } + }, + "description": "The complex type of the extended location." + }, + "Facebook": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Facebook provider should not be enabled despite the set registration; otherwise, true." + }, + "graphApiVersion": { + "type": "string", + "description": "The version of the Facebook api to be used while logging in." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AppRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for providers that have app ids and app secrets" + } + }, + "description": "The configuration settings of the Facebook provider." + }, + "ForwardProxy": { + "type": "object", + "properties": { + "convention": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NoProxy", + "Standard", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The convention used to determine the url of the request made." + }, + "customHostHeaderName": { + "type": "string", + "description": "The name of the header containing the host of the request." + }, + "customProtoHeaderName": { + "type": "string", + "description": "The name of the header containing the scheme of the request." + } + }, + "description": "The configuration settings of a forward proxy used to make the requests." + }, + "GitHub": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the GitHub provider should not be enabled despite the set registration; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/ClientRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for providers that have client ids and client secrets" + } + }, + "description": "The configuration settings of the GitHub provider." + }, + "GithubActionConfiguration": { + "type": "object", + "properties": { + "azureCredentials": { + "oneOf": [ + { + "$ref": "#/definitions/AzureCredentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App credentials." + }, + "contextPath": { + "type": "string", + "description": "Context path" + }, + "image": { + "type": "string", + "description": "Image name" + }, + "os": { + "type": "string", + "description": "Operation system" + }, + "publishType": { + "type": "string", + "description": "Code or Image" + }, + "registryInfo": { + "oneOf": [ + { + "$ref": "#/definitions/RegistryInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App registry information." + }, + "runtimeStack": { + "type": "string", + "description": "Runtime stack" + }, + "runtimeVersion": { + "type": "string", + "description": "Runtime version" + } + }, + "description": "Configuration properties that define the mutable settings of a Container App SourceControl" + }, + "GlobalValidation": { + "type": "object", + "properties": { + "excludedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The paths for which unauthenticated flow would not be redirected to the login page." + }, + "redirectToProvider": { + "type": "string", + "description": "The default authentication provider to use when multiple providers are configured.\nThis setting is only needed if multiple providers are configured and the unauthenticated client\naction is set to \"RedirectToLoginPage\"." + }, + "unauthenticatedClientAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action to take when an unauthenticated client attempts to access the app." + } + }, + "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization." + }, + "Google": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Google provider should not be enabled despite the set registration; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/ClientRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for providers that have client ids and client secrets" + }, + "validation": { + "oneOf": [ + { + "$ref": "#/definitions/AllowedAudiencesValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Allowed Audiences validation flow." + } + }, + "description": "The configuration settings of the Google provider." + }, + "HttpScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the custom scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe http scale rule." + } + }, + "description": "Container App container Http scaling rule." + }, + "HttpSettings": { + "type": "object", + "properties": { + "forwardProxy": { + "oneOf": [ + { + "$ref": "#/definitions/ForwardProxy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of a forward proxy used to make the requests." + }, + "requireHttps": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true." + }, + "routes": { + "oneOf": [ + { + "$ref": "#/definitions/HttpSettingsRoutes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the paths HTTP requests." + } + }, + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization." + }, + "HttpSettingsRoutes": { + "type": "object", + "properties": { + "apiPrefix": { + "type": "string", + "description": "The prefix that should precede all the authentication/authorization paths." + } + }, + "description": "The configuration settings of the paths HTTP requests." + }, + "IdentityProviders": { + "type": "object", + "properties": { + "apple": { + "oneOf": [ + { + "$ref": "#/definitions/Apple" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Apple provider." + }, + "azureActiveDirectory": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectory" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active directory provider." + }, + "azureStaticWebApps": { + "oneOf": [ + { + "$ref": "#/definitions/AzureStaticWebApps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "customOpenIdConnectProviders": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomOpenIdConnectProvider" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The map of the name of the alias of each custom Open ID Connect provider to the\nconfiguration settings of the custom Open ID Connect provider." + }, + "facebook": { + "oneOf": [ + { + "$ref": "#/definitions/Facebook" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Facebook provider." + }, + "gitHub": { + "oneOf": [ + { + "$ref": "#/definitions/GitHub" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the GitHub provider." + }, + "google": { + "oneOf": [ + { + "$ref": "#/definitions/Google" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Google provider." + }, + "twitter": { + "oneOf": [ + { + "$ref": "#/definitions/Twitter" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Twitter provider." + } + }, + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization." + }, + "Ingress": { + "type": "object", + "properties": { + "allowInsecure": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections" + }, + "clientCertificateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ignore", + "accept", + "require" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require indicates server requires a client certificate." + }, + "corsPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/CorsPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cross-Origin-Resource-Sharing policy" + }, + "customDomains": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "custom domain bindings for Container Apps' hostnames." + }, + "exposedPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Exposed Port in containers for TCP traffic from ingress" + }, + "external": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bool indicating if app exposes an external http endpoint" + }, + "ipSecurityRestrictions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpSecurityRestrictionRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rules to restrict incoming IP address." + }, + "stickySessions": { + "oneOf": [ + { + "$ref": "#/definitions/IngressStickySessions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sticky Sessions for Single Revision Mode" + }, + "targetPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target Port in containers for traffic from ingress" + }, + "traffic": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrafficWeight" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Traffic weights for app's revisions" + }, + "transport": { + "oneOf": [ + { + "type": "string", + "enum": [ + "auto", + "http", + "http2", + "tcp" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ingress transport protocol." + } + }, + "description": "Container App Ingress configuration." + }, + "IngressStickySessions": { + "type": "object", + "properties": { + "affinity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "sticky", + "none" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sticky Session Affinity." + } + }, + "description": "Sticky Sessions for Single Revision Mode" + }, + "InitContainer": { + "type": "object", + "properties": { + "args": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command arguments." + }, + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command." + }, + "env": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container environment variables." + }, + "image": { + "type": "string", + "description": "Container image tag." + }, + "name": { + "type": "string", + "description": "Custom container name." + }, + "resources": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerResources" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container resource requirements." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container volume mounts." + } + }, + "description": "Container App init container definition" + }, + "IpSecurityRestrictionRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny." + }, + "description": { + "type": "string", + "description": "Describe the IP restriction rule that is being sent to the container-app. This is an optional field." + }, + "ipAddressRange": { + "type": "string", + "description": "CIDR notation to match incoming IP address" + }, + "name": { + "type": "string", + "description": "Name for the IP restriction rule." + } + }, + "required": [ + "action", + "ipAddressRange", + "name" + ], + "description": "Rule to restrict incoming IP address." + }, + "JobConfiguration": { + "type": "object", + "properties": { + "manualTriggerConfig": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfigurationManualTriggerConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Manual trigger configuration for a single execution job. Properties replicaCompletionCount and parallelism would be set to 1 by default" + }, + "registries": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of private container registry credentials used by a Container apps job" + }, + "replicaRetryLimit": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of retries before failing the job." + }, + "replicaTimeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of seconds a replica is allowed to run." + }, + "scheduleTriggerConfig": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfigurationScheduleTriggerConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cron formatted repeating trigger schedule (\"* * * * *\") for cronjobs. Properties completions and parallelism would be set to 1 by default" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of secrets used by a Container Apps Job" + }, + "triggerType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Scheduled", + "Event", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trigger type of the job." + } + }, + "required": [ + "replicaTimeout", + "triggerType" + ], + "description": "Non versioned Container Apps Job configuration properties" + }, + "JobConfigurationManualTriggerConfig": { + "type": "object", + "properties": { + "parallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of parallel replicas of a job that can run at a given time." + }, + "replicaCompletionCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of successful replica completions before overall job completion." + } + }, + "description": "Manual trigger configuration for a single execution job. Properties replicaCompletionCount and parallelism would be set to 1 by default" + }, + "JobConfigurationScheduleTriggerConfig": { + "type": "object", + "properties": { + "cronExpression": { + "type": "string", + "description": "Cron formatted repeating schedule (\"* * * * *\") of a Cron Job." + }, + "parallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of parallel replicas of a job that can run at a given time." + }, + "replicaCompletionCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of successful replica completions before overall job completion." + } + }, + "required": [ + "cronExpression" + ], + "description": "Cron formatted repeating trigger schedule (\"* * * * *\") for cronjobs. Properties completions and parallelism would be set to 1 by default" + }, + "JobProperties": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Non versioned Container Apps Job configuration properties" + }, + "environmentId": { + "type": "string", + "description": "Resource ID of environment." + }, + "template": { + "oneOf": [ + { + "$ref": "#/definitions/JobTemplate" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to this section Will result in a new revision being created" + }, + "workloadProfileName": { + "type": "string", + "description": "Workload profile name for container apps to execute on." + } + }, + "description": "Container Apps Job resource specific properties." + }, + "JobTemplate": { + "type": "object", + "properties": { + "containers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of container definitions for the Container App." + }, + "initContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InitContainer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specialized containers that run before app containers." + }, + "volumes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of volume definitions for the Container App." + } + }, + "description": "Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to this section Will result in a new revision being created" + }, + "JwtClaimChecks": { + "type": "object", + "properties": { + "allowedClientApplications": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed client applications." + }, + "allowedGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed groups." + } + }, + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + }, + "KedaConfiguration": { + "type": "object", + "properties": {}, + "description": "Configuration properties Keda component" + }, + "LogAnalyticsConfiguration": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Log analytics customer id" + }, + "sharedKey": { + "type": "string", + "description": "Log analytics customer key" + } + }, + "description": "Log analytics configuration" + }, + "Login": { + "type": "object", + "properties": { + "allowedExternalRedirectUrls": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.\nThis is an advanced setting typically only needed by Windows Store application backends.\nNote that URLs within the current domain are always implicitly allowed." + }, + "cookieExpiration": { + "oneOf": [ + { + "$ref": "#/definitions/CookieExpiration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the session cookie's expiration." + }, + "nonce": { + "oneOf": [ + { + "$ref": "#/definitions/Nonce" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the nonce used in the login flow." + }, + "preserveUrlFragmentsForLogins": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "true if the fragments from the request are preserved after the login request is made; otherwise, false." + }, + "routes": { + "oneOf": [ + { + "$ref": "#/definitions/LoginRoutes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The routes that specify the endpoints used for login and logout requests." + } + }, + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization." + }, + "LoginRoutes": { + "type": "object", + "properties": { + "logoutEndpoint": { + "type": "string", + "description": "The endpoint at which a logout request should be made." + } + }, + "description": "The routes that specify the endpoints used for login and logout requests." + }, + "LoginScopes": { + "type": "object", + "properties": { + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of the scopes that should be requested while authenticating." + } + }, + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "ManagedCertificateProperties": { + "type": "object", + "properties": { + "domainControlValidation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CNAME", + "HTTP", + "TXT" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Selected type of domain control validation for managed certificates." + }, + "subjectName": { + "type": "string", + "description": "Subject name of the certificate." + } + }, + "description": "Certificate resource specific properties" + }, + "ManagedEnvironmentProperties": { + "type": "object", + "properties": { + "appLogsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/AppLogsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration of application logs" + }, + "customDomainConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for apps environment custom domain" + }, + "daprAIConnectionString": { + "type": "string", + "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry" + }, + "daprAIInstrumentationKey": { + "type": "string", + "description": "Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry" + }, + "daprConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/DaprConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties Dapr component" + }, + "infrastructureResourceGroup": { + "type": "string", + "description": "Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as the subnet." + }, + "kedaConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/KedaConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties Keda component" + }, + "vnetConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for apps environment to join a Virtual Network" + }, + "workloadProfiles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadProfile" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload profiles configured for the Managed Environment." + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not this Managed Environment is zone-redundant." + } + }, + "description": "Managed environment resource specific properties" + }, + "ManagedEnvironmentStorageProperties": { + "type": "object", + "properties": { + "azureFile": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure File Properties." + } + }, + "description": "Storage properties" + }, + "managedEnvironments_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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_daprComponents_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/daprComponents" + }, + "managedEnvironments_managedCertificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Managed Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedCertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "managedCertificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/managedCertificates" + }, + "managedEnvironments_storages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-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)" + }, + "Nonce": { + "type": "object", + "properties": { + "nonceExpirationInterval": { + "type": "string", + "description": "The time after the request is made when the nonce should expire." + }, + "validateNonce": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the nonce should not be validated while completing the login flow; otherwise, true." + } + }, + "description": "The configuration settings of the nonce used in the login flow." + }, + "OpenIdConnectClientCredential": { + "type": "object", + "properties": { + "clientSecretSettingName": { + "type": "string", + "description": "The app setting that contains the client secret for the custom Open ID Connect provider." + }, + "method": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ClientSecretPost" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The method that should be used to authenticate the user." + } + }, + "description": "The authentication client credentials of the custom Open ID Connect provider." + }, + "OpenIdConnectConfig": { + "type": "object", + "properties": { + "authorizationEndpoint": { + "type": "string", + "description": "The endpoint to be used to make an authorization request." + }, + "certificationUri": { + "type": "string", + "description": "The endpoint that provides the keys necessary to validate the token." + }, + "issuer": { + "type": "string", + "description": "The endpoint that issues the token." + }, + "tokenEndpoint": { + "type": "string", + "description": "The endpoint to be used to request a token." + }, + "wellKnownOpenIdConfiguration": { + "type": "string", + "description": "The endpoint that contains all the configuration endpoints for the provider." + } + }, + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + }, + "OpenIdConnectLogin": { + "type": "object", + "properties": { + "nameClaimType": { + "type": "string", + "description": "The name of the claim that contains the users name." + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of the scopes that should be requested while authenticating." + } + }, + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + }, + "OpenIdConnectRegistration": { + "type": "object", + "properties": { + "clientCredential": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectClientCredential" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The authentication client credentials of the custom Open ID Connect provider." + }, + "clientId": { + "type": "string", + "description": "The client id of the custom Open ID Connect provider." + }, + "openIdConnectConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + } + }, + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + }, + "QueueScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the queue scale rule." + }, + "queueLength": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Queue length." + }, + "queueName": { + "type": "string", + "description": "Queue name." + } + }, + "description": "Container App container Azure Queue based scaling rule." + }, + "RegistryCredentials": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system'" + }, + "passwordSecretRef": { + "type": "string", + "description": "The name of the Secret that contains the registry login password" + }, + "server": { + "type": "string", + "description": "Container Registry Server" + }, + "username": { + "type": "string", + "description": "Container Registry Username" + } + }, + "description": "Container App Private Registry" + }, + "RegistryInfo": { + "type": "object", + "properties": { + "registryPassword": { + "type": "string", + "description": "registry secret." + }, + "registryUrl": { + "type": "string", + "description": "registry server Url." + }, + "registryUserName": { + "type": "string", + "description": "registry username." + } + }, + "description": "Container App registry information." + }, + "Scale": { + "type": "object", + "properties": { + "maxReplicas": { + "oneOf": [ + { + "type": "integer", + "default": "10" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set." + }, + "minReplicas": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Minimum number of container replicas." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling rules." + } + }, + "description": "Container App scaling configurations." + }, + "ScaleRule": { + "type": "object", + "properties": { + "azureQueue": { + "oneOf": [ + { + "$ref": "#/definitions/QueueScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Azure Queue based scaling rule." + }, + "custom": { + "oneOf": [ + { + "$ref": "#/definitions/CustomScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Custom scaling rule." + }, + "http": { + "oneOf": [ + { + "$ref": "#/definitions/HttpScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Http scaling rule." + }, + "name": { + "type": "string", + "description": "Scale Rule Name" + }, + "tcp": { + "oneOf": [ + { + "$ref": "#/definitions/TcpScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Tcp scaling rule." + } + }, + "description": "Container App container scaling rule." + }, + "ScaleRuleAuth": { + "type": "object", + "properties": { + "secretRef": { + "type": "string", + "description": "Name of the 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": { + "identity": { + "type": "string", + "description": "Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity." + }, + "keyVaultUrl": { + "type": "string", + "description": "Azure Key Vault URL pointing to the secret referenced by the container app." + }, + "name": { + "type": "string", + "description": "Secret Name." + }, + "value": { + "type": "string", + "description": "Secret Value." + } + }, + "description": "Secret definition." + }, + "SecretVolumeItem": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef." + }, + "secretRef": { + "type": "string", + "description": "Name of the Container App secret from which to pull the secret value." + } + }, + "description": "Secret to be added to volume." + }, + "SourceControlProperties": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "The branch which will trigger the auto deployment" + }, + "githubActionConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/GithubActionConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties that define the mutable settings of a Container App SourceControl" + }, + "repoUrl": { + "type": "string", + "description": "The repo url which will be integrated to ContainerApp." + } + }, + "description": "SourceControl resource specific properties" + }, + "TcpScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the tcp scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe tcp scale rule." + } + }, + "description": "Container App container Tcp scaling rule." + }, + "Template": { + "type": "object", + "properties": { + "containers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of container definitions for the Container App." + }, + "initContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InitContainer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specialized containers that run before app containers." + }, + "revisionSuffix": { + "type": "string", + "description": "User friendly suffix that is appended to the revision name" + }, + "scale": { + "oneOf": [ + { + "$ref": "#/definitions/Scale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App scaling configurations." + }, + "terminationGracePeriodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional duration in seconds the Container App Instance needs to terminate gracefully. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds." + }, + "volumes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of volume definitions for the Container App." + } + }, + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created" + }, + "TrafficWeight": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Associates a traffic label with a revision" + }, + "latestRevision": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates that the traffic weight belongs to a latest stable revision" + }, + "revisionName": { + "type": "string", + "description": "Name of a revision" + }, + "weight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Traffic weight assigned to a revision" + } + }, + "description": "Traffic weight assigned to a revision" + }, + "Twitter": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Twitter provider should not be enabled despite the set registration; otherwise, true." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/TwitterRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for the Twitter provider." + } + }, + "description": "The configuration settings of the Twitter provider." + }, + "TwitterRegistration": { + "type": "object", + "properties": { + "consumerKey": { + "type": "string", + "description": "The OAuth 1.0a consumer key of the Twitter application used for sign-in.\nThis setting is required for enabling Twitter Sign-In.\nTwitter Sign-In documentation: https://dev.twitter.com/web/sign-in" + }, + "consumerSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in." + } + }, + "description": "The configuration settings of the app registration for the Twitter provider." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + }, + "VnetConfiguration": { + "type": "object", + "properties": { + "dockerBridgeCidr": { + "type": "string", + "description": "CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other provided IP ranges." + }, + "infrastructureSubnetId": { + "type": "string", + "description": "Resource ID of a subnet for infrastructure components. Must not overlap with any other provided IP ranges." + }, + "internal": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource. They must provide infrastructureSubnetId if enabling this property" + }, + "platformReservedCidr": { + "type": "string", + "description": "IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must not overlap with any other provided IP ranges." + }, + "platformReservedDnsIP": { + "type": "string", + "description": " An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server." + } + }, + "description": "Configuration properties for apps environment to join a Virtual Network" + }, + "Volume": { + "type": "object", + "properties": { + "mountOptions": { + "type": "string", + "description": "Mount options used while mounting the AzureFile. Must be a comma-separated string." + }, + "name": { + "type": "string", + "description": "Volume name." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SecretVolumeItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to volume." + }, + "storageName": { + "type": "string", + "description": "Name of storage resource. No need to provide for EmptyDir and Secret." + }, + "storageType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureFile", + "EmptyDir", + "Secret" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type for the volume. If not provided, use EmptyDir." + } + }, + "description": "Volume definitions for the Container App." + }, + "VolumeMount": { + "type": "object", + "properties": { + "mountPath": { + "type": "string", + "description": "Path within the container at which the volume should be mounted.Must not contain ':'." + }, + "subPath": { + "type": "string", + "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + }, + "volumeName": { + "type": "string", + "description": "This must match the Name of a Volume." + } + }, + "description": "Volume mount for the Container App." + }, + "WorkloadProfile": { + "type": "object", + "properties": { + "maximumCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum capacity." + }, + "minimumCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum capacity." + }, + "name": { + "type": "string", + "description": "Workload profile name for container apps to execute on." + }, + "workloadProfileType": { + "type": "string", + "description": "Workload profile type for container apps to execute on." + } + }, + "required": [ + "name", + "workloadProfileType" + ], + "description": "Workload profile to scope container app execution." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index dc4708cefe..0b7b4e15df 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -2386,6 +2386,45 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_storages" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/connectedEnvironments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/connectedEnvironments_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/connectedEnvironments_daprComponents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/connectedEnvironments_storages" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps_authConfigs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps_sourcecontrols" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/jobs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_daprComponents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_managedCertificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_storages" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-02-01-preview/Microsoft.AppConfiguration.json#/resourceDefinitions/configurationStores" },