diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/AppResiliency.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/AppResiliency.json
new file mode 100644
index 000000000000..5ca5cf253b47
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/AppResiliency.json
@@ -0,0 +1,312 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2024-10-02-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{appName}/resiliencyPolicies/{name}": {
+ "put": {
+ "tags": [
+ "AppResiliency"
+ ],
+ "summary": "Create or update an application's resiliency policy.",
+ "description": "Create or update container app resiliency policy.",
+ "operationId": "AppResiliency_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "appName",
+ "description": "Name of the Container App.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "description": "Name of the resiliency policy.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "resiliencyEnvelope",
+ "in": "body",
+ "description": "The resiliency policy to create or update.",
+ "required": true,
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/AppResiliency"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/AppResiliency"
+ }
+ },
+ "201": {
+ "description": "App Resiliency create or update has been started.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/AppResiliency"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update App Resiliency": {
+ "$ref": "./examples/AppResiliency_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AppResiliency"
+ ],
+ "summary": "Update an application's resiliency policy.",
+ "description": "Update container app resiliency policy.",
+ "operationId": "AppResiliency_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "appName",
+ "description": "Name of the Container App.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "description": "Name of the resiliency policy.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "resiliencyEnvelope",
+ "in": "body",
+ "description": "The resiliency policy to update.",
+ "required": true,
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/AppResiliency"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/AppResiliency"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update App Resiliency": {
+ "$ref": "./examples/AppResiliency_Patch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppResiliency"
+ ],
+ "summary": "Delete an application's resiliency policy.",
+ "description": "Delete container app resiliency policy.",
+ "operationId": "AppResiliency_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "appName",
+ "description": "Name of the Container App.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "description": "Name of the resiliency policy.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resiliency policy deleted successfully."
+ },
+ "204": {
+ "description": "Resiliency policy does not exist."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete App Resiliency": {
+ "$ref": "./examples/AppResiliency_Delete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AppResiliency"
+ ],
+ "summary": "Get an application's resiliency policy.",
+ "description": "Get container app resiliency policy.",
+ "operationId": "AppResiliency_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "appName",
+ "description": "Name of the Container App.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "description": "Name of the resiliency policy.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/AppResiliency"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get App Resiliency": {
+ "$ref": "./examples/AppResiliency_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{appName}/resiliencyPolicies": {
+ "get": {
+ "tags": [
+ "AppResiliency"
+ ],
+ "summary": "List an application's resiliency policies.",
+ "description": "List container app resiliency policies.",
+ "operationId": "AppResiliency_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "appName",
+ "description": "Name of the Container App.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/AppResiliencyCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List App Resiliency": {
+ "$ref": "./examples/AppResiliency_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/AuthConfigs.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/AuthConfigs.json
new file mode 100644
index 000000000000..229cefc2f5f2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/AuthConfigs.json
@@ -0,0 +1,1049 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs": {
+ "get": {
+ "tags": [
+ "ContainerAppsAuthConfigs"
+ ],
+ "summary": "Get the Container App AuthConfigs in a given resource group.",
+ "operationId": "ContainerAppsAuthConfigs_ListByContainerApp",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AuthConfigCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Auth Configs by Container Apps": {
+ "$ref": "./examples/AuthConfigs_ListByContainer.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName}": {
+ "get": {
+ "tags": [
+ "ContainerAppsAuthConfigs"
+ ],
+ "summary": "Get a AuthConfig of a Container App.",
+ "operationId": "ContainerAppsAuthConfigs_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "authConfigName",
+ "in": "path",
+ "description": "Name of the Container App AuthConfig.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AuthConfig"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App's AuthConfig": {
+ "$ref": "./examples/AuthConfigs_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContainerAppsAuthConfigs"
+ ],
+ "summary": "Create or update the AuthConfig for a Container App.",
+ "description": "Create or update the AuthConfig for a Container App.",
+ "operationId": "ContainerAppsAuthConfigs_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "authConfigName",
+ "in": "path",
+ "description": "Name of the Container App AuthConfig.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "authConfigEnvelope",
+ "in": "body",
+ "description": "Properties used to create a Container App AuthConfig",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthConfig"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/AuthConfig"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Container App AuthConfig": {
+ "$ref": "./examples/AuthConfigs_CreateOrUpdate.json"
+ },
+ "Create or Update Container App AuthConfig with msi managedIdentityResourceId blob storage token store": {
+ "$ref": "./examples/AuthConfigs_BlobStorageTokenStore_CreateOrUpdate.json"
+ },
+ "Create or Update Container App AuthConfig with msi clientID blob storage token store": {
+ "$ref": "./examples/AuthConfigs_BlobStorageTokenStore_ClientId_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContainerAppsAuthConfigs"
+ ],
+ "summary": "Delete a Container App AuthConfig.",
+ "description": "Delete a Container App AuthConfig.",
+ "operationId": "ContainerAppsAuthConfigs_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "authConfigName",
+ "in": "path",
+ "description": "Name of the Container App AuthConfig.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container App deleted successfully."
+ },
+ "204": {
+ "description": "Container App AuthConfig does not exist."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Container App AuthConfig": {
+ "$ref": "./examples/AuthConfigs_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AuthConfigCollection": {
+ "description": "AuthConfig collection ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthConfig"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AuthConfig": {
+ "description": "Configuration settings for the Azure ContainerApp Service Authentication / Authorization feature.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "AuthConfig resource specific properties",
+ "type": "object",
+ "properties": {
+ "platform": {
+ "$ref": "#/definitions/AuthPlatform",
+ "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization."
+ },
+ "globalValidation": {
+ "$ref": "#/definitions/GlobalValidation",
+ "description": "The configuration settings that determines the validation flow of users using Service Authentication/Authorization."
+ },
+ "identityProviders": {
+ "$ref": "#/definitions/IdentityProviders",
+ "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization."
+ },
+ "login": {
+ "$ref": "#/definitions/Login",
+ "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization."
+ },
+ "httpSettings": {
+ "$ref": "#/definitions/HttpSettings",
+ "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization."
+ },
+ "encryptionSettings": {
+ "$ref": "#/definitions/EncryptionSettings",
+ "description": "The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service Authentication/Authorization."
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AuthPlatform": {
+ "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "true
if the Authentication / Authorization feature is enabled for the current app; otherwise, false
.",
+ "type": "boolean"
+ },
+ "runtimeVersion": {
+ "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.",
+ "type": "string"
+ }
+ }
+ },
+ "GlobalValidation": {
+ "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization.",
+ "type": "object",
+ "properties": {
+ "unauthenticatedClientAction": {
+ "description": "The action to take when an unauthenticated client attempts to access the app.",
+ "enum": [
+ "RedirectToLoginPage",
+ "AllowAnonymous",
+ "Return401",
+ "Return403"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UnauthenticatedClientActionV2",
+ "modelAsString": false
+ }
+ },
+ "redirectToProvider": {
+ "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\".",
+ "type": "string"
+ },
+ "excludedPaths": {
+ "description": "The paths for which unauthenticated flow would not be redirected to the login page.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "HttpSettings": {
+ "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization.",
+ "type": "object",
+ "properties": {
+ "requireHttps": {
+ "description": "false
if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true
.",
+ "type": "boolean"
+ },
+ "routes": {
+ "$ref": "#/definitions/HttpSettingsRoutes",
+ "description": "The configuration settings of the paths HTTP requests."
+ },
+ "forwardProxy": {
+ "$ref": "#/definitions/ForwardProxy",
+ "description": "The configuration settings of a forward proxy used to make the requests."
+ }
+ }
+ },
+ "EncryptionSettings": {
+ "description": "The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service Authentication/Authorization.",
+ "type": "object",
+ "properties": {
+ "containerAppAuthEncryptionSecretName": {
+ "description": "The secret name which is referenced for EncryptionKey.",
+ "type": "string"
+ },
+ "containerAppAuthSigningSecretName": {
+ "description": "The secret name which is referenced for SigningKey.",
+ "type": "string"
+ }
+ }
+ },
+ "HttpSettingsRoutes": {
+ "description": "The configuration settings of the paths HTTP requests.",
+ "type": "object",
+ "properties": {
+ "apiPrefix": {
+ "description": "The prefix that should precede all the authentication/authorization paths.",
+ "type": "string"
+ }
+ }
+ },
+ "ForwardProxy": {
+ "description": "The configuration settings of a forward proxy used to make the requests.",
+ "type": "object",
+ "properties": {
+ "convention": {
+ "description": "The convention used to determine the url of the request made.",
+ "enum": [
+ "NoProxy",
+ "Standard",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ForwardProxyConvention",
+ "modelAsString": false
+ }
+ },
+ "customHostHeaderName": {
+ "description": "The name of the header containing the host of the request.",
+ "type": "string"
+ },
+ "customProtoHeaderName": {
+ "description": "The name of the header containing the scheme of the request.",
+ "type": "string"
+ }
+ }
+ },
+ "Login": {
+ "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.",
+ "type": "object",
+ "properties": {
+ "routes": {
+ "$ref": "#/definitions/LoginRoutes",
+ "description": "The routes that specify the endpoints used for login and logout requests."
+ },
+ "tokenStore": {
+ "$ref": "#/definitions/TokenStore",
+ "description": "The configuration settings of the token store."
+ },
+ "preserveUrlFragmentsForLogins": {
+ "description": "true
if the fragments from the request are preserved after the login request is made; otherwise, false
.",
+ "type": "boolean"
+ },
+ "allowedExternalRedirectUrls": {
+ "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.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cookieExpiration": {
+ "$ref": "#/definitions/CookieExpiration",
+ "description": "The configuration settings of the session cookie's expiration."
+ },
+ "nonce": {
+ "$ref": "#/definitions/Nonce",
+ "description": "The configuration settings of the nonce used in the login flow."
+ }
+ }
+ },
+ "LoginRoutes": {
+ "description": "The routes that specify the endpoints used for login and logout requests.",
+ "type": "object",
+ "properties": {
+ "logoutEndpoint": {
+ "description": "The endpoint at which a logout request should be made.",
+ "type": "string"
+ }
+ }
+ },
+ "TokenStore": {
+ "description": "The configuration settings of the token store.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "true
to durably store platform-specific security tokens that are obtained during login flows; otherwise, false
.\n The default is false
.",
+ "type": "boolean"
+ },
+ "tokenRefreshExtensionHours": {
+ "format": "double",
+ "description": "The number of hours after session token expiration that a session token can be used to\ncall the token refresh API. The default is 72 hours.",
+ "type": "number"
+ },
+ "azureBlobStorage": {
+ "$ref": "#/definitions/BlobStorageTokenStore",
+ "description": "The configuration settings of the storage of the tokens if blob storage is used."
+ }
+ }
+ },
+ "BlobStorageTokenStore": {
+ "description": "The configuration settings of the storage of the tokens if blob storage is used.",
+ "type": "object",
+ "properties": {
+ "sasUrlSettingName": {
+ "description": "The name of the app secrets containing the SAS URL of the blob storage containing the tokens. Should not be used along with blobContainerUri.",
+ "type": "string"
+ },
+ "blobContainerUri": {
+ "description": "The URI of the blob storage containing the tokens. Should not be used along with sasUrlSettingName.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The Client ID of a User-Assigned Managed Identity. Should not be used along with managedIdentityResourceId.",
+ "type": "string"
+ },
+ "managedIdentityResourceId": {
+ "description": "The Resource ID of a User-Assigned Managed Identity. Should not be used along with clientId.",
+ "type": "string"
+ }
+ }
+ },
+ "CookieExpiration": {
+ "description": "The configuration settings of the session cookie's expiration.",
+ "type": "object",
+ "properties": {
+ "convention": {
+ "description": "The convention used when determining the session cookie's expiration.",
+ "enum": [
+ "FixedTime",
+ "IdentityProviderDerived"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CookieExpirationConvention",
+ "modelAsString": false
+ }
+ },
+ "timeToExpiration": {
+ "description": "The time after the request is made when the session cookie should expire.",
+ "type": "string"
+ }
+ }
+ },
+ "Nonce": {
+ "description": "The configuration settings of the nonce used in the login flow.",
+ "type": "object",
+ "properties": {
+ "validateNonce": {
+ "description": "false
if the nonce should not be validated while completing the login flow; otherwise, true
.",
+ "type": "boolean"
+ },
+ "nonceExpirationInterval": {
+ "description": "The time after the request is made when the nonce should expire.",
+ "type": "string"
+ }
+ }
+ },
+ "IdentityProviders": {
+ "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization.",
+ "type": "object",
+ "properties": {
+ "azureActiveDirectory": {
+ "$ref": "#/definitions/AzureActiveDirectory",
+ "description": "The configuration settings of the Azure Active directory provider."
+ },
+ "facebook": {
+ "$ref": "#/definitions/Facebook",
+ "description": "The configuration settings of the Facebook provider."
+ },
+ "gitHub": {
+ "$ref": "#/definitions/GitHub",
+ "description": "The configuration settings of the GitHub provider."
+ },
+ "google": {
+ "$ref": "#/definitions/Google",
+ "description": "The configuration settings of the Google provider."
+ },
+ "twitter": {
+ "$ref": "#/definitions/Twitter",
+ "description": "The configuration settings of the Twitter provider."
+ },
+ "apple": {
+ "$ref": "#/definitions/Apple",
+ "description": "The configuration settings of the Apple provider."
+ },
+ "azureStaticWebApps": {
+ "$ref": "#/definitions/AzureStaticWebApps",
+ "description": "The configuration settings of the Azure Static Web Apps provider."
+ },
+ "customOpenIdConnectProviders": {
+ "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.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/CustomOpenIdConnectProvider"
+ }
+ }
+ }
+ },
+ "AzureActiveDirectory": {
+ "description": "The configuration settings of the Azure Active directory provider.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "false
if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true
.",
+ "type": "boolean"
+ },
+ "registration": {
+ "$ref": "#/definitions/AzureActiveDirectoryRegistration",
+ "description": "The configuration settings of the Azure Active Directory app registration."
+ },
+ "login": {
+ "$ref": "#/definitions/AzureActiveDirectoryLogin",
+ "description": "The configuration settings of the Azure Active Directory login flow."
+ },
+ "validation": {
+ "$ref": "#/definitions/AzureActiveDirectoryValidation",
+ "description": "The configuration settings of the Azure Active Directory token validation flow."
+ },
+ "isAutoProvisioned": {
+ "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.",
+ "type": "boolean"
+ }
+ }
+ },
+ "AzureActiveDirectoryLogin": {
+ "description": "The configuration settings of the Azure Active Directory login flow.",
+ "type": "object",
+ "properties": {
+ "loginParameters": {
+ "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\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "disableWWWAuthenticate": {
+ "description": "true
if the www-authenticate provider should be omitted from the request; otherwise, false
.",
+ "type": "boolean"
+ }
+ }
+ },
+ "AzureActiveDirectoryRegistration": {
+ "description": "The configuration settings of the Azure Active Directory app registration.",
+ "type": "object",
+ "properties": {
+ "openIdIssuer": {
+ "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",
+ "type": "string"
+ },
+ "clientId": {
+ "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",
+ "type": "string"
+ },
+ "clientSecretSettingName": {
+ "description": "The app setting name that contains the client secret of the relying party application.",
+ "type": "string"
+ },
+ "clientSecretCertificateThumbprint": {
+ "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.",
+ "type": "string"
+ },
+ "clientSecretCertificateSubjectAlternativeName": {
+ "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.",
+ "type": "string"
+ },
+ "clientSecretCertificateIssuer": {
+ "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.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureActiveDirectoryValidation": {
+ "description": "The configuration settings of the Azure Active Directory token validation flow.",
+ "type": "object",
+ "properties": {
+ "jwtClaimChecks": {
+ "$ref": "#/definitions/JwtClaimChecks",
+ "description": "The configuration settings of the checks that should be made while validating the JWT Claims."
+ },
+ "allowedAudiences": {
+ "description": "The list of audiences that can make successful authentication/authorization requests.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "defaultAuthorizationPolicy": {
+ "$ref": "#/definitions/DefaultAuthorizationPolicy",
+ "description": "The configuration settings of the default authorization policy."
+ }
+ }
+ },
+ "JwtClaimChecks": {
+ "description": "The configuration settings of the checks that should be made while validating the JWT Claims.",
+ "type": "object",
+ "properties": {
+ "allowedGroups": {
+ "description": "The list of the allowed groups.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allowedClientApplications": {
+ "description": "The list of the allowed client applications.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DefaultAuthorizationPolicy": {
+ "description": "The configuration settings of the Azure Active Directory default authorization policy.",
+ "type": "object",
+ "properties": {
+ "allowedPrincipals": {
+ "$ref": "#/definitions/AllowedPrincipals",
+ "description": "The configuration settings of the Azure Active Directory allowed principals."
+ },
+ "allowedApplications": {
+ "description": "The configuration settings of the Azure Active Directory allowed applications.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AllowedPrincipals": {
+ "description": "The configuration settings of the Azure Active Directory allowed principals.",
+ "type": "object",
+ "properties": {
+ "groups": {
+ "description": "The list of the allowed groups.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "identities": {
+ "description": "The list of the allowed identities.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Facebook": {
+ "description": "The configuration settings of the Facebook provider.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "false
if the Facebook provider should not be enabled despite the set registration; otherwise, true
.",
+ "type": "boolean"
+ },
+ "registration": {
+ "$ref": "#/definitions/AppRegistration",
+ "description": "The configuration settings of the app registration for the Facebook provider."
+ },
+ "graphApiVersion": {
+ "description": "The version of the Facebook api to be used while logging in.",
+ "type": "string"
+ },
+ "login": {
+ "$ref": "#/definitions/LoginScopes",
+ "description": "The configuration settings of the login flow."
+ }
+ }
+ },
+ "AppRegistration": {
+ "description": "The configuration settings of the app registration for providers that have app ids and app secrets",
+ "type": "object",
+ "properties": {
+ "appId": {
+ "description": "The App ID of the app used for login.",
+ "type": "string"
+ },
+ "appSecretSettingName": {
+ "description": "The app setting name that contains the app secret.",
+ "type": "string"
+ }
+ }
+ },
+ "LoginScopes": {
+ "description": "The configuration settings of the login flow, including the scopes that should be requested.",
+ "type": "object",
+ "properties": {
+ "scopes": {
+ "description": "A list of the scopes that should be requested while authenticating.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "GitHub": {
+ "description": "The configuration settings of the GitHub provider.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "false
if the GitHub provider should not be enabled despite the set registration; otherwise, true
.",
+ "type": "boolean"
+ },
+ "registration": {
+ "$ref": "#/definitions/ClientRegistration",
+ "description": "The configuration settings of the app registration for the GitHub provider."
+ },
+ "login": {
+ "$ref": "#/definitions/LoginScopes",
+ "description": "The configuration settings of the login flow."
+ }
+ }
+ },
+ "ClientRegistration": {
+ "description": "The configuration settings of the app registration for providers that have client ids and client secrets",
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "description": "The Client ID of the app used for login.",
+ "type": "string"
+ },
+ "clientSecretSettingName": {
+ "description": "The app setting name that contains the client secret.",
+ "type": "string"
+ }
+ }
+ },
+ "Google": {
+ "description": "The configuration settings of the Google provider.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "false
if the Google provider should not be enabled despite the set registration; otherwise, true
.",
+ "type": "boolean"
+ },
+ "registration": {
+ "$ref": "#/definitions/ClientRegistration",
+ "description": "The configuration settings of the app registration for the Google provider."
+ },
+ "login": {
+ "$ref": "#/definitions/LoginScopes",
+ "description": "The configuration settings of the login flow."
+ },
+ "validation": {
+ "$ref": "#/definitions/AllowedAudiencesValidation",
+ "description": "The configuration settings of the Azure Active Directory token validation flow."
+ }
+ }
+ },
+ "AllowedAudiencesValidation": {
+ "description": "The configuration settings of the Allowed Audiences validation flow.",
+ "type": "object",
+ "properties": {
+ "allowedAudiences": {
+ "description": "The configuration settings of the allowed list of audiences from which to validate the JWT token.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Twitter": {
+ "description": "The configuration settings of the Twitter provider.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "false
if the Twitter provider should not be enabled despite the set registration; otherwise, true
.",
+ "type": "boolean"
+ },
+ "registration": {
+ "$ref": "#/definitions/TwitterRegistration",
+ "description": "The configuration settings of the app registration for the Twitter provider."
+ }
+ }
+ },
+ "TwitterRegistration": {
+ "description": "The configuration settings of the app registration for the Twitter provider.",
+ "type": "object",
+ "properties": {
+ "consumerKey": {
+ "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",
+ "type": "string"
+ },
+ "consumerSecretSettingName": {
+ "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in.",
+ "type": "string"
+ }
+ }
+ },
+ "Apple": {
+ "description": "The configuration settings of the Apple provider.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "false
if the Apple provider should not be enabled despite the set registration; otherwise, true
.",
+ "type": "boolean"
+ },
+ "registration": {
+ "$ref": "#/definitions/AppleRegistration",
+ "description": "The configuration settings of the Apple registration."
+ },
+ "login": {
+ "$ref": "#/definitions/LoginScopes",
+ "description": "The configuration settings of the login flow."
+ }
+ }
+ },
+ "AppleRegistration": {
+ "description": "The configuration settings of the registration for the Apple provider",
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "description": "The Client ID of the app used for login.",
+ "type": "string"
+ },
+ "clientSecretSettingName": {
+ "description": "The app setting name that contains the client secret.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureStaticWebApps": {
+ "description": "The configuration settings of the Azure Static Web Apps provider.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "false
if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true
.",
+ "type": "boolean"
+ },
+ "registration": {
+ "$ref": "#/definitions/AzureStaticWebAppsRegistration",
+ "description": "The configuration settings of the Azure Static Web Apps registration."
+ }
+ }
+ },
+ "AzureStaticWebAppsRegistration": {
+ "description": "The configuration settings of the registration for the Azure Static Web Apps provider",
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "description": "The Client ID of the app used for login.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomOpenIdConnectProvider": {
+ "description": "The configuration settings of the custom Open ID Connect provider.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "false
if the custom Open ID provider provider should not be enabled; otherwise, true
.",
+ "type": "boolean"
+ },
+ "registration": {
+ "$ref": "#/definitions/OpenIdConnectRegistration",
+ "description": "The configuration settings of the app registration for the custom Open ID Connect provider."
+ },
+ "login": {
+ "$ref": "#/definitions/OpenIdConnectLogin",
+ "description": "The configuration settings of the login flow of the custom Open ID Connect provider."
+ }
+ }
+ },
+ "OpenIdConnectRegistration": {
+ "description": "The configuration settings of the app registration for the custom Open ID Connect provider.",
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "description": "The client id of the custom Open ID Connect provider.",
+ "type": "string"
+ },
+ "clientCredential": {
+ "$ref": "#/definitions/OpenIdConnectClientCredential",
+ "description": "The authentication credentials of the custom Open ID Connect provider."
+ },
+ "openIdConnectConfiguration": {
+ "$ref": "#/definitions/OpenIdConnectConfig",
+ "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider."
+ }
+ }
+ },
+ "OpenIdConnectClientCredential": {
+ "description": "The authentication client credentials of the custom Open ID Connect provider.",
+ "type": "object",
+ "properties": {
+ "method": {
+ "description": "The method that should be used to authenticate the user.",
+ "enum": [
+ "ClientSecretPost"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClientCredentialMethod",
+ "modelAsString": false
+ }
+ },
+ "clientSecretSettingName": {
+ "description": "The app setting that contains the client secret for the custom Open ID Connect provider.",
+ "type": "string"
+ }
+ }
+ },
+ "OpenIdConnectConfig": {
+ "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider.",
+ "type": "object",
+ "properties": {
+ "authorizationEndpoint": {
+ "description": "The endpoint to be used to make an authorization request.",
+ "type": "string"
+ },
+ "tokenEndpoint": {
+ "description": "The endpoint to be used to request a token.",
+ "type": "string"
+ },
+ "issuer": {
+ "description": "The endpoint that issues the token.",
+ "type": "string"
+ },
+ "certificationUri": {
+ "description": "The endpoint that provides the keys necessary to validate the token.",
+ "type": "string"
+ },
+ "wellKnownOpenIdConfiguration": {
+ "description": "The endpoint that contains all the configuration endpoints for the provider.",
+ "type": "string"
+ }
+ }
+ },
+ "OpenIdConnectLogin": {
+ "description": "The configuration settings of the login flow of the custom Open ID Connect provider.",
+ "type": "object",
+ "properties": {
+ "nameClaimType": {
+ "description": "The name of the claim that contains the users name.",
+ "type": "string"
+ },
+ "scopes": {
+ "description": "A list of the scopes that should be requested while authenticating.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/AvailableWorkloadProfiles.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/AvailableWorkloadProfiles.json
new file mode 100644
index 000000000000..64fdd5f54f95
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/AvailableWorkloadProfiles.json
@@ -0,0 +1,149 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/locations/{location}/availableManagedEnvironmentsWorkloadProfileTypes": {
+ "get": {
+ "tags": [
+ "AvailableWorkloadProfiles"
+ ],
+ "summary": "Get available workload profiles by location.",
+ "description": "Get all available workload profiles for a location.",
+ "operationId": "AvailableWorkloadProfiles_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailableWorkloadProfilesCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "BillingMeters_Get": {
+ "$ref": "./examples/AvailableWorkloadProfiles_Get.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AvailableWorkloadProfile": {
+ "description": "A workload profile with specific hardware configure to run container apps.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Region of the workload profile."
+ },
+ "properties": {
+ "description": "Revision resource specific properties",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "Used to categorize workload profiles.",
+ "type": "string"
+ },
+ "applicability": {
+ "type": "string",
+ "description": "indicates whether the profile is default for the location.",
+ "enum": [
+ "LocationDefault",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "Applicability",
+ "modelAsString": true
+ }
+ },
+ "cores": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of cores in CPU."
+ },
+ "memoryGiB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Memory in GiB."
+ },
+ "gpus": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of GPUs."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The everyday name of the workload profile."
+ }
+ }
+ }
+ }
+ },
+ "AvailableWorkloadProfilesCollection": {
+ "description": "Collection of available workload profiles in the location.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of workload profiles.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailableWorkloadProfile"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/BillingMeters.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/BillingMeters.json
new file mode 100644
index 000000000000..fc346be06eb2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/BillingMeters.json
@@ -0,0 +1,133 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/locations/{location}/billingMeters": {
+ "get": {
+ "tags": [
+ "BillingMeters"
+ ],
+ "summary": "Get billing meters by location.",
+ "description": "Get all billingMeters for a location.",
+ "operationId": "BillingMeters_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BillingMeterCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BillingMeters_Get": {
+ "$ref": "./examples/BillingMeters_Get.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BillingMeter": {
+ "description": "Billing meter.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData"
+ },
+ "location": {
+ "type": "string",
+ "description": "Region for the billing meter."
+ },
+ "properties": {
+ "description": "Revision resource specific properties",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "Used to categorize billing meters.",
+ "type": "string"
+ },
+ "meterType": {
+ "type": "string",
+ "description": "Billing meter type."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The everyday name of the billing meter."
+ }
+ }
+ }
+ }
+ },
+ "BillingMeterCollection": {
+ "description": "Collection of billing meters.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of billing meters.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BillingMeter"
+ }
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Builders.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Builders.json
new file mode 100644
index 000000000000..4ae726de6e32
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Builders.json
@@ -0,0 +1,491 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2024-10-02-preview"
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/builders": {
+ "get": {
+ "tags": [
+ "Builders"
+ ],
+ "operationId": "Builders_ListBySubscription",
+ "description": "List BuilderResource resources by subscription ID",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BuilderCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Builders_ListBySubscription_0": {
+ "$ref": "./examples/Builders_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders": {
+ "get": {
+ "tags": [
+ "Builders"
+ ],
+ "operationId": "Builders_ListByResourceGroup",
+ "description": "List BuilderResource resources by resource group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BuilderCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Builders_ListByResourceGroup_0": {
+ "$ref": "./examples/Builders_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders/{builderName}": {
+ "get": {
+ "tags": [
+ "Builders"
+ ],
+ "operationId": "Builders_Get",
+ "description": "Get a BuilderResource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BuilderNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BuilderResource"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Builders_Get_0": {
+ "$ref": "./examples/Builders_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Builders"
+ ],
+ "operationId": "Builders_CreateOrUpdate",
+ "description": "Create or update a BuilderResource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BuilderNameParameter"
+ },
+ {
+ "name": "builderEnvelope",
+ "in": "body",
+ "required": true,
+ "description": "Resource create parameters.",
+ "schema": {
+ "$ref": "#/definitions/BuilderResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM create or update operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BuilderResource"
+ }
+ },
+ "201": {
+ "description": "ARM create or update operation has been started.",
+ "schema": {
+ "$ref": "#/definitions/BuilderResource"
+ },
+ "headers": {
+ "Azure-AsyncOperation": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Builders_CreateOrUpdate_0": {
+ "$ref": "./examples/Builders_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Builders"
+ ],
+ "operationId": "Builders_Update",
+ "description": "Update a BuilderResource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BuilderNameParameter"
+ },
+ {
+ "name": "builderEnvelope",
+ "in": "body",
+ "required": true,
+ "description": "The resource properties to be updated.",
+ "schema": {
+ "$ref": "#/definitions/BuilderResourceUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BuilderResource"
+ }
+ },
+ "202": {
+ "description": "Resource update request accepted.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Builders_Update_0": {
+ "$ref": "./examples/Builders_Update.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Builders"
+ ],
+ "operationId": "Builders_Delete",
+ "description": "Delete a BuilderResource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BuilderNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Builders_Delete_0": {
+ "$ref": "./examples/Builders_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "BuilderProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/BuilderProvisioningState",
+ "description": "Provisioning state of a builder resource.",
+ "readOnly": true
+ },
+ "environmentId": {
+ "type": "string",
+ "description": "Resource ID of the container apps environment that the builder is associated with.",
+ "format": "arm-id"
+ },
+ "containerRegistries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerRegistry"
+ },
+ "x-ms-identifiers": [
+ "containerRegistryServer"
+ ],
+ "description": "List of mappings of container registries and the managed identity used to connect to it."
+ }
+ },
+ "description": "The builder properties.",
+ "required": [
+ "environmentId"
+ ]
+ },
+ "BuilderResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BuilderProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity",
+ "description": "The managed service identities assigned to this resource."
+ }
+ },
+ "description": "Information about the SourceToCloud builder resource.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "BuilderCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BuilderResource"
+ },
+ "description": "The BuilderResource items on this page"
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "description": "The response of a BuilderResource list operation.",
+ "required": [
+ "value"
+ ]
+ },
+ "BuilderResourceUpdate": {
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity",
+ "description": "The managed service identities assigned to this resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ },
+ "properties": {
+ "$ref": "#/definitions/BuilderResourceUpdateProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "The type used for update operations of the BuilderResource."
+ },
+ "BuilderResourceUpdateProperties": {
+ "type": "object",
+ "properties": {
+ "environmentId": {
+ "type": "string",
+ "description": "Resource ID of the container apps environment that the builder is associated with.",
+ "format": "arm-id"
+ }
+ },
+ "description": "The updatable properties of the BuilderResource."
+ },
+ "ContainerRegistry": {
+ "type": "object",
+ "properties": {
+ "containerRegistryServer": {
+ "type": "string",
+ "description": "Login server of the container registry."
+ },
+ "identityResourceId": {
+ "type": "string",
+ "description": "Resource ID of the managed identity.",
+ "format": "arm-id"
+ }
+ },
+ "description": "Model representing a mapping from a container registry to the identity used to connect to it.",
+ "required": [
+ "containerRegistryServer",
+ "identityResourceId"
+ ]
+ },
+ "BuilderProvisioningState": {
+ "type": "string",
+ "description": "Resource instance provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Creating",
+ "Updating",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "BuilderProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ },
+ "parameters": {
+ "BuilderNameParameter": {
+ "name": "builderName",
+ "in": "path",
+ "required": true,
+ "description": "The name of the builder.",
+ "minLength": 2,
+ "maxLength": 32,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Builds.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Builds.json
new file mode 100644
index 000000000000..1d8634e86ee2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Builds.json
@@ -0,0 +1,475 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2024-10-02-preview"
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders/{builderName}/builds": {
+ "get": {
+ "tags": [
+ "Builds"
+ ],
+ "operationId": "BuildsByBuilderResource_List",
+ "description": "List BuildResource resources by BuilderResource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./Builders.json#/parameters/BuilderNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BuildCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Builds_ListByBuilderResource_0": {
+ "$ref": "./examples/Builds_ListByBuilderResource.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders/{builderName}/builds/{buildName}": {
+ "get": {
+ "tags": [
+ "Builds"
+ ],
+ "operationId": "Builds_Get",
+ "description": "Get a BuildResource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./Builders.json#/parameters/BuilderNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BuildNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BuildResource"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Builds_Get_0": {
+ "$ref": "./examples/Builds_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Builds"
+ ],
+ "operationId": "Builds_CreateOrUpdate",
+ "description": "Create a BuildResource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./Builders.json#/parameters/BuilderNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BuildNameParameter"
+ },
+ {
+ "name": "buildEnvelope",
+ "in": "body",
+ "required": true,
+ "description": "Resource create or update parameters.",
+ "schema": {
+ "$ref": "#/definitions/BuildResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM create or update operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BuildResource"
+ }
+ },
+ "201": {
+ "description": "ARM create or update operation has been started.",
+ "schema": {
+ "$ref": "#/definitions/BuildResource"
+ },
+ "headers": {
+ "Azure-AsyncOperation": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Builds_CreateOrUpdate_WithConfig": {
+ "$ref": "./examples/Builds_CreateOrUpdate.json"
+ },
+ "Builds_CreateOrUpdate_NoConfig": {
+ "$ref": "./examples/Builds_CreateOrUpdate_NoConfig.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Builds"
+ ],
+ "operationId": "Builds_Delete",
+ "description": "Delete a BuildResource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./Builders.json#/parameters/BuilderNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BuildNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Builds_Delete_0": {
+ "$ref": "./examples/Builds_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders/{builderName}/builds/{buildName}/listAuthToken": {
+ "post": {
+ "tags": [
+ "Builds"
+ ],
+ "operationId": "BuildAuthToken_List",
+ "description": "Gets the token used to connect to the endpoint where source code can be uploaded for a build.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./Builders.json#/parameters/BuilderNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BuildNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BuildToken"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Build Auth Token": {
+ "$ref": "./examples/Builds_ListAuthToken.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BuildConfiguration": {
+ "type": "object",
+ "properties": {
+ "baseOs": {
+ "type": "string",
+ "description": "Base OS used to build and run the app."
+ },
+ "platform": {
+ "type": "string",
+ "description": "Platform to be used to build and run the app."
+ },
+ "platformVersion": {
+ "type": "string",
+ "description": "Platform version to be used to build and run the app."
+ },
+ "environmentVariables": {
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/EnvironmentVariable"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "description": "List of environment variables to be passed to the build, secrets should not be used in environment variable."
+ },
+ "preBuildSteps": {
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/PreBuildStep"
+ },
+ "x-ms-identifiers": [],
+ "description": "List of steps to perform before the build."
+ }
+ },
+ "description": "Configuration of the build."
+ },
+ "BuildProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/BuildProvisioningState",
+ "description": "Build provisioning state.",
+ "readOnly": true
+ },
+ "buildStatus": {
+ "$ref": "#/definitions/BuildStatus",
+ "description": "Status of the build once it has been provisioned.",
+ "readOnly": true
+ },
+ "destinationContainerRegistry": {
+ "$ref": "./CommonDefinitions.json#/definitions/ContainerRegistryWithCustomImage",
+ "description": "Container registry that the final image will be uploaded to."
+ },
+ "configuration": {
+ "$ref": "#/definitions/BuildConfiguration",
+ "description": "Configuration of the build."
+ },
+ "uploadEndpoint": {
+ "type": "string",
+ "description": "Endpoint to which the source code should be uploaded.",
+ "readOnly": true
+ },
+ "logStreamEndpoint": {
+ "type": "string",
+ "description": "Endpoint from which the build logs can be streamed.",
+ "readOnly": true
+ },
+ "tokenEndpoint": {
+ "type": "string",
+ "description": "Endpoint to use to retrieve an authentication token for log streaming and uploading source code.",
+ "readOnly": true
+ }
+ },
+ "description": "The build properties."
+ },
+ "BuildResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BuildProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "description": "Information pertaining to an individual build.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "BuildCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BuildResource"
+ },
+ "description": "The BuildResource items on this page"
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "description": "The response of a BuildResource list operation.",
+ "required": [
+ "value"
+ ]
+ },
+ "BuildStatus": {
+ "type": "string",
+ "description": "Status of the build once it has been provisioned.",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "BuildStatus",
+ "modelAsString": true
+ }
+ },
+ "BuildToken": {
+ "description": "Build Auth Token.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string",
+ "x-ms-secret": true,
+ "description": "Authentication token.",
+ "readOnly": true
+ },
+ "expires": {
+ "format": "date-time",
+ "description": "Token expiration date.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BuildProvisioningState": {
+ "type": "string",
+ "description": "Resource instance provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Creating",
+ "Updating",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "BuildProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ },
+ "parameters": {
+ "BuildNameParameter": {
+ "name": "buildName",
+ "in": "path",
+ "required": true,
+ "description": "The name of a build.",
+ "minLength": 2,
+ "maxLength": 64,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/CommonDefinitions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/CommonDefinitions.json
new file mode 100644
index 000000000000..c446580151ec
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/CommonDefinitions.json
@@ -0,0 +1,2246 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {},
+ "definitions": {
+ "EnvironmentVar": {
+ "description": "Container App container environment variable.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Environment variable name.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Non-secret environment variable value.",
+ "type": "string"
+ },
+ "secretRef": {
+ "description": "Name of the Container App secret from which to pull the environment variable value.",
+ "type": "string"
+ }
+ }
+ },
+ "WorkloadProfileName": {
+ "description": "Workload profile name for container apps to execute on.",
+ "type": "string"
+ },
+ "WorkloadProfileType": {
+ "description": "Workload profile type for container apps to execute on.",
+ "type": "string"
+ },
+ "BaseContainer": {
+ "description": "Container App base container definition.",
+ "type": "object",
+ "properties": {
+ "image": {
+ "description": "Container image tag.",
+ "type": "string"
+ },
+ "imageType": {
+ "description": "The type of the image. Set to CloudBuild to let the system manages the image, where user will not be able to update image through image field. Set to ContainerImage for user provided image.",
+ "type": "string",
+ "enum": [
+ "CloudBuild",
+ "ContainerImage"
+ ],
+ "x-ms-enum": {
+ "name": "imageType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Custom container name.",
+ "type": "string"
+ },
+ "command": {
+ "description": "Container start command.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "args": {
+ "description": "Container start command arguments.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "env": {
+ "description": "Container environment variables.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVar"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "resources": {
+ "$ref": "#/definitions/ContainerResources",
+ "description": "Container resource requirements."
+ },
+ "volumeMounts": {
+ "description": "Container volume mounts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeMount"
+ },
+ "x-ms-identifiers": [
+ "volumeName"
+ ]
+ }
+ }
+ },
+ "InitContainer": {
+ "description": "Container App init container definition",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BaseContainer"
+ }
+ ]
+ },
+ "Container": {
+ "description": "Container App container definition",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BaseContainer"
+ }
+ ],
+ "properties": {
+ "probes": {
+ "description": "List of probes for the container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerAppProbe"
+ },
+ "x-ms-identifiers": [
+ "type"
+ ]
+ }
+ }
+ },
+ "ContainerResources": {
+ "description": "Container App container resource requirements.",
+ "type": "object",
+ "properties": {
+ "cpu": {
+ "format": "double",
+ "description": "Required CPU in cores, e.g. 0.5",
+ "type": "number"
+ },
+ "memory": {
+ "description": "Required memory, e.g. \"250Mb\"",
+ "type": "string"
+ },
+ "ephemeralStorage": {
+ "description": "Ephemeral Storage, e.g. \"1Gi\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "gpu": {
+ "format": "double",
+ "description": "Required GPU in cores for GPU based app, e.g. 1.0",
+ "type": "number"
+ }
+ }
+ },
+ "ContainerAppProbe": {
+ "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "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.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "httpGet": {
+ "description": "HTTPGet specifies the http request to perform.",
+ "type": "object",
+ "required": [
+ "port"
+ ],
+ "properties": {
+ "host": {
+ "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+ "type": "string"
+ },
+ "httpHeaders": {
+ "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+ "type": "array",
+ "items": {
+ "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+ "type": "object",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "description": "The header field name",
+ "type": "string"
+ },
+ "value": {
+ "description": "The header field value",
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "path": {
+ "description": "Path to access on the HTTP server.",
+ "type": "string"
+ },
+ "port": {
+ "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.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "scheme": {
+ "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+ "enum": [
+ "HTTP",
+ "HTTPS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Scheme",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "description": "Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "periodSeconds": {
+ "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "successThreshold": {
+ "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.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "tcpSocket": {
+ "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.",
+ "type": "object",
+ "required": [
+ "port"
+ ],
+ "properties": {
+ "host": {
+ "description": "Optional: Host name to connect to, defaults to the pod IP.",
+ "type": "string"
+ },
+ "port": {
+ "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.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "terminationGracePeriodSeconds": {
+ "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)",
+ "type": "integer",
+ "format": "int64"
+ },
+ "timeoutSeconds": {
+ "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "type": {
+ "description": "The type of probe.",
+ "enum": [
+ "Liveness",
+ "Readiness",
+ "Startup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ContainerRegistryWithCustomImage": {
+ "type": "object",
+ "properties": {
+ "server": {
+ "type": "string",
+ "description": "Login server of the container registry that the final image should be uploaded to. Builder resource needs to have this container registry defined along with an identity to use to access it."
+ },
+ "image": {
+ "type": "string",
+ "description": "Full name that the final image should be uploaded as, including both image name and tag."
+ }
+ },
+ "description": "Container registry that the final image will be uploaded to.",
+ "required": [
+ "server"
+ ]
+ },
+ "CustomScaleRule": {
+ "description": "Container App container Custom scaling rule.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc.",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "Metadata properties to describe custom scale rule.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "auth": {
+ "description": "Authentication secrets for the custom scale rule.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScaleRuleAuth"
+ },
+ "x-ms-identifiers": [
+ "triggerParameter"
+ ]
+ },
+ "identity": {
+ "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomain": {
+ "description": "Custom Domain of a Container App",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Hostname.",
+ "type": "string"
+ },
+ "bindingType": {
+ "description": "Custom Domain binding type.",
+ "enum": [
+ "Disabled",
+ "SniEnabled",
+ "Auto"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "bindingType",
+ "modelAsString": true
+ }
+ },
+ "certificateId": {
+ "description": "Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainConfiguration": {
+ "type": "object",
+ "description": "Configuration properties for apps environment custom domain",
+ "properties": {
+ "customDomainVerificationId": {
+ "description": "Id used to verify domain name ownership",
+ "type": "string",
+ "readOnly": true
+ },
+ "dnsSuffix": {
+ "type": "string",
+ "description": "Dns suffix for the environment domain",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "certificateKeyVaultProperties": {
+ "description": "Certificate stored in Azure Key Vault.",
+ "$ref": "#/definitions/CertificateKeyVaultProperties"
+ },
+ "certificateValue": {
+ "format": "byte",
+ "description": "PFX or PEM blob",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "certificatePassword": {
+ "description": "Certificate password",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "expirationDate": {
+ "format": "date-time",
+ "description": "Certificate expiration date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "Certificate thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subjectName": {
+ "description": "Subject name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DefaultErrorResponse": {
+ "description": "App Service error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Error model.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Standardized string to programmatically identify the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Detailed error description and debugging information.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "Detailed error description and debugging information.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "type": "array",
+ "description": "Details or the error",
+ "items": {
+ "description": "Detailed errors.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Standardized string to programmatically identify the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Detailed error description and debugging information.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "Detailed error description and debugging information.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "readOnly": true
+ },
+ "x-ms-identifiers": [
+ "code"
+ ]
+ },
+ "innererror": {
+ "description": "More information to debug error.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "HttpGet": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "URL to make HTTP GET request against."
+ },
+ "fileName": {
+ "type": "string",
+ "description": "Name of the file that the request should be saved to."
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of headers to send with the request."
+ }
+ },
+ "description": "Model representing a http get request.",
+ "required": [
+ "url"
+ ]
+ },
+ "HttpScaleRule": {
+ "description": "Container App container Http scaling rule.",
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata properties to describe http scale rule.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "auth": {
+ "description": "Authentication secrets for the custom scale rule.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScaleRuleAuth"
+ },
+ "x-ms-identifiers": [
+ "triggerParameter"
+ ]
+ },
+ "identity": {
+ "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "PreBuildStep": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the pre-build step."
+ },
+ "scripts": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of custom commands to run."
+ },
+ "httpGet": {
+ "$ref": "./CommonDefinitions.json#/definitions/HttpGet",
+ "description": "Http get request to send before the build.",
+ "x-ms-identifiers": []
+ }
+ },
+ "description": "Model representing a pre-build step."
+ },
+ "TcpScaleRule": {
+ "description": "Container App container Tcp scaling rule.",
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata properties to describe tcp scale rule.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "auth": {
+ "description": "Authentication secrets for the tcp scale rule.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScaleRuleAuth"
+ },
+ "x-ms-identifiers": [
+ "triggerParameter"
+ ]
+ },
+ "identity": {
+ "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "QueueScaleRule": {
+ "description": "Container App container Azure Queue based scaling rule.",
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "Storage account name. required if using managed identity to authenticate",
+ "type": "string"
+ },
+ "queueName": {
+ "description": "Queue name.",
+ "type": "string"
+ },
+ "queueLength": {
+ "format": "int32",
+ "description": "Queue length.",
+ "type": "integer"
+ },
+ "auth": {
+ "description": "Authentication secrets for the queue scale rule.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScaleRuleAuth"
+ },
+ "x-ms-identifiers": [
+ "triggerParameter"
+ ]
+ },
+ "identity": {
+ "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "Scale": {
+ "description": "Container App scaling configurations.",
+ "type": "object",
+ "properties": {
+ "minReplicas": {
+ "format": "int32",
+ "description": "Optional. Minimum number of container replicas.",
+ "type": "integer"
+ },
+ "maxReplicas": {
+ "format": "int32",
+ "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set.",
+ "type": "integer",
+ "default": 10
+ },
+ "cooldownPeriod": {
+ "format": "int32",
+ "description": "Optional. KEDA Cooldown Period. Defaults to 300 seconds if not set.",
+ "type": "integer"
+ },
+ "pollingInterval": {
+ "format": "int32",
+ "description": "Optional. KEDA Polling Interval. Defaults to 30 seconds if not set.",
+ "type": "integer"
+ },
+ "rules": {
+ "description": "Scaling rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScaleRule"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "ScaleRule": {
+ "description": "Container App container scaling rule.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Scale Rule Name",
+ "type": "string"
+ },
+ "azureQueue": {
+ "$ref": "#/definitions/QueueScaleRule",
+ "description": "Azure Queue based scaling."
+ },
+ "custom": {
+ "$ref": "#/definitions/CustomScaleRule",
+ "description": "Custom scale rule."
+ },
+ "http": {
+ "$ref": "#/definitions/HttpScaleRule",
+ "description": "HTTP requests based scaling."
+ },
+ "tcp": {
+ "$ref": "#/definitions/TcpScaleRule",
+ "description": "Tcp requests based scaling."
+ }
+ }
+ },
+ "ScaleRuleAuth": {
+ "description": "Auth Secrets for Scale Rule",
+ "type": "object",
+ "properties": {
+ "secretRef": {
+ "description": "Name of the secret from which to pull the auth params.",
+ "type": "string"
+ },
+ "triggerParameter": {
+ "description": "Trigger Parameter that uses the secret",
+ "type": "string"
+ }
+ }
+ },
+ "Secret": {
+ "description": "Secret definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Secret Name.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Secret Value.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ },
+ "identity": {
+ "description": "Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity.",
+ "type": "string"
+ },
+ "keyVaultUrl": {
+ "description": "Azure Key Vault URL pointing to the secret referenced by the container app.",
+ "type": "string"
+ }
+ }
+ },
+ "Template": {
+ "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",
+ "type": "object",
+ "properties": {
+ "revisionSuffix": {
+ "description": "User friendly suffix that is appended to the revision name",
+ "type": "string"
+ },
+ "terminationGracePeriodSeconds": {
+ "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.",
+ "format": "int64",
+ "type": "integer"
+ },
+ "initContainers": {
+ "description": "List of specialized containers that run before app containers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InitContainer"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "containers": {
+ "description": "List of container definitions for the Container App.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Container"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "scale": {
+ "$ref": "#/definitions/Scale",
+ "description": "Scaling properties for the Container App."
+ },
+ "volumes": {
+ "description": "List of volume definitions for the Container App.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "serviceBinds": {
+ "description": "List of container app services bound to the app",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceBind"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "Volume": {
+ "description": "Volume definitions for the Container App.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Volume name.",
+ "type": "string"
+ },
+ "storageType": {
+ "description": "Storage type for the volume. If not provided, use EmptyDir.",
+ "enum": [
+ "AzureFile",
+ "EmptyDir",
+ "Secret",
+ "NfsAzureFile",
+ "Smb"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageName": {
+ "description": "Name of storage resource. No need to provide for EmptyDir and Secret.",
+ "type": "string"
+ },
+ "secrets": {
+ "description": "List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to volume.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecretVolumeItem"
+ },
+ "x-ms-identifiers": [
+ "secretRef"
+ ]
+ },
+ "mountOptions": {
+ "description": "Mount options used while mounting the Azure file share or NFS Azure file share. Must be a comma-separated string.",
+ "type": "string"
+ }
+ }
+ },
+ "SecretVolumeItem": {
+ "description": "Secret to be added to volume.",
+ "type": "object",
+ "properties": {
+ "secretRef": {
+ "description": "Name of the Container App secret from which to pull the secret value.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.",
+ "type": "string"
+ }
+ }
+ },
+ "VolumeMount": {
+ "description": "Volume mount for the Container App.",
+ "type": "object",
+ "properties": {
+ "volumeName": {
+ "description": "This must match the Name of a Volume.",
+ "type": "string"
+ },
+ "mountPath": {
+ "description": "Path within the container at which the volume should be mounted.Must not contain ':'.",
+ "type": "string"
+ },
+ "subPath": {
+ "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
+ "type": "string"
+ }
+ }
+ },
+ "DaprComponentsCollection": {
+ "description": "Dapr Components ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DaprComponent"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DaprComponentProperties": {
+ "description": "Dapr Component resource specific properties",
+ "type": "object",
+ "properties": {
+ "componentType": {
+ "description": "Component type",
+ "type": "string"
+ },
+ "version": {
+ "description": "Component version",
+ "type": "string"
+ },
+ "ignoreErrors": {
+ "description": "Boolean describing if the component errors are ignores",
+ "type": "boolean",
+ "default": false
+ },
+ "initTimeout": {
+ "description": "Initialization timeout",
+ "type": "string"
+ },
+ "secrets": {
+ "description": "Collection of secrets used by a Dapr component",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/Secret"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "secretStoreComponent": {
+ "description": "Name of a Dapr component to retrieve component secrets from",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "Component metadata",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DaprMetadata"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "scopes": {
+ "description": "Names of container apps that can use this Dapr component",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "serviceComponentBind": {
+ "description": "List of container app services that are bound to the Dapr component",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DaprComponentServiceBinding"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "DaprComponent": {
+ "description": "Dapr Component.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DaprComponentProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DaprMetadata": {
+ "description": "Dapr component metadata.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Metadata property name.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Metadata property value.",
+ "type": "string"
+ },
+ "secretRef": {
+ "description": "Name of the Dapr Component secret from which to pull the metadata property value.",
+ "type": "string"
+ }
+ }
+ },
+ "DaprComponentServiceBinding": {
+ "description": "Configuration to bind a Dapr Component to a dev ContainerApp Service",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the service bind",
+ "type": "string"
+ },
+ "serviceId": {
+ "description": "Resource id of the target service",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "Service bind metadata",
+ "type": "array",
+ "$ref": "#/definitions/DaprServiceBindMetadata"
+ }
+ }
+ },
+ "DaprServiceBindMetadata": {
+ "description": "Dapr component metadata.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Service bind metadata property name.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Service bind metadata property value.",
+ "type": "string"
+ }
+ }
+ },
+ "DaprSecretsCollection": {
+ "description": "Dapr component Secrets Collection for ListSecrets Action.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of secrets used by a Dapr component",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprSecret"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "DaprSecret": {
+ "description": "Dapr component Secret for ListSecrets Action",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Secret Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "Secret Value.",
+ "type": "string",
+ "x-ms-secret": true,
+ "readOnly": true
+ }
+ }
+ },
+ "ExtendedLocation": {
+ "type": "object",
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "DaprComponentResiliencyPoliciesCollection": {
+ "description": "Dapr Component Resiliency Policies ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DaprComponentResiliencyPolicy"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DaprComponentResiliencyPolicy": {
+ "description": "Dapr Component Resiliency Policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Dapr Component Resiliency Policy resource specific properties",
+ "type": "object",
+ "properties": {
+ "inboundPolicy": {
+ "description": "The optional inbound component resiliency policy configuration",
+ "$ref": "#/definitions/DaprComponentResiliencyPolicyConfiguration"
+ },
+ "outboundPolicy": {
+ "description": "The optional outbound component resiliency policy configuration",
+ "$ref": "#/definitions/DaprComponentResiliencyPolicyConfiguration"
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DaprComponentResiliencyPolicyConfiguration": {
+ "description": "Dapr Component Resiliency Policy Configuration.",
+ "type": "object",
+ "properties": {
+ "httpRetryPolicy": {
+ "description": "The optional HTTP retry policy configuration",
+ "$ref": "#/definitions/DaprComponentResiliencyPolicyHttpRetryPolicyConfiguration"
+ },
+ "timeoutPolicy": {
+ "description": "The optional timeout policy configuration",
+ "$ref": "#/definitions/DaprComponentResiliencyPolicyTimeoutPolicyConfiguration"
+ },
+ "circuitBreakerPolicy": {
+ "description": "The optional circuit breaker policy configuration",
+ "$ref": "#/definitions/DaprComponentResiliencyPolicyCircuitBreakerPolicyConfiguration"
+ }
+ },
+ "additionalProperties": false
+ },
+ "DaprComponentResiliencyPolicyCircuitBreakerPolicyConfiguration": {
+ "description": "Dapr Component Resiliency Policy Circuit Breaker Policy Configuration.",
+ "type": "object",
+ "properties": {
+ "consecutiveErrors": {
+ "description": "The number of consecutive errors before the circuit is opened.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "timeoutInSeconds": {
+ "description": "The interval in seconds until a retry attempt is made after the circuit is opened.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "intervalInSeconds": {
+ "description": "The optional interval in seconds after which the error count resets to 0. An interval of 0 will never reset. If not specified, the timeoutInSeconds value will be used.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "additionalProperties": false
+ },
+ "DaprComponentResiliencyPolicyHttpRetryPolicyConfiguration": {
+ "description": "Dapr Component Resiliency Policy HTTP Retry Policy Configuration.",
+ "type": "object",
+ "properties": {
+ "maxRetries": {
+ "description": "The optional maximum number of retries",
+ "type": "integer",
+ "format": "int32"
+ },
+ "retryBackOff": {
+ "description": "The optional retry backoff configuration",
+ "$ref": "#/definitions/DaprComponentResiliencyPolicyHttpRetryBackOffConfiguration"
+ }
+ },
+ "additionalProperties": false
+ },
+ "DaprComponentResiliencyPolicyHttpRetryBackOffConfiguration": {
+ "description": "Dapr Component Resiliency Policy HTTP Retry Backoff Configuration.",
+ "type": "object",
+ "properties": {
+ "initialDelayInMilliseconds": {
+ "description": "The optional initial delay in milliseconds before an operation is retried",
+ "type": "integer",
+ "format": "int32"
+ },
+ "maxIntervalInMilliseconds": {
+ "description": "The optional maximum time interval in milliseconds between retry attempts",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "additionalProperties": false
+ },
+ "DaprComponentResiliencyPolicyTimeoutPolicyConfiguration": {
+ "description": "Dapr Component Resiliency Policy Timeout Policy Configuration.",
+ "type": "object",
+ "properties": {
+ "responseTimeoutInSeconds": {
+ "description": "The optional response timeout in seconds",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "additionalProperties": false
+ },
+ "DaprSubscriptionsCollection": {
+ "description": "Dapr Subscriptions ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DaprSubscription"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DaprSubscription": {
+ "description": "Dapr PubSub Event Subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Dapr PubSub Event Subscription resource specific properties",
+ "type": "object",
+ "properties": {
+ "pubsubName": {
+ "description": "Dapr PubSub component name",
+ "type": "string"
+ },
+ "topic": {
+ "description": "Topic name",
+ "type": "string"
+ },
+ "deadLetterTopic": {
+ "description": "Deadletter topic name",
+ "type": "string"
+ },
+ "routes": {
+ "description": "Subscription routes",
+ "$ref": "#/definitions/DaprSubscriptionRoutes"
+ },
+ "scopes": {
+ "description": "Application scopes to restrict the subscription to specific apps.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "description": "Subscription metadata",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "bulkSubscribe": {
+ "description": "Bulk subscription options",
+ "$ref": "#/definitions/DaprSubscriptionBulkSubscribeOptions"
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DaprSubscriptionBulkSubscribeOptions": {
+ "description": "Dapr PubSub Bulk Subscription Options.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "Enable bulk subscription",
+ "type": "boolean",
+ "default": false
+ },
+ "maxMessagesCount": {
+ "description": "Maximum number of messages to deliver in a bulk message.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "maxAwaitDurationMs": {
+ "description": "Maximum duration in milliseconds to wait before a bulk message is sent to the app.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "DaprSubscriptionRoutes": {
+ "description": "Dapr PubSub Event Subscription Routes configuration.",
+ "type": "object",
+ "properties": {
+ "rules": {
+ "description": "The list of Dapr PubSub Event Subscription Route Rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DaprSubscriptionRouteRule"
+ },
+ "x-ms-identifiers": []
+ },
+ "default": {
+ "description": "The default path to deliver events that do not match any of the rules.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "DaprSubscriptionRouteRule": {
+ "description": "Dapr Pubsub Event Subscription Route Rule is used to specify the condition for sending a message to a specific path.",
+ "type": "object",
+ "properties": {
+ "match": {
+ "description": "The optional CEL expression used to match the event. If the match is not specified, then the route is considered the default. The rules are tested in the order specified, so they should be define from most-to-least specific. The default route should appear last in the list.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The path for events that match this rule",
+ "type": "string"
+ }
+ }
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "CustomLocation"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "AzureFileProperties": {
+ "description": "Azure File Properties.",
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "Storage account name for azure file.",
+ "type": "string"
+ },
+ "accountKey": {
+ "description": "Storage account key for azure file.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "accessMode": {
+ "description": "Access mode for storage",
+ "enum": [
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessMode",
+ "modelAsString": true
+ }
+ },
+ "shareName": {
+ "description": "Azure file share name.",
+ "type": "string"
+ }
+ }
+ },
+ "NfsAzureFileProperties": {
+ "description": "NFS Azure File Properties.",
+ "type": "object",
+ "properties": {
+ "server": {
+ "description": "Server for NFS azure file.",
+ "type": "string"
+ },
+ "accessMode": {
+ "description": "Access mode for storage",
+ "enum": [
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessMode",
+ "modelAsString": true
+ }
+ },
+ "shareName": {
+ "description": "NFS Azure file share name.",
+ "type": "string"
+ }
+ }
+ },
+ "SmbStorage": {
+ "description": "SMB storage properties",
+ "type": "object",
+ "properties": {
+ "host": {
+ "description": "The host name or IP address of the SMB server.",
+ "type": "string"
+ },
+ "shareName": {
+ "description": "The path to the SMB shared folder.",
+ "type": "string"
+ },
+ "username": {
+ "description": "The user to log on to the SMB server.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "The domain name for the user.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password for the user.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "accessMode": {
+ "description": "Access mode for storage",
+ "enum": [
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CertificateKeyVaultProperties": {
+ "description": "Properties for a certificate stored in a Key Vault.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "description": "Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity.",
+ "type": "string"
+ },
+ "keyVaultUrl": {
+ "description": "URL pointing to the Azure Key Vault secret that holds the certificate.",
+ "type": "string"
+ }
+ }
+ },
+ "Certificate": {
+ "description": "Certificate used for Custom Domain bindings of Container Apps in a Managed Environment",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Certificate resource specific properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the certificate.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "DeleteFailed",
+ "Pending"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CertificateProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "deploymentErrors": {
+ "description": "Any errors that occurred during deployment or deployment validation",
+ "type": "string",
+ "readOnly": true
+ },
+ "certificateKeyVaultProperties": {
+ "description": "Properties for a certificate stored in a Key Vault.",
+ "$ref": "#/definitions/CertificateKeyVaultProperties"
+ },
+ "password": {
+ "description": "Certificate password.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ],
+ "x-ms-secret": true
+ },
+ "subjectName": {
+ "description": "Subject name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subjectAlternativeNames": {
+ "description": "Subject alternative names the certificate applies to.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "value": {
+ "format": "byte",
+ "description": "PFX or PEM blob",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ],
+ "x-ms-secret": true
+ },
+ "issuer": {
+ "description": "Certificate issuer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "issueDate": {
+ "format": "date-time",
+ "description": "Certificate issue Date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expirationDate": {
+ "format": "date-time",
+ "description": "Certificate expiration date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "Certificate thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "valid": {
+ "description": "Is the certificate valid?.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "publicKeyHash": {
+ "description": "Public key hash.",
+ "type": "string",
+ "readOnly": true
+ },
+ "certificateType": {
+ "description": "The type of the certificate. Allowed values are `ServerSSLCertificate` and `ImagePullTrustedCA`",
+ "type": "string",
+ "enum": [
+ "ServerSSLCertificate",
+ "ImagePullTrustedCA"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "x-ms-client-flatten": true
+ },
+ "CertificateCollection": {
+ "description": "Collection of Certificates.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CertificatePatch": {
+ "description": "A certificate to update",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ }
+ },
+ "ManagedCertificate": {
+ "description": "Managed certificates used for Custom Domain bindings of Container Apps in a Managed Environment",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Certificate resource specific properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the certificate.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "DeleteFailed",
+ "Pending"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CertificateProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "subjectName": {
+ "description": "Subject name of the certificate.",
+ "type": "string"
+ },
+ "error": {
+ "description": "Any error occurred during the certificate provision.",
+ "type": "string",
+ "readOnly": true
+ },
+ "domainControlValidation": {
+ "description": "Selected type of domain control validation for managed certificates.",
+ "enum": [
+ "CNAME",
+ "HTTP",
+ "TXT"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ManagedCertificateDomainControlValidation",
+ "modelAsString": true
+ }
+ },
+ "validationToken": {
+ "description": "A TXT token used for DNS TXT domain control validation when issuing this type of managed certificates.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "x-ms-client-flatten": true
+ },
+ "ManagedCertificatePatch": {
+ "description": "A managed certificate to update",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ }
+ },
+ "ManagedCertificateCollection": {
+ "description": "Collection of Managed Certificates.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCertificate"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobTemplate": {
+ "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",
+ "type": "object",
+ "properties": {
+ "initContainers": {
+ "description": "List of specialized containers that run before app containers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InitContainer"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "containers": {
+ "description": "List of container definitions for the Container App.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Container"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "volumes": {
+ "description": "List of volume definitions for the Container App.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "ServiceBind": {
+ "description": "Configuration to bind a ContainerApp to a dev ContainerApp Service",
+ "type": "object",
+ "properties": {
+ "serviceId": {
+ "description": "Resource id of the target service",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the service bind",
+ "type": "string"
+ },
+ "clientType": {
+ "description": "Type of the client to be used to connect to the service",
+ "type": "string"
+ },
+ "customizedKeys": {
+ "description": "Customized keys for customizing injected values to the app",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AppResiliencyCollection": {
+ "description": "Collection of AppResiliency policies",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AppResiliency"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AppResiliency": {
+ "description": "Configuration to setup App Resiliency",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "type": "object",
+ "description": "App Resiliency resource specific properties",
+ "properties": {
+ "timeoutPolicy": {
+ "description": "Policy to set request timeouts",
+ "$ref": "#/definitions/TimeoutPolicy"
+ },
+ "httpRetryPolicy": {
+ "description": "Policy that defines http request retry conditions",
+ "$ref": "#/definitions/HttpRetryPolicy"
+ },
+ "tcpRetryPolicy": {
+ "description": "Policy that defines tcp request retry conditions",
+ "$ref": "#/definitions/TcpRetryPolicy"
+ },
+ "circuitBreakerPolicy": {
+ "description": "Policy that defines circuit breaker conditions",
+ "$ref": "#/definitions/CircuitBreakerPolicy"
+ },
+ "httpConnectionPool": {
+ "description": "Defines parameters for http connection pooling",
+ "$ref": "#/definitions/HttpConnectionPool"
+ },
+ "tcpConnectionPool": {
+ "description": "Defines parameters for tcp connection pooling",
+ "$ref": "#/definitions/TcpConnectionPool"
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TimeoutPolicy": {
+ "description": "Policy to set request timeouts",
+ "type": "object",
+ "properties": {
+ "responseTimeoutInSeconds": {
+ "description": "Timeout, in seconds, for a request to respond",
+ "format": "int32",
+ "type": "integer"
+ },
+ "connectionTimeoutInSeconds": {
+ "description": "Timeout, in seconds, for a request to initiate a connection",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "HttpRetryPolicy": {
+ "description": "Policy that defines http request retry conditions",
+ "type": "object",
+ "properties": {
+ "maxRetries": {
+ "description": "Maximum number of times a request will retry",
+ "format": "int32",
+ "type": "integer"
+ },
+ "retryBackOff": {
+ "description": "Settings for retry backoff characteristics",
+ "type": "object",
+ "properties": {
+ "initialDelayInMilliseconds": {
+ "description": "Initial delay, in milliseconds, before retrying a request",
+ "format": "int64",
+ "type": "integer"
+ },
+ "maxIntervalInMilliseconds": {
+ "description": "Maximum interval, in milliseconds, between retries",
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "x-ms-client-flatten": true
+ },
+ "matches": {
+ "description": "Conditions that must be met for a request to be retried",
+ "type": "object",
+ "properties": {
+ "headers": {
+ "description": "Headers that must be present for a request to be retried",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HeaderMatch"
+ },
+ "x-ms-identifiers": [
+ "header"
+ ]
+ },
+ "httpStatusCodes": {
+ "description": "Additional http status codes that can trigger a retry",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "x-ms-identifiers": []
+ },
+ "errors": {
+ "description": "Errors that can trigger a retry",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-client-flatten": true
+ },
+ "TcpRetryPolicy": {
+ "description": "Policy that defines tcp request retry conditions",
+ "type": "object",
+ "properties": {
+ "maxConnectAttempts": {
+ "description": "Maximum number of attempts to connect to the tcp service",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "CircuitBreakerPolicy": {
+ "description": "Policy that defines circuit breaker conditions",
+ "type": "object",
+ "properties": {
+ "consecutiveErrors": {
+ "description": "Number of consecutive errors before the circuit breaker opens",
+ "format": "int32",
+ "type": "integer"
+ },
+ "intervalInSeconds": {
+ "description": "The time interval, in seconds, between endpoint checks. This can result in opening the circuit breaker if the check fails as well as closing the circuit breaker if the check succeeds. Defaults to 10s.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "maxEjectionPercent": {
+ "description": "Maximum percentage of hosts that will be ejected after failure threshold has been met",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "HttpConnectionPool": {
+ "description": "Defines parameters for http connection pooling",
+ "type": "object",
+ "properties": {
+ "http1MaxPendingRequests": {
+ "description": "Maximum number of pending http1 requests allowed",
+ "format": "int32",
+ "type": "integer"
+ },
+ "http2MaxRequests": {
+ "description": "Maximum number of http2 requests allowed",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "TcpConnectionPool": {
+ "description": "Defines parameters for tcp connection pooling",
+ "type": "object",
+ "properties": {
+ "maxConnections": {
+ "description": "Maximum number of tcp connections allowed",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "HeaderMatch": {
+ "description": "Conditions required to match a header",
+ "type": "object",
+ "properties": {
+ "header": {
+ "description": "Name of the header",
+ "type": "string"
+ },
+ "match": {
+ "description": "Type of match to perform",
+ "type": "object",
+ "properties": {
+ "exactMatch": {
+ "description": "Exact value of the header",
+ "type": "string"
+ },
+ "prefixMatch": {
+ "description": "Prefix value of the header",
+ "type": "string"
+ },
+ "suffixMatch": {
+ "description": "Suffix value of the header",
+ "type": "string"
+ },
+ "regexMatch": {
+ "description": "Regex value of the header",
+ "type": "string"
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "EnvironmentVariable": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Environment variable name."
+ },
+ "value": {
+ "type": "string",
+ "description": "Environment variable value."
+ }
+ },
+ "description": "Model representing an environment variable.",
+ "required": [
+ "name",
+ "value"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "format": "arm-id",
+ "description": "The ARM identifier for Private Endpoint"
+ }
+ },
+ "description": "The Private Endpoint resource."
+ },
+ "PrivateEndpointConnection": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Resource properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "The Private Endpoint Connection resource."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "properties": {
+ "groupIds": {
+ "description": "The group ids for the private endpoint resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private end point."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ],
+ "description": "Properties of the private endpoint connection."
+ },
+ "PrivateLinkServiceConnectionState": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
+ "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval/rejection of the connection."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer."
+ }
+ },
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "PrivateEndpointServiceConnectionStatus": {
+ "type": "string",
+ "description": "The private endpoint connection status.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "PrivateEndpointConnectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Waiting",
+ "Updating",
+ "Deleting",
+ "Pending"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource private link DNS zone name."
+ }
+ },
+ "description": "Properties of a private link resource."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL to get the next set of operation list results (if there are any).",
+ "readOnly": true
+ }
+ },
+ "description": "List of private endpoint connection associated with the specified resource"
+ },
+ "PrivateLinkResourceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL to get the next set of operation list results (if there are any).",
+ "readOnly": true
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "IdentitySettings": {
+ "description": "Optional settings for a Managed Identity that is assigned to the Container App.",
+ "type": "object",
+ "required": [
+ "identity"
+ ],
+ "properties": {
+ "identity": {
+ "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.",
+ "type": "string"
+ },
+ "lifecycle": {
+ "description": "Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.",
+ "enum": [
+ "Init",
+ "Main",
+ "None",
+ "All"
+ ],
+ "type": "string",
+ "default": "All",
+ "x-ms-enum": {
+ "name": "IdentitySettingsLifeCycle",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "EnvironmentNameParameter": {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ContainerAppsNameParameter": {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironments.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironments.json
new file mode 100644
index 000000000000..8ff636b7f8ce
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironments.json
@@ -0,0 +1,469 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/connectedEnvironments": {
+ "get": {
+ "tags": [
+ "ConnectedEnvironments"
+ ],
+ "summary": "Get all connectedEnvironments for a subscription.",
+ "description": "Get all connectedEnvironments for a subscription.",
+ "operationId": "ConnectedEnvironments_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List connected environments by subscription": {
+ "$ref": "./examples/ConnectedEnvironments_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments": {
+ "get": {
+ "tags": [
+ "ConnectedEnvironments"
+ ],
+ "operationId": "ConnectedEnvironments_ListByResourceGroup",
+ "description": "Get all connectedEnvironments in a resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List environments by resource group": {
+ "$ref": "./examples/ConnectedEnvironments_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}": {
+ "get": {
+ "tags": [
+ "ConnectedEnvironments"
+ ],
+ "operationId": "ConnectedEnvironments_Get",
+ "description": "Get the properties of an connectedEnvironment.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the connectedEnvironment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get connected environment by connectedEnvironmentName": {
+ "$ref": "./examples/ConnectedEnvironments_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConnectedEnvironments"
+ ],
+ "description": "Creates or updates an connectedEnvironment.",
+ "operationId": "ConnectedEnvironments_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the connectedEnvironment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "environmentEnvelope",
+ "in": "body",
+ "description": "Configuration details of the connectedEnvironment.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironment"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironment"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironment"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create kube environments": {
+ "$ref": "./examples/ConnectedEnvironments_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConnectedEnvironments"
+ ],
+ "summary": "Delete an connectedEnvironment.",
+ "description": "Delete an connectedEnvironment.",
+ "operationId": "ConnectedEnvironments_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the connectedEnvironment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed"
+ },
+ "202": {
+ "description": "Delete operation is accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "ConnectedEnvironment does not exist"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete connected environment by connectedEnvironmentName": {
+ "$ref": "./examples/ConnectedEnvironments_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ConnectedEnvironments"
+ ],
+ "summary": "Update connected Environment's properties.",
+ "description": "Patches a Managed Environment. Only patching of tags is supported currently",
+ "operationId": "ConnectedEnvironments_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the connectedEnvironment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironment"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Managed Environment": {
+ "$ref": "./examples/ConnectedEnvironments_Patch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "ConnectedEnvironments"
+ ],
+ "summary": "Checks the resource connectedEnvironmentName availability.",
+ "description": "Checks if resource connectedEnvironmentName is available.",
+ "operationId": "ConnectedEnvironments_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "checkNameAvailabilityRequest",
+ "in": "body",
+ "description": "The check connectedEnvironmentName availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityRequest"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Certificates_CheckNameAvailability": {
+ "$ref": "./examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConnectedEnvironment": {
+ "description": "An environment for Kubernetes cluster specialized for web workloads by Azure App Service",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "extendedLocation": {
+ "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation"
+ },
+ "properties": {
+ "description": "ConnectedEnvironment resource specific properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Kubernetes Environment.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Waiting",
+ "InitializationInProgress",
+ "InfrastructureSetupInProgress",
+ "InfrastructureSetupComplete",
+ "ScheduledForDelete"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ConnectedEnvironmentProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "deploymentErrors": {
+ "description": "Any errors that occurred during deployment or deployment validation",
+ "type": "string",
+ "readOnly": true
+ },
+ "defaultDomain": {
+ "description": "Default Domain Name for the cluster",
+ "type": "string",
+ "readOnly": true
+ },
+ "staticIp": {
+ "description": "Static IP of the connectedEnvironment",
+ "type": "string"
+ },
+ "daprAIConnectionString": {
+ "type": "string",
+ "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry",
+ "x-ms-secret": true
+ },
+ "customDomainConfiguration": {
+ "$ref": "./CommonDefinitions.json#/definitions/CustomDomainConfiguration",
+ "description": "Custom domain configuration for the environment"
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ConnectedEnvironmentCollection": {
+ "description": "Collection of connectedEnvironments",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectedEnvironment"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsCertificates.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsCertificates.json
new file mode 100644
index 000000000000..85fb7e298026
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsCertificates.json
@@ -0,0 +1,346 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/certificates": {
+ "get": {
+ "tags": [
+ "ConnectedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Get the Certificates in a given connected environment.",
+ "operationId": "ConnectedEnvironmentsCertificates_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Connected Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/CertificateCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Certificates by Connected Environment": {
+ "$ref": "./examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "ConnectedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Get the specified Certificate.",
+ "operationId": "ConnectedEnvironmentsCertificates_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Connected Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "Name of the Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/Certificate"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Certificate": {
+ "$ref": "./examples/ConnectedEnvironmentsCertificate_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConnectedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Create or Update a Certificate.",
+ "operationId": "ConnectedEnvironmentsCertificates_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Connected Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "Name of the Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateEnvelope",
+ "in": "body",
+ "description": "Certificate to be created or updated",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/Certificate"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/Certificate"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/Certificate"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Certificate": {
+ "$ref": "./examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConnectedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Deletes the specified Certificate.",
+ "operationId": "ConnectedEnvironmentsCertificates_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Connected Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "Name of the Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Certificate does not exist"
+ },
+ "202": {
+ "description": "Delete operation is accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Certificate": {
+ "$ref": "./examples/ConnectedEnvironmentsCertificate_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ConnectedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Update properties of a certificate",
+ "description": "Patches a certificate. Currently only patching of tags is supported",
+ "operationId": "ConnectedEnvironmentsCertificates_Update",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Connected Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "Name of the Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateEnvelope",
+ "in": "body",
+ "required": true,
+ "description": "Properties of a certificate that need to be updated",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/CertificatePatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Certificate updated successfully.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/Certificate"
+ }
+ },
+ "202": {
+ "description": "Patch operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Certificate": {
+ "$ref": "./examples/ConnectedEnvironmentsCertificates_Patch.json"
+ }
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsDaprComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsDaprComponents.json
new file mode 100644
index 000000000000..ffcb4d51224a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsDaprComponents.json
@@ -0,0 +1,390 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/daprComponents": {
+ "get": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "Get the Dapr Components for a connected environment.",
+ "operationId": "ConnectedEnvironmentsDaprComponents_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the connected environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentDaprComponentsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Dapr Components": {
+ "$ref": "./examples/ConnectedEnvironmentsDaprComponents_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/daprComponents/{componentName}": {
+ "get": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "Get a dapr component.",
+ "operationId": "ConnectedEnvironmentsDaprComponents_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the connected environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentDaprComponent"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Dapr Component": {
+ "$ref": "./examples/ConnectedEnvironmentsDaprComponents_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "Creates or updates a Dapr Component.",
+ "description": "Creates or updates a Dapr Component in a connected environment.",
+ "operationId": "ConnectedEnvironmentsDaprComponents_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the connected environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "daprComponentEnvelope",
+ "in": "body",
+ "description": "Configuration details of the Dapr Component.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentDaprComponent"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentDaprComponent"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentDaprComponent"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update dapr component": {
+ "$ref": "./examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "Delete a Dapr Component.",
+ "description": "Delete a Dapr Component from a connected environment.",
+ "operationId": "ConnectedEnvironmentsDaprComponents_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the connected environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Delete operation is accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Environment does not exist"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete dapr component": {
+ "$ref": "./examples/ConnectedEnvironmentsDaprComponents_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/daprComponents/{componentName}/listSecrets": {
+ "post": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "List secrets for a dapr component",
+ "operationId": "ConnectedEnvironmentsDaprComponents_ListSecrets",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the connected environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprSecretsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container Apps Secrets": {
+ "$ref": "./examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConnectedEnvironmentDaprComponentsCollection": {
+ "description": "Collection of Dapr Components for Environments",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of Dapr component resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectedEnvironmentDaprComponent"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ConnectedEnvironmentDaprComponent": {
+ "description": "Dapr Component.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Dapr component properties",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponentProperties"
+ }
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Connected Environment Dapr Component.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "InProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ConnectedEnvironmentDaprComponentProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "deploymentErrors": {
+ "description": "Any errors that occurred during deployment or deployment validation",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsStorages.json
new file mode 100644
index 000000000000..d79579416f7c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsStorages.json
@@ -0,0 +1,333 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/storages": {
+ "get": {
+ "tags": [
+ "ConnectedEnvironmentsStorages"
+ ],
+ "summary": "Get all storages for a connectedEnvironment.",
+ "description": "Get all storages for a connectedEnvironment.",
+ "operationId": "ConnectedEnvironmentsStorages_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentStoragesCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List environments storages by subscription": {
+ "$ref": "./examples/ConnectedEnvironmentsStorages_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/storages/{storageName}": {
+ "get": {
+ "tags": [
+ "ConnectedEnvironmentsStorages"
+ ],
+ "summary": "Get storage for a connectedEnvironment.",
+ "description": "Get storage for a connectedEnvironment.",
+ "operationId": "ConnectedEnvironmentsStorages_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageName",
+ "in": "path",
+ "description": "Name of the storage.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentStorage"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "get a environments storage properties by subscription": {
+ "$ref": "./examples/ConnectedEnvironmentsStorages_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConnectedEnvironmentsStorages"
+ ],
+ "summary": "Create or update storage for a connectedEnvironment.",
+ "description": "Create or update storage for a connectedEnvironment.",
+ "operationId": "ConnectedEnvironmentsStorages_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageName",
+ "in": "path",
+ "description": "Name of the storage.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageEnvelope",
+ "in": "body",
+ "description": "Configuration details of storage.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentStorage"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentStorage"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ConnectedEnvironmentStorage"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update environments storage": {
+ "$ref": "./examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConnectedEnvironmentsStorages"
+ ],
+ "summary": "Delete storage for a connectedEnvironment.",
+ "description": "Delete storage for a connectedEnvironment.",
+ "operationId": "ConnectedEnvironmentsStorages_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "connectedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageName",
+ "in": "path",
+ "description": "Name of the storage.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Delete operation is accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Storage does not exist"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List environments storages by subscription": {
+ "$ref": "./examples/ConnectedEnvironmentsStorages_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConnectedEnvironmentStoragesCollection": {
+ "description": "Collection of Storage for Environments",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of storage resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectedEnvironmentStorage"
+ }
+ }
+ }
+ },
+ "ConnectedEnvironmentStorage": {
+ "description": "Storage resource for connectedEnvironment.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Storage properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the storage.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "InProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ConnectedEnvironmentStorageProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "deploymentErrors": {
+ "description": "Any errors that occurred during deployment or deployment validation",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureFile": {
+ "$ref": "./CommonDefinitions.json#/definitions/AzureFileProperties",
+ "description": "Azure file properties"
+ },
+ "smb": {
+ "$ref": "./CommonDefinitions.json#/definitions/SmbStorage",
+ "description": "SMB storage properties"
+ }
+ }
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerApps.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerApps.json
new file mode 100644
index 000000000000..3518ae0d3c66
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerApps.json
@@ -0,0 +1,1575 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/containerApps": {
+ "get": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Get the Container Apps in a given subscription.",
+ "operationId": "ContainerApps_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerAppCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container Apps by subscription": {
+ "$ref": "./examples/ContainerApps_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps": {
+ "get": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Get the Container Apps in a given resource group.",
+ "operationId": "ContainerApps_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerAppCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container Apps by resource group": {
+ "$ref": "./examples/ContainerApps_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}": {
+ "get": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Get the properties of a Container App.",
+ "operationId": "ContainerApps_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ "404": {
+ "description": "Not found.",
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App": {
+ "$ref": "./examples/ContainerApps_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Create or update a Container App.",
+ "description": "Create or update a Container App.",
+ "operationId": "ContainerApps_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerAppEnvelope",
+ "in": "body",
+ "description": "Properties used to create a container app",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "No change performed on the Container App.",
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ "201": {
+ "description": "Container App create or update has been started.",
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Container App": {
+ "$ref": "./examples/ContainerApps_CreateOrUpdate.json"
+ },
+ "Create or Update Tcp App": {
+ "$ref": "./examples/ContainerApps_TcpApp_CreateOrUpdate.json"
+ },
+ "Create or Update ManagedBy App": {
+ "$ref": "./examples/ContainerApps_ManagedBy_CreateOrUpdate.json"
+ },
+ "Create or Update App Kind": {
+ "$ref": "./examples/ContainerApps_Kind_CreateOrUpdate.json"
+ },
+ "Create or Update App On A Connected Environment": {
+ "$ref": "./examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json"
+ },
+ "Create or Update SourceToCloud App": {
+ "$ref": "./examples/ContainerApps_SourceToCloudApp_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Delete a Container App.",
+ "description": "Delete a Container App.",
+ "operationId": "ContainerApps_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container App deleted successfully."
+ },
+ "202": {
+ "description": "Delete operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Container App does not exist."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Container App": {
+ "$ref": "./examples/ContainerApps_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Update properties of a Container App",
+ "description": "Patches a Container App using JSON Merge Patch",
+ "operationId": "ContainerApps_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerAppEnvelope",
+ "in": "body",
+ "required": true,
+ "description": "Properties of a Container App that need to be updated",
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ "202": {
+ "description": "Patch operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Container App": {
+ "$ref": "./examples/ContainerApps_Patch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/listCustomHostNameAnalysis": {
+ "post": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Analyzes a custom hostname for a Container App",
+ "operationId": "ContainerApps_ListCustomHostNameAnalysis",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customHostname",
+ "in": "query",
+ "description": "Custom hostname.",
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomHostnameAnalysisResult"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze Custom Hostname": {
+ "$ref": "./examples/ContainerApps_ListCustomHostNameAnalysis.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/listSecrets": {
+ "post": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "List secrets for a container app",
+ "operationId": "ContainerApps_ListSecrets",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container Apps Secrets": {
+ "$ref": "./examples/ContainerApps_ListSecrets.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/getAuthtoken": {
+ "post": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Get auth token for a container app",
+ "operationId": "ContainerApps_GetAuthToken",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerAppAuthToken"
+ }
+ },
+ "404": {
+ "description": "Not found.",
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App Auth Token": {
+ "$ref": "./examples/ContainerApps_GetAuthToken.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/start": {
+ "post": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Start a container app",
+ "operationId": "ContainerApps_Start",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container App started successfully.",
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ "202": {
+ "description": "Start operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start Container App": {
+ "$ref": "./examples/ContainerApps_Start.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/stop": {
+ "post": {
+ "tags": [
+ "ContainerApps"
+ ],
+ "summary": "Stop a container app",
+ "operationId": "ContainerApps_Stop",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container App stopped successfully.",
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ "202": {
+ "description": "Stop operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Stop Container App": {
+ "$ref": "./examples/ContainerApps_Stop.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Configuration": {
+ "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app",
+ "type": "object",
+ "properties": {
+ "secrets": {
+ "description": "Collection of secrets used by a Container app",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/Secret"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "activeRevisionsMode": {
+ "description": "ActiveRevisionsMode controls how active revisions are handled for the Container app:\n- Single: Only one revision can be active at a time. Traffic weights cannot be used. This is the default.
- Multiple: Multiple revisions can be active, including optional traffic weights and labels.
- Labels: Only revisions with labels are active. Traffic weights can be applied to labels.
",
+ "enum": [
+ "Multiple",
+ "Single",
+ "Labels"
+ ],
+ "type": "string",
+ "default": "Single",
+ "x-ms-enum": {
+ "name": "ActiveRevisionsMode",
+ "modelAsString": true
+ }
+ },
+ "targetLabel": {
+ "description": "Required in labels revisions mode. Label to apply to newly created revision.",
+ "type": "string"
+ },
+ "ingress": {
+ "$ref": "#/definitions/Ingress",
+ "description": "Ingress configurations."
+ },
+ "registries": {
+ "description": "Collection of private container registry credentials for containers used by the Container app",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryCredentials"
+ },
+ "x-ms-identifiers": [
+ "server"
+ ]
+ },
+ "dapr": {
+ "$ref": "#/definitions/Dapr",
+ "description": "Dapr configuration for the Container App."
+ },
+ "runtime": {
+ "$ref": "#/definitions/Runtime",
+ "description": "App runtime configuration for the Container App."
+ },
+ "maxInactiveRevisions": {
+ "format": "int32",
+ "description": "Optional. Max inactive revisions a Container App can have.",
+ "type": "integer"
+ },
+ "revisionTransitionThreshold": {
+ "format": "int32",
+ "description": "Optional. The percent of the total number of replicas that must be brought up before revision transition occurs. Defaults to 100 when none is given. Value must be greater than 0 and less than or equal to 100.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ },
+ "service": {
+ "$ref": "#/definitions/Service",
+ "description": "Container App to be a dev Container App Service"
+ },
+ "identitySettings": {
+ "description": "Optional settings for Managed Identities that are assigned to the Container App. If a Managed Identity is not specified here, default settings will be used.",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/IdentitySettings"
+ },
+ "x-ms-identifiers": [
+ "identity"
+ ]
+ }
+ }
+ },
+ "ContainerApp": {
+ "description": "Container App.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "extendedLocation": {
+ "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation"
+ },
+ "identity": {
+ "description": "managed identities for the Container App to interact with other Azure services without maintaining any secrets or credentials in code.",
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity"
+ },
+ "managedBy": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "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."
+ },
+ "kind": {
+ "type": "string",
+ "enum": [
+ "workflowapp"
+ ],
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ },
+ "description": "Metadata used to render different experiences for resources of the same type; e.g. WorkflowApp is a kind of Microsoft.App/ContainerApps type. If supported, the resource provider must validate and persist this value."
+ },
+ "properties": {
+ "description": "ContainerApp resource specific properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Container App.",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerAppProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "runningStatus": {
+ "description": "Running status of the Container App.",
+ "enum": [
+ "Progressing",
+ "Running",
+ "Stopped",
+ "Suspended",
+ "Ready"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerAppRunningStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Progressing",
+ "description": "Container App is transitioning between Stopped and Running states."
+ },
+ {
+ "value": "Running",
+ "description": "Container App is in Running state."
+ },
+ {
+ "value": "Stopped",
+ "description": "Container App is in Stopped state."
+ },
+ {
+ "value": "Suspended",
+ "description": "Container App Job is in Suspended state."
+ },
+ {
+ "value": "Ready",
+ "description": "Container App Job is in Ready state."
+ }
+ ]
+ }
+ },
+ "deploymentErrors": {
+ "description": "Any errors that occurred during deployment",
+ "type": "string",
+ "readOnly": true
+ },
+ "managedEnvironmentId": {
+ "description": "Deprecated. Resource ID of the Container App's environment.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "environmentId": {
+ "description": "Resource ID of environment.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "workloadProfileName": {
+ "$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileName",
+ "description": "Workload profile name to pin for container app execution."
+ },
+ "patchingConfiguration": {
+ "description": "Container App auto patch configuration.",
+ "type": "object",
+ "properties": {
+ "patchingMode": {
+ "description": "Patching mode for the container app. Null or default in this field will be interpreted as Automatic by RP. Automatic mode will automatically apply available patches. Manual mode will require the user to manually apply patches. Disabled mode will stop patch detection and auto patching.",
+ "type": "string",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "patchingMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "latestRevisionName": {
+ "description": "Name of the latest revision of the Container App.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestReadyRevisionName": {
+ "description": "Name of the latest ready revision of the Container App.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestRevisionFqdn": {
+ "description": "Fully Qualified Domain Name of the latest revision of the Container App.",
+ "type": "string",
+ "readOnly": true
+ },
+ "customDomainVerificationId": {
+ "description": "Id used to verify domain name ownership",
+ "type": "string",
+ "readOnly": true
+ },
+ "configuration": {
+ "$ref": "#/definitions/Configuration",
+ "description": "Non versioned Container App configuration properties."
+ },
+ "template": {
+ "$ref": "./CommonDefinitions.json#/definitions/Template",
+ "description": "Container App versioned application definition."
+ },
+ "outboundIpAddresses": {
+ "description": "Outbound IP Addresses for container app.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "eventStreamEndpoint": {
+ "description": "The endpoint of the eventstream of the container app.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ContainerAppCollection": {
+ "description": "Container App collection ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Dapr": {
+ "description": "Container App Dapr configuration.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "Boolean indicating if the Dapr side car is enabled",
+ "type": "boolean",
+ "default": false
+ },
+ "appId": {
+ "description": "Dapr application identifier",
+ "type": "string"
+ },
+ "appProtocol": {
+ "description": "Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http",
+ "enum": [
+ "http",
+ "grpc"
+ ],
+ "type": "string",
+ "default": "http",
+ "x-ms-enum": {
+ "name": "appProtocol",
+ "modelAsString": true
+ }
+ },
+ "appPort": {
+ "format": "int32",
+ "description": "Tells Dapr which port your application is listening on",
+ "type": "integer"
+ },
+ "httpReadBufferSize": {
+ "type": "integer",
+ "description": "Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB.",
+ "format": "int32"
+ },
+ "httpMaxRequestSize": {
+ "type": "integer",
+ "description": "Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big files. Default is 4 MB.",
+ "format": "int32"
+ },
+ "logLevel": {
+ "description": "Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.",
+ "enum": [
+ "info",
+ "debug",
+ "warn",
+ "error"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "logLevel",
+ "modelAsString": true
+ }
+ },
+ "enableApiLogging": {
+ "description": "Enables API logging for the Dapr sidecar",
+ "type": "boolean"
+ }
+ }
+ },
+ "Runtime": {
+ "description": "Container App Runtime configuration.",
+ "type": "object",
+ "properties": {
+ "java": {
+ "description": "Java app configuration",
+ "type": "object",
+ "properties": {
+ "enableMetrics": {
+ "description": "Enable jmx core metrics for the java app",
+ "type": "boolean"
+ },
+ "javaAgent": {
+ "description": "Diagnostic capabilities achieved by java agent",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "Enable java agent injection for the java app.",
+ "type": "boolean"
+ },
+ "logging": {
+ "description": "Capabilities on the java logging scenario.",
+ "type": "object",
+ "properties": {
+ "loggerSettings": {
+ "description": "Settings of the logger for the java app.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoggerSetting"
+ },
+ "x-ms-identifiers": [
+ "logger",
+ "level"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "dotnet": {
+ "description": ".NET app configuration",
+ "type": "object",
+ "properties": {
+ "autoConfigureDataProtection": {
+ "description": "Auto configure the ASP.NET Core Data Protection feature",
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ },
+ "LoggerSetting": {
+ "description": "Logger settings for java workloads.",
+ "type": "object",
+ "required": [
+ "logger",
+ "level"
+ ],
+ "properties": {
+ "logger": {
+ "description": "Logger name.",
+ "type": "string"
+ },
+ "level": {
+ "description": "The specified logger's log level.",
+ "enum": [
+ "off",
+ "error",
+ "info",
+ "debug",
+ "trace",
+ "warn"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "level",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Ingress": {
+ "description": "Container App Ingress configuration.",
+ "type": "object",
+ "properties": {
+ "fqdn": {
+ "description": "Hostname.",
+ "type": "string",
+ "readOnly": true
+ },
+ "external": {
+ "description": "Bool indicating if app exposes an external http endpoint",
+ "default": false,
+ "type": "boolean"
+ },
+ "targetPort": {
+ "format": "int32",
+ "description": "Target Port in containers for traffic from ingress",
+ "type": "integer"
+ },
+ "exposedPort": {
+ "format": "int32",
+ "description": "Exposed Port in containers for TCP traffic from ingress",
+ "type": "integer"
+ },
+ "transport": {
+ "description": "Ingress transport protocol",
+ "enum": [
+ "auto",
+ "http",
+ "http2",
+ "tcp"
+ ],
+ "type": "string",
+ "default": "auto",
+ "x-ms-enum": {
+ "name": "IngressTransportMethod",
+ "modelAsString": true
+ }
+ },
+ "traffic": {
+ "description": "Traffic weights for app's revisions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrafficWeight"
+ },
+ "x-ms-identifiers": [
+ "revisionName"
+ ]
+ },
+ "customDomains": {
+ "description": "custom domain bindings for Container Apps' hostnames.",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/CustomDomain"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "allowInsecure": {
+ "description": "Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections",
+ "type": "boolean",
+ "default": false
+ },
+ "ipSecurityRestrictions": {
+ "description": "Rules to restrict incoming IP address.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpSecurityRestrictionRule"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "stickySessions": {
+ "description": "Sticky Sessions for Single Revision Mode",
+ "type": "object",
+ "properties": {
+ "affinity": {
+ "description": "Sticky Session Affinity",
+ "enum": [
+ "sticky",
+ "none"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "affinity",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "clientCertificateMode": {
+ "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.",
+ "enum": [
+ "ignore",
+ "accept",
+ "require"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IngressClientCertificateMode",
+ "modelAsString": true
+ }
+ },
+ "corsPolicy": {
+ "description": "CORS policy for container app",
+ "$ref": "#/definitions/CorsPolicy"
+ },
+ "additionalPortMappings": {
+ "description": "Settings to expose additional ports on container app",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IngressPortMapping"
+ },
+ "x-ms-identifiers": [
+ "targetPort"
+ ]
+ },
+ "targetPortHttpScheme": {
+ "description": "Whether an http app listens on http or https",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IngressTargetPortHttpScheme",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RegistryCredentials": {
+ "description": "Container App Private Registry",
+ "type": "object",
+ "properties": {
+ "server": {
+ "description": "Container Registry Server",
+ "type": "string"
+ },
+ "username": {
+ "description": "Container Registry Username",
+ "type": "string"
+ },
+ "passwordSecretRef": {
+ "description": "The name of the Secret that contains the registry login password",
+ "type": "string"
+ },
+ "identity": {
+ "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'",
+ "type": "string"
+ }
+ }
+ },
+ "SecretsCollection": {
+ "description": "Container App Secrets Collection ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerAppSecret"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "ContainerAppSecret": {
+ "description": "Container App Secret.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Secret Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "Secret Value.",
+ "type": "string",
+ "x-ms-secret": true,
+ "readOnly": true
+ },
+ "identity": {
+ "description": "Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "keyVaultUrl": {
+ "description": "Azure Key Vault URL pointing to the secret referenced by the container app.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TrafficWeight": {
+ "description": "Traffic weight assigned to a revision",
+ "type": "object",
+ "properties": {
+ "revisionName": {
+ "description": "Name of a revision",
+ "type": "string"
+ },
+ "weight": {
+ "format": "int32",
+ "description": "Traffic weight assigned to a revision",
+ "type": "integer"
+ },
+ "latestRevision": {
+ "description": "Indicates that the traffic weight belongs to a latest stable revision",
+ "default": false,
+ "type": "boolean"
+ },
+ "label": {
+ "description": "Associates a traffic label with a revision",
+ "type": "string"
+ }
+ }
+ },
+ "IpSecurityRestrictionRule": {
+ "description": "Rule to restrict incoming IP address.",
+ "type": "object",
+ "required": [
+ "name",
+ "ipAddressRange",
+ "action"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name for the IP restriction rule.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Describe the IP restriction rule that is being sent to the container-app. This is an optional field.",
+ "type": "string"
+ },
+ "ipAddressRange": {
+ "description": "CIDR notation to match incoming IP address",
+ "type": "string"
+ },
+ "action": {
+ "description": "Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "action",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CorsPolicy": {
+ "description": "Cross-Origin-Resource-Sharing policy",
+ "type": "object",
+ "required": [
+ "allowedOrigins"
+ ],
+ "properties": {
+ "allowedOrigins": {
+ "description": "Specifies the content for the access-control-allow-origins header",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allowedMethods": {
+ "description": "Specifies the content for the access-control-allow-methods header",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allowedHeaders": {
+ "description": "Specifies the content for the access-control-allow-headers header",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "exposeHeaders": {
+ "description": "Specifies the content for the access-control-expose-headers header ",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "maxAge": {
+ "format": "int32",
+ "description": "Specifies the content for the access-control-max-age header",
+ "type": "integer"
+ },
+ "allowCredentials": {
+ "description": "Specifies whether the resource allows credentials",
+ "type": "boolean"
+ }
+ }
+ },
+ "IngressPortMapping": {
+ "description": "Port mappings of container app ingress",
+ "type": "object",
+ "required": [
+ "external",
+ "targetPort"
+ ],
+ "properties": {
+ "external": {
+ "description": "Specifies whether the app port is accessible outside of the environment",
+ "type": "boolean"
+ },
+ "targetPort": {
+ "format": "int32",
+ "description": "Specifies the port user's container listens on",
+ "type": "integer"
+ },
+ "exposedPort": {
+ "format": "int32",
+ "description": "Specifies the exposed port for the target port. If not specified, it defaults to target port",
+ "type": "integer"
+ }
+ }
+ },
+ "CustomHostnameAnalysisResult": {
+ "description": "Custom domain analysis.",
+ "type": "object",
+ "properties": {
+ "hostName": {
+ "description": "Host name that was analyzed",
+ "type": "string",
+ "readOnly": true
+ },
+ "isHostnameAlreadyVerified": {
+ "description": "true
if hostname is already verified; otherwise, false
.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "customDomainVerificationTest": {
+ "description": "DNS verification test result.",
+ "enum": [
+ "Passed",
+ "Failed",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DnsVerificationTestResult",
+ "modelAsString": false
+ }
+ },
+ "customDomainVerificationFailureInfo": {
+ "description": "Raw failure information if DNS verification fails.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Standardized string to programmatically identify the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Detailed error description and debugging information.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "Detailed error description and debugging information.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "type": "array",
+ "description": "Details or the error",
+ "items": {
+ "description": "Detailed errors.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Standardized string to programmatically identify the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Detailed error description and debugging information.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "Detailed error description and debugging information.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "readOnly": true
+ },
+ "x-ms-identifiers": [
+ "code"
+ ]
+ }
+ },
+ "readOnly": true
+ },
+ "hasConflictOnManagedEnvironment": {
+ "description": "true
if there is a conflict on the Container App's managed environment; otherwise, false
.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "conflictWithEnvironmentCustomDomain": {
+ "description": "true
if there is a conflict on the Container App's managed environment level custom domain; otherwise, false
.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "conflictingContainerAppResourceId": {
+ "description": "Name of the conflicting Container App on the Managed Environment if it's within the same subscription.",
+ "type": "string",
+ "readOnly": true
+ },
+ "cNameRecords": {
+ "description": "CName records visible for this hostname.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "txtRecords": {
+ "description": "TXT records visible for this hostname.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "aRecords": {
+ "description": "A records visible for this hostname.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "alternateCNameRecords": {
+ "description": "Alternate CName records visible for this hostname.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "alternateTxtRecords": {
+ "description": "Alternate TXT records visible for this hostname.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-client-flatten": true
+ },
+ "ContainerAppAuthToken": {
+ "description": "Container App Auth Token.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Container App auth token resource specific properties",
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "Auth token value.",
+ "type": "string",
+ "x-ms-secret": true,
+ "readOnly": true
+ },
+ "expires": {
+ "format": "date-time",
+ "description": "Token expiration date.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Service": {
+ "description": "Container App to be a dev service",
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "description": "Dev ContainerApp service type",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsBuilds.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsBuilds.json
new file mode 100644
index 000000000000..cbec1f67db89
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsBuilds.json
@@ -0,0 +1,348 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2024-10-02-preview"
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/builds": {
+ "get": {
+ "tags": [
+ "ContainerAppsBuilds"
+ ],
+ "operationId": "ContainerAppsBuildsByContainerApp_List",
+ "description": "List Container Apps Build resources by Container App",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ContainerAppsBuildCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ContainerAppsBuilds_ListByContainerApp_0": {
+ "$ref": "./examples/ContainerAppsBuilds_ListByContainerApp.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/builds/{buildName}": {
+ "get": {
+ "tags": [
+ "ContainerAppsBuilds"
+ ],
+ "operationId": "ContainerAppsBuilds_Get",
+ "description": "Get a Container Apps Build resource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsBuildNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ContainerAppsBuildResource"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ContainerAppsBuilds_Get_0": {
+ "$ref": "./examples/ContainerAppsBuilds_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContainerAppsBuilds"
+ ],
+ "operationId": "ContainerAppsBuilds_Delete",
+ "description": "Delete a Container Apps Build resource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsBuildNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ContainerAppsBuilds_Delete_0": {
+ "$ref": "./examples/ContainerAppsBuilds_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "ContainerAppsBuildConfiguration": {
+ "type": "object",
+ "properties": {
+ "baseOs": {
+ "type": "string",
+ "description": "Base OS used to build and run the app.",
+ "readOnly": true
+ },
+ "platform": {
+ "type": "string",
+ "description": "Platform to be used to build and run the app.",
+ "readOnly": true
+ },
+ "platformVersion": {
+ "type": "string",
+ "description": "Platform version to be used to build and run the app.",
+ "readOnly": true
+ },
+ "environmentVariables": {
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/EnvironmentVariable"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "description": "List of environment variables to be passed to the build, secrets should not be used in environment variable.",
+ "readOnly": true
+ },
+ "preBuildSteps": {
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/PreBuildStep"
+ },
+ "x-ms-identifiers": [],
+ "description": "List of steps to perform before the build.",
+ "readOnly": true
+ }
+ },
+ "description": "Configuration of the build."
+ },
+ "ContainerAppsBuildProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/BuildProvisioningState",
+ "description": "Build provisioning state.",
+ "readOnly": true
+ },
+ "buildStatus": {
+ "$ref": "#/definitions/BuildStatus",
+ "description": "Status of the build once it has been provisioned.",
+ "readOnly": true
+ },
+ "destinationContainerRegistry": {
+ "$ref": "./CommonDefinitions.json#/definitions/ContainerRegistryWithCustomImage",
+ "description": "Container registry that the final image will be uploaded to.",
+ "readOnly": true
+ },
+ "configuration": {
+ "$ref": "#/definitions/ContainerAppsBuildConfiguration",
+ "description": "Configuration of the build.",
+ "readOnly": true
+ },
+ "logStreamEndpoint": {
+ "type": "string",
+ "description": "Endpoint from which the build logs can be streamed.",
+ "readOnly": true
+ }
+ },
+ "description": "The ContainerAppBuild properties."
+ },
+ "ContainerAppsBuildResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ContainerAppsBuildProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ },
+ "description": "Information pertaining to an individual build.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ContainerAppsBuildCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerAppsBuildResource"
+ },
+ "description": "The Container Apps Build Resource items on this page"
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "description": "The response of a Container Apps Build Resource list operation.",
+ "required": [
+ "value"
+ ]
+ },
+ "BuildStatus": {
+ "type": "string",
+ "description": "Status of the build once it has been provisioned.",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "BuildStatus",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "BuildProvisioningState": {
+ "type": "string",
+ "description": "Resource instance provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Creating",
+ "Updating",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "BuildProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ },
+ "parameters": {
+ "ContainerAppsBuildNameParameter": {
+ "name": "buildName",
+ "in": "path",
+ "required": true,
+ "description": "The name of a build.",
+ "minLength": 2,
+ "maxLength": 64,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ContainerAppsNameParameter": {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App the Build is associated.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsLabelHistory.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsLabelHistory.json
new file mode 100644
index 000000000000..6d7102b8829e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsLabelHistory.json
@@ -0,0 +1,215 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/labelHistory": {
+ "get": {
+ "tags": [
+ "ContainerAppsLabelHistory"
+ ],
+ "summary": "Get the Label History for a given Container App.",
+ "operationId": "ContainerAppsLabelHistory_ListLabelHistory",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./CommonDefinitions.json#/parameters/ContainerAppsNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "The filter to apply on the operation.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LabelHistoryCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container App's all label history": {
+ "$ref": "./examples/LabelHistory_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/LabelHistory"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/labelHistory/{labelName}": {
+ "get": {
+ "tags": [
+ "ContainerAppsLabelHistory"
+ ],
+ "summary": "Get the history of a label.",
+ "operationId": "ContainerAppsLabelHistory_GetLabelHistory",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./CommonDefinitions.json#/parameters/ContainerAppsNameParameter"
+ },
+ {
+ "name": "labelName",
+ "in": "path",
+ "description": "Name of the Container App label.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LabelHistory"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App's single label history": {
+ "$ref": "./examples/LabelHistory_Get.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LabelHistory": {
+ "description": "Container App Label History.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Container App Label History resource specific properties",
+ "type": "object",
+ "properties": {
+ "records": {
+ "description": "List of label history records.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/LabelHistoryRecordItem"
+ },
+ "x-ms-identifiers": [
+ "label"
+ ]
+ }
+ }
+ }
+ },
+ "x-ms-client-flatten": true
+ },
+ "LabelHistoryRecordItem": {
+ "description": "Container App Label History Item resource specific properties",
+ "type": "object",
+ "properties": {
+ "revision": {
+ "description": "Container App revision name that label was applied to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "start": {
+ "format": "date-time",
+ "description": "Timestamp describing when the label was applied to the revision.",
+ "type": "string",
+ "readOnly": true
+ },
+ "stop": {
+ "format": "date-time",
+ "description": "Timestamp describing when the label was removed from the revision. Only meaningful when the label is currently applied to the revision.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LabelHistoryCollection": {
+ "description": "Container App Label History collection ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabelHistory"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsPatches.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsPatches.json
new file mode 100644
index 000000000000..e8e1aa936a87
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsPatches.json
@@ -0,0 +1,555 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2024-10-02-preview"
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/patches": {
+ "get": {
+ "tags": [
+ "ContainerAppsPatches"
+ ],
+ "operationId": "ContainerAppsPatches_ListByContainerApp",
+ "description": "List Container Apps Patch resources by ContainerApp.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "The filter to apply on the operation. For example, $filter=properties/patchApplyStatus eq 'Succeeded'",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/PatchCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ContainerAppsPatches_ListByContainerApp_0": {
+ "$ref": "./examples/ContainerAppsPatches_ListByContainerApp.json"
+ }
+ },
+ "x-ms-odata": "#/definitions/ContainerAppsContainerAppsPatchResource"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/patches/{patchName}": {
+ "get": {
+ "tags": [
+ "ContainerAppsPatches"
+ ],
+ "operationId": "ContainerAppsPatches_Get",
+ "description": "Get details for specific Container Apps Patch by patch name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsPatchNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Patch information retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ContainerAppsPatchResource"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ContainerAppsPatches_Get_0": {
+ "$ref": "./examples/ContainerAppsPatches_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContainerAppsPatches"
+ ],
+ "operationId": "ContainerAppsPatches_Delete",
+ "description": "Delete specific Container Apps Patch by patch name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsPatchNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Patch deletion has been started.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Patch does not exist."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerAppsPatches_Delete_0": {
+ "$ref": "./examples/ContainerAppsPatches_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/patches/{patchName}/skipConfig": {
+ "post": {
+ "tags": [
+ "ContainerAppsPatches"
+ ],
+ "operationId": "ContainerAppsPatches_SkipConfigure",
+ "description": "Configure the Container Apps Patch skip option by patch name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsPatchNameParameter"
+ },
+ {
+ "name": "patchSkipConfig",
+ "in": "body",
+ "required": true,
+ "description": "Configure patcher to skip a patch or not.",
+ "schema": {
+ "$ref": "#/definitions/PatchSkipConfig"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Updating patch skipping detail. Updating status tracked by location header.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerAppsPatches_Skip_Configure_0": {
+ "$ref": "./examples/ContainerAppsPatches_Skip_Configure.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/patches/{patchName}/apply": {
+ "post": {
+ "tags": [
+ "ContainerAppsPatches"
+ ],
+ "operationId": "ContainerAppsPatches_Apply",
+ "description": "Apply a Container Apps Patch resource with patch name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerAppsPatchNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Patching operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ContainerAppsPatchResource"
+ }
+ },
+ "202": {
+ "description": "Patching operation has been started.",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerAppsPatches_Apply_0": {
+ "$ref": "./examples/ContainerAppsPatches_Apply.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ContainerAppsPatchResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PatchProperties",
+ "description": "Properties that describes current states of the patch resource.",
+ "x-ms-mutability": [
+ "read",
+ "update"
+ ]
+ }
+ },
+ "description": "Container App Patch",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "PatchApplyStatus": {
+ "type": "string",
+ "description": "The status of the patch once it has been provisioned",
+ "enum": [
+ "NotStarted",
+ "RebaseInProgress",
+ "CreatingRevision",
+ "Succeeded",
+ "Canceled",
+ "RebaseFailed",
+ "RevisionCreationFailed",
+ "ImagePushPullFailed",
+ "ManuallySkipped"
+ ],
+ "x-ms-enum": {
+ "name": "PatchApplyStatus",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "DetectionStatus": {
+ "type": "string",
+ "description": "The status of the patch detection.",
+ "enum": [
+ "Succeeded",
+ "RegistryLoginFailed",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "DetectionStatus",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "PatchDetails": {
+ "description": "The detailed info of patch operation performing when applying a patch.",
+ "type": "object",
+ "required": [
+ "targetContainerName",
+ "targetImage",
+ "lastDetectionTime",
+ "detectionStatus"
+ ],
+ "properties": {
+ "targetContainerName": {
+ "type": "string",
+ "description": "The name of the target container for the patch.",
+ "readOnly": true
+ },
+ "targetImage": {
+ "type": "string",
+ "description": "The name of the target image for the patch.",
+ "readOnly": true
+ },
+ "lastDetectionTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC timestamp that describes the latest detection was done.",
+ "readOnly": true
+ },
+ "detectionStatus": {
+ "$ref": "#/definitions/DetectionStatus",
+ "description": "The status of the patch detection.",
+ "readOnly": true
+ },
+ "newImageName": {
+ "type": "string",
+ "description": "The name of the new image created by the patch.",
+ "readOnly": true
+ },
+ "newLayer": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The details of the new layer for the target image."
+ },
+ "frameworkAndVersion": {
+ "type": "string",
+ "description": "The framework and its version in the new run image for the target image."
+ },
+ "osAndVersion": {
+ "type": "string",
+ "description": "The OS name and its version in the new run image for the target image."
+ }
+ },
+ "description": "New layer update details in the target image.",
+ "readOnly": true
+ },
+ "oldLayer": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The details of the old layer for the target image."
+ },
+ "frameworkAndVersion": {
+ "type": "string",
+ "description": "The framework and its version in the old run image for the target image."
+ },
+ "osAndVersion": {
+ "type": "string",
+ "description": "The OS name and its version in the old run image for the target image."
+ }
+ },
+ "description": "The old layer details in the target image.",
+ "readOnly": true
+ },
+ "patchType": {
+ "type": "string",
+ "description": "The type for the patch.",
+ "enum": [
+ "FrameworkSecurity",
+ "OSSecurity",
+ "FrameworkAndOSSecurity",
+ "Other"
+ ],
+ "x-ms-enum": {
+ "name": "PatchType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ },
+ "readOnly": true
+ },
+ "PatchProperties": {
+ "description": "Top level properties that describes current states of the patch resource",
+ "type": "object",
+ "properties": {
+ "targetEnvironmentId": {
+ "format": "arm-id",
+ "type": "string",
+ "description": "The Azure resource id of the target environment for the patch."
+ },
+ "targetContainerAppId": {
+ "format": "arm-id",
+ "type": "string",
+ "description": "The Azure resource id of the target container app for the patch."
+ },
+ "targetRevisionId": {
+ "format": "arm-id",
+ "type": "string",
+ "description": "The Azure resource id of the target revision for the patch."
+ },
+ "patchApplyStatus": {
+ "$ref": "#/definitions/PatchApplyStatus",
+ "description": "The status of the patch operation.",
+ "readOnly": true
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC timestamp that describes when the patch object was created.",
+ "readOnly": true
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC timestamp that describes when the patch object was last updated.",
+ "readOnly": true
+ },
+ "patchDetails": {
+ "description": "Detailed info describes the patch operation for the target container app.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PatchDetails"
+ },
+ "x-ms-identifiers": [],
+ "readOnly": true
+ }
+ },
+ "readOnly": true
+ },
+ "PatchCollection": {
+ "description": "Container App patch collection",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of patch resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerAppsPatchResource"
+ }
+ },
+ "nextLink": {
+ "description": "the link to the next page of items",
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "PatchSkipConfig": {
+ "description": "The configuration for patcher to skip a patch or not.",
+ "type": "object",
+ "properties": {
+ "skip": {
+ "type": "boolean",
+ "description": "The flag to indicate whether to skip the patch or not."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ContainerAppsPatchNameParameter": {
+ "name": "patchName",
+ "in": "path",
+ "required": true,
+ "description": "The name of the patch",
+ "minLength": 2,
+ "maxLength": 64,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ContainerAppsNameParameter": {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App the Patch is associated.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsRevisions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsRevisions.json
new file mode 100644
index 000000000000..e8ae8248b2eb
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ContainerAppsRevisions.json
@@ -0,0 +1,690 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions": {
+ "get": {
+ "tags": [
+ "ContainerAppsRevisions"
+ ],
+ "summary": "Get the Revisions for a given Container App.",
+ "operationId": "ContainerAppsRevisions_ListRevisions",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App for which Revisions are needed.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "The filter to apply on the operation.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RevisionCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container App's revisions": {
+ "$ref": "./examples/Revisions_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/Revision"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}": {
+ "get": {
+ "tags": [
+ "ContainerAppsRevisions"
+ ],
+ "summary": "Get a revision of a Container App.",
+ "operationId": "ContainerAppsRevisions_GetRevision",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "revisionName",
+ "in": "path",
+ "description": "Name of the Container App Revision.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Revision"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App's revision": {
+ "$ref": "./examples/Revisions_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/activate": {
+ "post": {
+ "tags": [
+ "ContainerAppsRevisions"
+ ],
+ "summary": "Activates a revision for a Container App",
+ "operationId": "ContainerAppsRevisions_ActivateRevision",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "revisionName",
+ "in": "path",
+ "description": "Name of the Container App Revision.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container App revision was activated"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Activate Container App's revision": {
+ "$ref": "./examples/Revisions_Activate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/deactivate": {
+ "post": {
+ "tags": [
+ "ContainerAppsRevisions"
+ ],
+ "summary": "Deactivates a revision for a Container App",
+ "operationId": "ContainerAppsRevisions_DeactivateRevision",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "revisionName",
+ "in": "path",
+ "description": "Name of the Container App Revision.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container App revision was deactivated"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Deactivate Container App's revision": {
+ "$ref": "./examples/Revisions_Deactivate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas/{replicaName}": {
+ "get": {
+ "tags": [
+ "ContainerAppsRevisionReplicas"
+ ],
+ "summary": "Get a replica for a Container App Revision.",
+ "operationId": "ContainerAppsRevisionReplicas_GetReplica",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "revisionName",
+ "in": "path",
+ "description": "Name of the Container App Revision.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicaName",
+ "in": "path",
+ "description": "Name of the Container App Revision Replica.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Replica"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App's revision replica": {
+ "$ref": "./examples/Replicas_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas": {
+ "get": {
+ "tags": [
+ "ContainerAppsRevisionReplicas"
+ ],
+ "summary": "List replicas for a Container App Revision.",
+ "operationId": "ContainerAppsRevisionReplicas_ListReplicas",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "revisionName",
+ "in": "path",
+ "description": "Name of the Container App Revision.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicaCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container App's replicas": {
+ "$ref": "./examples/Replicas_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/restart": {
+ "post": {
+ "tags": [
+ "ContainerAppsRevisions"
+ ],
+ "summary": "Restarts a revision for a Container App",
+ "operationId": "ContainerAppsRevisions_RestartRevision",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "revisionName",
+ "in": "path",
+ "description": "Name of the Container App Revision.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container App revision was restarted"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Restart Container App's revision": {
+ "$ref": "./examples/Revisions_Restart.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Revision": {
+ "description": "Container App Revision.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Revision resource specific properties",
+ "type": "object",
+ "properties": {
+ "createdTime": {
+ "format": "date-time",
+ "description": "Timestamp describing when the revision was created\nby controller",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActiveTime": {
+ "format": "date-time",
+ "description": "Timestamp describing when the revision was last active. Only meaningful when revision is inactive",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "Fully qualified domain name of the revision",
+ "type": "string",
+ "readOnly": true
+ },
+ "template": {
+ "$ref": "./CommonDefinitions.json#/definitions/Template",
+ "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time",
+ "readOnly": true
+ },
+ "active": {
+ "description": "Boolean describing if the Revision is Active",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "replicas": {
+ "format": "int32",
+ "description": "Number of pods currently running for this revision",
+ "type": "integer",
+ "readOnly": true
+ },
+ "trafficWeight": {
+ "format": "int32",
+ "description": "Traffic weight assigned to this revision",
+ "type": "integer",
+ "readOnly": true
+ },
+ "labels": {
+ "description": "List of labels assigned to this revision.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "provisioningError": {
+ "description": "Optional Field - Platform Error Message",
+ "type": "string",
+ "readOnly": true
+ },
+ "healthState": {
+ "description": "Current health State of the revision",
+ "enum": [
+ "Healthy",
+ "Unhealthy",
+ "None"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RevisionHealthState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Current provisioning State of the revision",
+ "enum": [
+ "Provisioning",
+ "Provisioned",
+ "Failed",
+ "Deprovisioning",
+ "Deprovisioned"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RevisionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "runningState": {
+ "description": "Current running state of the revision",
+ "enum": [
+ "Running",
+ "Processing",
+ "Stopped",
+ "Degraded",
+ "Failed",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RevisionRunningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "RevisionCollection": {
+ "description": "Container App Revisions collection ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Revision"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Replica": {
+ "description": "Container App Revision Replica.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Replica resource specific properties",
+ "type": "object",
+ "properties": {
+ "createdTime": {
+ "type": "string",
+ "description": "Timestamp describing when the pod was created by controller",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "runningState": {
+ "description": "Current running state of the replica",
+ "enum": [
+ "Running",
+ "NotRunning",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerAppReplicaRunningState",
+ "modelAsString": true
+ }
+ },
+ "runningStateDetails": {
+ "description": "The details of replica current running state",
+ "type": "string",
+ "readOnly": true
+ },
+ "containers": {
+ "description": "The containers collection under a replica.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaContainer"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "initContainers": {
+ "description": "The init containers collection under a replica.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaContainer"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ReplicaCollection": {
+ "description": "Container App Revision Replicas collection ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Replica"
+ }
+ }
+ }
+ },
+ "ReplicaContainer": {
+ "description": "Container object under Container App Revision Replica.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The Name of the Container",
+ "type": "string"
+ },
+ "containerId": {
+ "description": "The Id of the Container",
+ "type": "string"
+ },
+ "ready": {
+ "description": "The container ready status",
+ "type": "boolean"
+ },
+ "started": {
+ "description": "The container start status",
+ "type": "boolean"
+ },
+ "restartCount": {
+ "format": "int32",
+ "description": "The container restart count",
+ "type": "integer"
+ },
+ "runningState": {
+ "description": "Current running state of the container",
+ "enum": [
+ "Running",
+ "Terminated",
+ "Waiting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerAppContainerRunningState",
+ "modelAsString": true
+ }
+ },
+ "runningStateDetails": {
+ "description": "The details of container current running state",
+ "type": "string",
+ "readOnly": true
+ },
+ "logStreamEndpoint": {
+ "description": "Log Stream endpoint",
+ "type": "string",
+ "readOnly": true
+ },
+ "execEndpoint": {
+ "description": "Container exec endpoint",
+ "type": "string",
+ "readOnly": true
+ },
+ "debugEndpoint": {
+ "description": "Container debug endpoint",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Diagnostics.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Diagnostics.json
new file mode 100644
index 000000000000..6854d676e508
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Diagnostics.json
@@ -0,0 +1,866 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectors": {
+ "get": {
+ "tags": [
+ "ContainerApps",
+ "Diagnostics"
+ ],
+ "summary": "Get the list of diagnostics for a given Container App.",
+ "operationId": "ContainerAppsDiagnostics_ListDetectors",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App for which detector info is needed.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get the list of available diagnostics for a given Container App": {
+ "$ref": "./examples/ContainerAppsDiagnostics_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectors/{detectorName}": {
+ "get": {
+ "tags": [
+ "ContainerApps",
+ "Diagnostics"
+ ],
+ "summary": "Get a diagnostics result of a Container App.",
+ "operationId": "ContainerAppsDiagnostics_GetDetector",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "detectorName",
+ "in": "path",
+ "description": "Name of the Container App Detector.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Diagnostics"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App's diagnostics info": {
+ "$ref": "./examples/ContainerAppsDiagnostics_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectorProperties/revisionsApi/revisions/": {
+ "get": {
+ "tags": [
+ "ContainerApps",
+ "Diagnostics"
+ ],
+ "summary": "Get the Revisions for a given Container App.",
+ "operationId": "ContainerAppsDiagnostics_ListRevisions",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App for which Revisions are needed.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "The filter to apply on the operation.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./ContainerAppsRevisions.json#/definitions/RevisionCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container App's revisions": {
+ "$ref": "./examples/Revisions_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/Revision"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectorProperties/revisionsApi/revisions/{revisionName}": {
+ "get": {
+ "tags": [
+ "ContainerApps",
+ "Diagnostics"
+ ],
+ "summary": "Get a revision of a Container App.",
+ "operationId": "ContainerAppsDiagnostics_GetRevision",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "revisionName",
+ "in": "path",
+ "description": "Name of the Container App Revision.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./ContainerAppsRevisions.json#/definitions/Revision"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App's revision": {
+ "$ref": "./examples/Revisions_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectorProperties/rootApi/": {
+ "get": {
+ "tags": [
+ "ContainerApps",
+ "Diagnostics"
+ ],
+ "summary": "Get the properties of a Container App.",
+ "operationId": "ContainerAppsDiagnostics_GetRoot",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "./ContainerApps.json#/definitions/ContainerApp"
+ }
+ },
+ "404": {
+ "description": "Not found.",
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App": {
+ "$ref": "./examples/ContainerApps_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/detectors": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "Diagnostics"
+ ],
+ "summary": "Get the list of diagnostics for a given Managed Environment.",
+ "description": "Get the list of diagnostics for a Managed Environment used to host container apps.",
+ "operationId": "ManagedEnvironmentDiagnostics_ListDetectors",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get the list of available diagnostic data for a managed environments": {
+ "$ref": "./examples/ManagedEnvironmentDiagnostics_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/detectors/{detectorName}": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "Diagnostics"
+ ],
+ "summary": "Get the diagnostics data for a given Managed Environment.",
+ "description": "Get the diagnostics data for a Managed Environment used to host container apps.",
+ "operationId": "ManagedEnvironmentDiagnostics_GetDetector",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "detectorName",
+ "in": "path",
+ "description": "Name of the Managed Environment detector.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Diagnostics"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get diagnostic data for a managed environments": {
+ "$ref": "./examples/ManagedEnvironmentDiagnostics_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/detectorProperties/rootApi/": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "Diagnostics"
+ ],
+ "summary": "Get the properties of a Managed Environment.",
+ "description": "Get the properties of a Managed Environment used to host container apps.",
+ "operationId": "ManagedEnvironmentsDiagnostics_GetRoot",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./ManagedEnvironments.json#/definitions/ManagedEnvironment"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get environments by name": {
+ "$ref": "./examples/ManagedEnvironments_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/detectors": {
+ "get": {
+ "tags": [
+ "Jobs",
+ "Diagnostics"
+ ],
+ "summary": "Get the list of diagnostics for a given Container App Job.",
+ "description": "Get the list of diagnostics for a Container App Job.",
+ "operationId": "Jobs_ListDetectors",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./Jobs.json#/parameters/JobNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get the list of available diagnostic data for a Container App Job": {
+ "$ref": "./examples/Job_ListDetectors.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/detectors/{detectorName}": {
+ "get": {
+ "tags": [
+ "Jobs",
+ "Diagnostics"
+ ],
+ "summary": "Get the diagnostics data for a given Container App Job.",
+ "description": "Get the diagnostics data for a Container App Job.",
+ "operationId": "Jobs_GetDetector",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./Jobs.json#/parameters/JobNameParameter"
+ },
+ {
+ "name": "detectorName",
+ "in": "path",
+ "description": "Name of the Container App Job detector.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Diagnostics"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get diagnostic data for a Container App Job": {
+ "$ref": "./examples/Job_GetDetector.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/detectorProperties/{apiName}": {
+ "get": {
+ "tags": [
+ "Jobs",
+ "Diagnostics"
+ ],
+ "summary": "Get the properties for a given Container App Job.",
+ "description": "Get the properties of a Container App Job.",
+ "operationId": "Jobs_ProxyGet",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./Jobs.json#/parameters/JobNameParameter"
+ },
+ {
+ "name": "apiName",
+ "in": "path",
+ "description": "Proxy API Name for Container App Job.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./Jobs.json#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App Job by name": {
+ "$ref": "./examples/Job_ProxyGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DiagnosticsCollection": {
+ "description": "Diagnostics data collection for a resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of diagnostic data.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Diagnostics"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Diagnostics": {
+ "description": "Diagnostics data for a resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Diagnostics resource specific properties",
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "$ref": "#/definitions/DiagnosticsDefinition",
+ "description": "Metadata of the diagnostics response."
+ },
+ "dataset": {
+ "description": "Set of data collections associated with the response.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiagnosticsDataApiResponse"
+ },
+ "x-ms-identifiers": []
+ },
+ "status": {
+ "$ref": "#/definitions/DiagnosticsStatus",
+ "description": "Status of the diagnostics response."
+ },
+ "dataProviderMetadata": {
+ "$ref": "#/definitions/DiagnosticDataProviderMetadata",
+ "description": "List of data providers' metadata."
+ }
+ }
+ }
+ }
+ },
+ "DiagnosticsDefinition": {
+ "description": "Metadata of the diagnostics response",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique detector name",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Display Name of the detector",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Details of the diagnostics info",
+ "type": "string",
+ "readOnly": true
+ },
+ "author": {
+ "description": "Authors' names of the detector",
+ "type": "string",
+ "readOnly": true
+ },
+ "category": {
+ "description": "Category of the detector",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportTopicList": {
+ "description": "List of support topics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiagnosticSupportTopic"
+ }
+ },
+ "analysisTypes": {
+ "description": "List of analysis types",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Authors' names of the detector",
+ "type": "string",
+ "readOnly": true
+ },
+ "score": {
+ "description": "Authors' names of the detector",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "DiagnosticSupportTopic": {
+ "description": "Support topic information",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique topic identifier",
+ "type": "string",
+ "readOnly": true
+ },
+ "pesId": {
+ "description": "PES identifier",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DiagnosticsDataApiResponse": {
+ "description": "Diagnostics data returned from a detector",
+ "type": "object",
+ "properties": {
+ "table": {
+ "description": "Table response",
+ "$ref": "#/definitions/DiagnosticDataTableResponseObject"
+ },
+ "renderingProperties": {
+ "description": "Details of the table response",
+ "$ref": "#/definitions/DiagnosticRendering"
+ }
+ }
+ },
+ "DiagnosticDataTableResponseObject": {
+ "description": "Diagnostics data table",
+ "type": "object",
+ "properties": {
+ "tableName": {
+ "description": "Table name",
+ "type": "string"
+ },
+ "columns": {
+ "description": "Columns in the table",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiagnosticDataTableResponseColumn"
+ },
+ "x-ms-identifiers": [
+ "columnName"
+ ]
+ },
+ "rows": {
+ "description": "Rows in the table",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "DiagnosticDataTableResponseColumn": {
+ "description": "Diagnostics data column",
+ "type": "object",
+ "properties": {
+ "columnName": {
+ "description": "Column name",
+ "type": "string"
+ },
+ "dataType": {
+ "description": "Data type of the column",
+ "type": "string"
+ },
+ "columnType": {
+ "description": "Column type",
+ "type": "string"
+ }
+ }
+ },
+ "DiagnosticRendering": {
+ "description": "Rendering details of a diagnostics table",
+ "type": "object",
+ "properties": {
+ "type": {
+ "format": "int32",
+ "description": "Rendering type",
+ "type": "integer"
+ },
+ "title": {
+ "description": "Title of the table",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the table",
+ "type": "string"
+ },
+ "isVisible": {
+ "description": "Flag if the table should be rendered",
+ "type": "boolean"
+ }
+ }
+ },
+ "DiagnosticsStatus": {
+ "description": "Rendering details of a diagnostics table",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Diagnostic message",
+ "type": "string"
+ },
+ "statusId": {
+ "format": "int32",
+ "description": "Status",
+ "type": "integer"
+ }
+ }
+ },
+ "DiagnosticDataProviderMetadata": {
+ "description": "Details of a diagnostics data provider",
+ "type": "object",
+ "properties": {
+ "providerName": {
+ "description": "Name of data provider",
+ "type": "string"
+ },
+ "propertyBag": {
+ "description": "Collection of properties",
+ "type": "array",
+ "items": {
+ "description": "Property details",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Property name",
+ "type": "string"
+ },
+ "value": {
+ "description": "Property value",
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/DotNetComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/DotNetComponents.json
new file mode 100644
index 000000000000..12484f41db0b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/DotNetComponents.json
@@ -0,0 +1,479 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2024-10-02-preview"
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/dotNetComponents": {
+ "get": {
+ "tags": [
+ "DotNetComponents"
+ ],
+ "summary": "Get the .NET Components for a managed environment.",
+ "operationId": "DotNetComponents_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/DotNetComponentsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List .NET Components": {
+ "$ref": "./examples/DotNetComponents_List.json"
+ },
+ "List .NET Components with ServiceBinds": {
+ "$ref": "./examples/DotNetComponents_List_ServiceBind.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/dotNetComponents/{name}": {
+ "get": {
+ "tags": [
+ "DotNetComponents"
+ ],
+ "summary": "Get a .NET Component.",
+ "operationId": "DotNetComponents_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the .NET Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DotNetComponent"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get .NET Component": {
+ "$ref": "./examples/DotNetComponents_Get.json"
+ },
+ "Get .NET Component with ServiceBinds": {
+ "$ref": "./examples/DotNetComponents_Get_ServiceBind.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DotNetComponents"
+ ],
+ "summary": "Creates or updates a .NET Component.",
+ "description": "Creates or updates a .NET Component in a Managed Environment.",
+ "operationId": "DotNetComponents_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the .NET Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "dotNetComponentEnvelope",
+ "in": "body",
+ "description": "Configuration details of the .NET Component.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DotNetComponent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "No change performed on the .NET Component.",
+ "schema": {
+ "$ref": "#/definitions/DotNetComponent"
+ }
+ },
+ "201": {
+ "description": ".NET Component create or update has been started.",
+ "schema": {
+ "$ref": "#/definitions/DotNetComponent"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create or Update .NET Component": {
+ "$ref": "./examples/DotNetComponents_CreateOrUpdate.json"
+ },
+ "Create or Update .NET Component with ServiceBinds": {
+ "$ref": "./examples/DotNetComponents_CreateOrUpdate_ServiceBind.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DotNetComponents"
+ ],
+ "summary": "Update properties of a .NET Component",
+ "description": "Patches a .NET Component using JSON Merge Patch",
+ "operationId": "DotNetComponents_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the .NET Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "dotNetComponentEnvelope",
+ "in": "body",
+ "description": "Configuration details of the .NET Component.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DotNetComponent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/DotNetComponent"
+ }
+ },
+ "202": {
+ "description": "Patch operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Patch .NET Component": {
+ "$ref": "./examples/DotNetComponents_Patch.json"
+ },
+ "Patch .NET Component with ServiceBinds": {
+ "$ref": "./examples/DotNetComponents_Patch_ServiceBind.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DotNetComponents"
+ ],
+ "summary": "Delete a .NET Component.",
+ "description": "Delete a .NET Component.",
+ "operationId": "DotNetComponents_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the .NET Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Delete operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": ".NET Component does not exist."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Delete .NET Component": {
+ "$ref": "./examples/DotNetComponents_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DotNetComponentConfigurationProperty": {
+ "description": "Configuration properties for a .NET Component",
+ "type": "object",
+ "properties": {
+ "propertyName": {
+ "description": "The name of the property",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the property",
+ "type": "string"
+ }
+ }
+ },
+ "DotNetComponentServiceBind": {
+ "description": "Configuration to bind a .NET Component to another .NET Component",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the service bind",
+ "type": "string"
+ },
+ "serviceId": {
+ "description": "Resource id of the target service",
+ "format": "arm-id",
+ "type": "string"
+ }
+ }
+ },
+ "DotNetComponent": {
+ "description": ".NET Component.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": ".NET Component resource specific properties",
+ "type": "object",
+ "properties": {
+ "componentType": {
+ "description": "Type of the .NET Component.",
+ "enum": [
+ "AspireDashboard"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DotNetComponentType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the .NET Component.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleting",
+ "InProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DotNetComponentProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "configurations": {
+ "description": "List of .NET Components configuration properties",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DotNetComponentConfigurationProperty"
+ },
+ "x-ms-identifiers": [
+ "propertyName"
+ ]
+ },
+ "serviceBinds": {
+ "description": "List of .NET Components that are bound to the .NET component",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DotNetComponentServiceBind"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DotNetComponentsCollection": {
+ "description": ".NET Components ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DotNetComponent"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/FunctionsExtension.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/FunctionsExtension.json
new file mode 100644
index 000000000000..cf29887db914
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/FunctionsExtension.json
@@ -0,0 +1,107 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client",
+ "description": "Functions is an extension resource to revisions and the api listed is used to proxy the call from Web RP to the function app's host process, this api is not exposed to users and only Web RP is allowed to invoke functions extension resource."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/providers/Microsoft.App/functions/{functionAppName}/invoke": {
+ "post": {
+ "tags": [
+ "FunctionsExtension"
+ ],
+ "summary": "Proxies a Functions host call to the function app backed by the container app.",
+ "operationId": "FunctionsExtension_InvokeFunctionsHost",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "revisionName",
+ "in": "path",
+ "description": "Name of the Container App Revision, the parent resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "functionAppName",
+ "in": "path",
+ "description": "Name of the Function App, the extension resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Functions host call response.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Invoke Functions host using Functions Extension API": {
+ "$ref": "./examples/FunctionsExtension_Post.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "FunctionsProxySerializedResponse": {
+ "type": "string",
+ "description": "Functions host call response as a serialized string, a common type of string is used as multiple response structures are possible."
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Global.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Global.json
new file mode 100644
index 000000000000..6cd1d303d6c8
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Global.json
@@ -0,0 +1,140 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.App/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available RP operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AvailableOperations"
+ }
+ },
+ "default": {
+ "description": "Resource Provider error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all operations": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AvailableOperations": {
+ "description": "Available operations of the service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDetail"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDetail": {
+ "description": "Operation detail payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/JavaComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/JavaComponents.json
new file mode 100644
index 000000000000..a56d82e9a004
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/JavaComponents.json
@@ -0,0 +1,641 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2024-10-02-preview"
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/javaComponents": {
+ "get": {
+ "tags": [
+ "JavaComponents"
+ ],
+ "summary": "Get the Java Components for a managed environment.",
+ "operationId": "JavaComponents_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/JavaComponentsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Java Components": {
+ "$ref": "./examples/JavaComponents_List.json"
+ },
+ "List Java Components with ServiceBinds": {
+ "$ref": "./examples/JavaComponents_List_ServiceBind.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/javaComponents/{name}": {
+ "get": {
+ "tags": [
+ "JavaComponents"
+ ],
+ "summary": "Get a Java Component.",
+ "operationId": "JavaComponents_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Java Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JavaComponent"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Java Component": {
+ "$ref": "./examples/JavaComponents_Get.json"
+ },
+ "Get Java Component with ServiceBinds": {
+ "$ref": "./examples/JavaComponents_Get_ServiceBind.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "JavaComponents"
+ ],
+ "summary": "Creates or updates a Java Component.",
+ "description": "Creates or updates a Java Component in a Managed Environment.",
+ "operationId": "JavaComponents_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Java Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "javaComponentEnvelope",
+ "in": "body",
+ "description": "Configuration details of the Java Component.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JavaComponent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "No change performed on the Java Component.",
+ "schema": {
+ "$ref": "#/definitions/JavaComponent"
+ }
+ },
+ "201": {
+ "description": "Java Component create or update has been started.",
+ "schema": {
+ "$ref": "#/definitions/JavaComponent"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create or Update Java Component": {
+ "$ref": "./examples/JavaComponents_CreateOrUpdate.json"
+ },
+ "Create or Update Java Component with ServiceBinds": {
+ "$ref": "./examples/JavaComponents_CreateOrUpdate_ServiceBind.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "JavaComponents"
+ ],
+ "summary": "Update properties of a Java Component",
+ "description": "Patches a Java Component using JSON Merge Patch",
+ "operationId": "JavaComponents_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Java Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "javaComponentEnvelope",
+ "in": "body",
+ "description": "Configuration details of the Java Component.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JavaComponent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/JavaComponent"
+ }
+ },
+ "202": {
+ "description": "Patch operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Patch Java Component": {
+ "$ref": "./examples/JavaComponents_Patch.json"
+ },
+ "Patch Java Component with ServiceBinds": {
+ "$ref": "./examples/JavaComponents_Patch_ServiceBind.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "JavaComponents"
+ ],
+ "summary": "Delete a Java Component.",
+ "description": "Delete a Java Component.",
+ "operationId": "JavaComponents_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Java Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Delete operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Java Component does not exist."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Delete Java Component": {
+ "$ref": "./examples/JavaComponents_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ScgRoute": {
+ "description": "Spring Cloud Gateway route definition",
+ "type": "object",
+ "required": [
+ "id",
+ "uri"
+ ],
+ "properties": {
+ "id": {
+ "description": "Id of the route",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Uri of the route",
+ "type": "string"
+ },
+ "predicates": {
+ "description": "Predicates of the route",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "filters": {
+ "description": "Filters of the route",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "order": {
+ "description": "Order of the route",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "JavaComponentConfigurationProperty": {
+ "description": "Configuration properties for a Java Component",
+ "type": "object",
+ "properties": {
+ "propertyName": {
+ "description": "The name of the property",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the property",
+ "type": "string"
+ }
+ }
+ },
+ "JavaComponentServiceBind": {
+ "description": "Configuration to bind a Java Component to another Java Component",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the service bind",
+ "type": "string"
+ },
+ "serviceId": {
+ "description": "Resource id of the target service",
+ "format": "arm-id",
+ "type": "string"
+ }
+ }
+ },
+ "JavaComponent": {
+ "description": "Java Component.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Java Component resource specific properties",
+ "type": "object",
+ "$ref": "#/definitions/JavaComponentProperties"
+ }
+ }
+ },
+ "JavaComponentProperties": {
+ "description": "Java Component common properties.",
+ "type": "object",
+ "required": [
+ "componentType"
+ ],
+ "properties": {
+ "componentType": {
+ "description": "Type of the Java Component.",
+ "enum": [
+ "SpringBootAdmin",
+ "SpringCloudEureka",
+ "SpringCloudConfig",
+ "SpringCloudGateway",
+ "Nacos"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JavaComponentType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the Java Component.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleting",
+ "InProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JavaComponentProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "configurations": {
+ "description": "List of Java Components configuration properties",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JavaComponentConfigurationProperty"
+ },
+ "x-ms-identifiers": [
+ "propertyName"
+ ]
+ },
+ "scale": {
+ "description": "Java component scaling configurations",
+ "type": "object",
+ "properties": {
+ "minReplicas": {
+ "format": "int32",
+ "description": "Optional. Minimum number of Java component replicas. Defaults to 1 if not set",
+ "type": "integer"
+ },
+ "maxReplicas": {
+ "format": "int32",
+ "description": "Optional. Maximum number of Java component replicas",
+ "type": "integer"
+ }
+ }
+ },
+ "serviceBinds": {
+ "description": "List of Java Components that are bound to the Java component",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JavaComponentServiceBind"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ },
+ "x-ms-client-flatten": true,
+ "discriminator": "componentType"
+ },
+ "JavaComponentIngress": {
+ "description": "Container App Ingress configuration.",
+ "type": "object",
+ "properties": {
+ "fqdn": {
+ "description": "Hostname of the Java Component endpoint",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SpringCloudGatewayComponent": {
+ "description": "Spring Cloud Gateway properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JavaComponentProperties"
+ }
+ ],
+ "properties": {
+ "ingress": {
+ "$ref": "#/definitions/JavaComponentIngress",
+ "description": "Java Component Ingress configurations."
+ },
+ "springCloudGatewayRoutes": {
+ "description": "Gateway route definition",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScgRoute"
+ },
+ "x-ms-identifiers": [
+ "id"
+ ]
+ }
+ },
+ "x-ms-discriminator-value": "SpringCloudGateway"
+ },
+ "SpringBootAdminComponent": {
+ "description": "Spring Boot Admin properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JavaComponentProperties"
+ }
+ ],
+ "properties": {
+ "ingress": {
+ "$ref": "#/definitions/JavaComponentIngress",
+ "description": "Java Component Ingress configurations."
+ }
+ },
+ "x-ms-discriminator-value": "SpringBootAdmin"
+ },
+ "NacosComponent": {
+ "description": "Nacos properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JavaComponentProperties"
+ }
+ ],
+ "properties": {
+ "ingress": {
+ "$ref": "#/definitions/JavaComponentIngress",
+ "description": "Java Component Ingress configurations."
+ }
+ },
+ "x-ms-discriminator-value": "Nacos"
+ },
+ "SpringCloudEurekaComponent": {
+ "description": "Spring Cloud Eureka properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JavaComponentProperties"
+ }
+ ],
+ "properties": {
+ "ingress": {
+ "$ref": "#/definitions/JavaComponentIngress",
+ "description": "Java Component Ingress configurations."
+ }
+ },
+ "x-ms-discriminator-value": "SpringCloudEureka"
+ },
+ "SpringCloudConfigComponent": {
+ "description": "Spring Cloud Config properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JavaComponentProperties"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "SpringCloudConfig"
+ },
+ "JavaComponentsCollection": {
+ "description": "Java Components ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JavaComponent"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Jobs.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Jobs.json
new file mode 100644
index 000000000000..9890f8b117d6
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Jobs.json
@@ -0,0 +1,1423 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Get the Container Apps Jobs in a given subscription.",
+ "operationId": "Jobs_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobsCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container Apps Jobs by subscription": {
+ "$ref": "./examples/Jobs_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Get the Container Apps Jobs in a given resource group.",
+ "operationId": "Jobs_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container Apps Jobs by resource group": {
+ "$ref": "./examples/Jobs_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Get the properties of a Container Apps Job.",
+ "operationId": "Jobs_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container Apps Job": {
+ "$ref": "./examples/Job_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Create or Update a Container Apps Job.",
+ "description": "Create or Update a Container Apps Job.",
+ "operationId": "Jobs_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ },
+ {
+ "name": "JobEnvelope",
+ "in": "body",
+ "description": "Properties used to create a container apps job",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Container Apps Job create has been started.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "200": {
+ "description": "No change performed on the Container Apps Job.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Container Apps Job": {
+ "$ref": "./examples/Job_CreateorUpdate.json"
+ },
+ "Create or Update Container Apps Job With Event Driven Trigger": {
+ "$ref": "./examples/Job_CreateorUpdate_EventTrigger.json"
+ },
+ "Create or Update Container Apps Job On A Connected Environment": {
+ "$ref": "./examples/Job_CreateorUpdate_ConnectedEnvironment.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Delete a Container Apps Job.",
+ "description": "Delete a Container Apps Job.",
+ "operationId": "Jobs_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container Apps Job deleted successfully."
+ },
+ "202": {
+ "description": "Delete operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Container Apps Job does not exist."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Container Apps Job": {
+ "$ref": "./examples/Job_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Update properties of a Container Apps Job",
+ "description": "Patches a Container Apps Job using JSON Merge Patch",
+ "operationId": "Jobs_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ },
+ {
+ "name": "JobEnvelope",
+ "in": "body",
+ "required": true,
+ "description": "Properties used to create a container apps job",
+ "schema": {
+ "$ref": "#/definitions/JobPatchProperties"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Patch operation is in progress.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Container Apps Job": {
+ "$ref": "./examples/Job_Patch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/start": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Start a Container Apps Job",
+ "operationId": "Jobs_Start",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ },
+ {
+ "name": "template",
+ "in": "body",
+ "description": "Properties used to start a job execution.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/JobExecutionTemplate"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobExecutionBase"
+ }
+ },
+ "202": {
+ "description": "OK",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Run a Container Apps Job": {
+ "$ref": "./examples/Job_Start.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/executions/{jobExecutionName}/stop": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Terminates execution of a running container apps job",
+ "operationId": "Jobs_StopExecution",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobExecutionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container Apps Jobs terminated successfully."
+ },
+ "202": {
+ "description": "OK",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Terminate a Container Apps Job": {
+ "$ref": "./examples/Job_Stop_Execution.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/stop": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Terminates execution of a running container apps job",
+ "operationId": "Jobs_StopMultipleExecutions",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the job executions that were requested to be stopped",
+ "schema": {
+ "$ref": "#/definitions/ContainerAppJobExecutions"
+ }
+ },
+ "202": {
+ "description": "OK",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Terminate Multiple Container Apps Job": {
+ "$ref": "./examples/Job_Stop_Multiple.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/executions": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Get a Container Apps Job's executions",
+ "operationId": "JobsExecutions_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "The filter to apply on the operation.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerAppJobExecutions"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Container Apps Job Executions": {
+ "$ref": "./examples/Job_Executions_Get.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/executions/{jobExecutionName}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Get details of a single job execution",
+ "operationId": "JobExecution",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobExecutionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobExecution"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a single Job Execution": {
+ "$ref": "./examples/Job_Execution_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/listSecrets": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "List secrets for a container apps job",
+ "operationId": "Jobs_ListSecrets",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobSecretsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container Apps Job Secrets": {
+ "$ref": "./examples/Job_ListSecrets.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/resume": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Resumes a suspended job",
+ "operationId": "Jobs_Resume",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the Job.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job resumed successfully.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Resume operation is in progress.",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resume Job": {
+ "$ref": "./examples/Jobs_Resume.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/suspend": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Suspends a job",
+ "operationId": "Jobs_Suspend",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the Job.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job suspended successfully.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Suspend operation is in progress.",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Suspend Job": {
+ "$ref": "./examples/Jobs_Suspend.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "JobNameParameter": {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job Name",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "JobExecutionNameParameter": {
+ "name": "jobExecutionName",
+ "in": "path",
+ "description": "Job execution name.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "definitions": {
+ "JobConfiguration": {
+ "description": "Non versioned Container Apps Job configuration properties",
+ "type": "object",
+ "required": [
+ "replicaTimeout",
+ "triggerType"
+ ],
+ "properties": {
+ "secrets": {
+ "description": "Collection of secrets used by a Container Apps Job",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/Secret"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "triggerType": {
+ "description": "Trigger type of the job",
+ "enum": [
+ "Schedule",
+ "Event",
+ "Manual"
+ ],
+ "type": "string",
+ "default": "Manual",
+ "x-ms-enum": {
+ "name": "TriggerType",
+ "modelAsString": true
+ }
+ },
+ "replicaTimeout": {
+ "description": "Maximum number of seconds a replica is allowed to run.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "replicaRetryLimit": {
+ "format": "int32",
+ "description": "Maximum number of retries before failing the job.",
+ "type": "integer"
+ },
+ "manualTriggerConfig": {
+ "type": "object",
+ "description": "Manual trigger configuration for a single execution job. Properties replicaCompletionCount and parallelism would be set to 1 by default",
+ "properties": {
+ "replicaCompletionCount": {
+ "$ref": "#/definitions/ReplicaCompletionCount"
+ },
+ "parallelism": {
+ "$ref": "#/definitions/Parallelism"
+ }
+ }
+ },
+ "scheduleTriggerConfig": {
+ "description": "Cron formatted repeating trigger schedule (\"* * * * *\") for cronjobs. Properties completions and parallelism would be set to 1 by default",
+ "required": [
+ "cronExpression"
+ ],
+ "type": "object",
+ "properties": {
+ "replicaCompletionCount": {
+ "$ref": "#/definitions/ReplicaCompletionCount"
+ },
+ "cronExpression": {
+ "description": "Cron formatted repeating schedule (\"* * * * *\") of a Cron Job.",
+ "type": "string"
+ },
+ "parallelism": {
+ "$ref": "#/definitions/Parallelism"
+ }
+ }
+ },
+ "eventTriggerConfig": {
+ "type": "object",
+ "description": "Trigger configuration of an event driven job.",
+ "properties": {
+ "replicaCompletionCount": {
+ "$ref": "#/definitions/ReplicaCompletionCount"
+ },
+ "parallelism": {
+ "$ref": "#/definitions/Parallelism"
+ },
+ "scale": {
+ "$ref": "#/definitions/JobScale"
+ }
+ }
+ },
+ "registries": {
+ "description": "Collection of private container registry credentials used by a Container apps job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryCredentials"
+ },
+ "x-ms-identifiers": [
+ "server"
+ ]
+ },
+ "identitySettings": {
+ "description": "Optional settings for Managed Identities that are assigned to the Container App Job. If a Managed Identity is not specified here, default settings will be used.",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/IdentitySettings"
+ },
+ "x-ms-identifiers": [
+ "identity"
+ ]
+ }
+ }
+ },
+ "Job": {
+ "type": "object",
+ "description": "Container App Job",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "extendedLocation": {
+ "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation"
+ },
+ "identity": {
+ "description": "Managed identities needed by a container app job to interact with other Azure services to not maintain any secrets or credentials in code.",
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity"
+ },
+ "properties": {
+ "description": "Container Apps Job resource specific properties.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Container Apps Job.",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "runningState": {
+ "description": "Current running state of the job",
+ "enum": [
+ "Ready",
+ "Progressing",
+ "Suspended"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobRunningState",
+ "modelAsString": true
+ }
+ },
+ "environmentId": {
+ "description": "Resource ID of environment.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "workloadProfileName": {
+ "$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileName",
+ "description": "Workload profile name to pin for container apps job execution."
+ },
+ "configuration": {
+ "$ref": "#/definitions/JobConfiguration",
+ "description": "Container Apps Job configuration properties."
+ },
+ "template": {
+ "$ref": "./CommonDefinitions.json#/definitions/JobTemplate",
+ "description": "Container Apps job definition."
+ },
+ "outboundIpAddresses": {
+ "description": "Outbound IP Addresses of a container apps job.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "eventStreamEndpoint": {
+ "description": "The endpoint of the eventstream of the container apps job.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "JobPatchProperties": {
+ "type": "object",
+ "description": "Container Apps Job resource specific properties.",
+ "properties": {
+ "extendedLocation": {
+ "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation"
+ },
+ "identity": {
+ "description": "Managed identities needed by a container app job to interact with other Azure services to not maintain any secrets or credentials in code.",
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "environmentId": {
+ "description": "Resource ID of environment.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read",
+ "update"
+ ]
+ },
+ "configuration": {
+ "$ref": "#/definitions/JobConfiguration",
+ "description": "Container Apps Job configuration properties."
+ },
+ "template": {
+ "$ref": "./CommonDefinitions.json#/definitions/JobTemplate",
+ "description": "Container Apps job definition."
+ },
+ "outboundIpAddresses": {
+ "description": "Outbound IP Addresses of a container apps job.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "eventStreamEndpoint": {
+ "description": "The endpoint of the eventstream of the container apps job.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "JobsCollection": {
+ "description": "Container Apps Jobs collection ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RegistryCredentials": {
+ "description": "Container App Private Registry",
+ "type": "object",
+ "properties": {
+ "server": {
+ "description": "Container Registry Server",
+ "type": "string"
+ },
+ "username": {
+ "description": "Container Registry Username",
+ "type": "string"
+ },
+ "passwordSecretRef": {
+ "description": "The name of the Secret that contains the registry login password",
+ "type": "string"
+ },
+ "identity": {
+ "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'",
+ "type": "string"
+ }
+ }
+ },
+ "JobSecretsCollection": {
+ "description": "Container Apps Job Secrets Collection ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/Secret"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "ReplicaCompletionCount": {
+ "description": "Minimum number of successful replica completions before overall job completion.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "Parallelism": {
+ "description": "Number of parallel replicas of a job that can run at a given time.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "PollingInterval": {
+ "description": "Interval to check each event source in seconds. Defaults to 30s",
+ "format": "int32",
+ "type": "integer"
+ },
+ "JobScaleRule": {
+ "description": "Scaling rule.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Scale Rule Name",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the scale rule\neg: azure-servicebus, redis etc.",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "Metadata properties to describe the scale rule.",
+ "type": "object"
+ },
+ "auth": {
+ "description": "Authentication secrets for the scale rule.",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/ScaleRuleAuth"
+ }
+ },
+ "identity": {
+ "description": "The resource ID of a user-assigned managed identity that is assigned to the job, or 'system' for system-assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "JobScale": {
+ "description": "Scaling configurations for event driven jobs.",
+ "type": "object",
+ "properties": {
+ "pollingInterval": {
+ "$ref": "#/definitions/PollingInterval"
+ },
+ "minExecutions": {
+ "format": "int32",
+ "description": "Minimum number of job executions that are created for a trigger, default 0",
+ "type": "integer",
+ "default": 0
+ },
+ "maxExecutions": {
+ "format": "int32",
+ "description": "Maximum number of job executions that are created for a trigger, default 100.",
+ "type": "integer",
+ "default": 100
+ },
+ "rules": {
+ "description": "Scaling rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobScaleRule"
+ }
+ }
+ }
+ },
+ "JobExecutionBase": {
+ "description": "Container App's Job execution name.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Job execution name.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Job execution Id.",
+ "type": "string"
+ }
+ }
+ },
+ "JobExecution": {
+ "description": "Container Apps Job execution.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Job execution Name.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Job execution Id.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Job execution type",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Container Apps Job execution specific properties.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Current running State of the job",
+ "enum": [
+ "Running",
+ "Processing",
+ "Stopped",
+ "Degraded",
+ "Failed",
+ "Unknown",
+ "Succeeded"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobExecutionRunningState",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "description": "Job execution start time.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "Job execution end time.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "template": {
+ "description": "Job's execution container.",
+ "$ref": "#/definitions/JobExecutionTemplate"
+ },
+ "detailedStatus": {
+ "description": "Detailed status of the job execution.",
+ "$ref": "#/definitions/ExecutionStatus"
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ExecutionStatus": {
+ "description": "Container Apps Job execution status.",
+ "type": "object",
+ "properties": {
+ "replicas": {
+ "description": "Replicas in the execution.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaExecutionStatus"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "ReplicaExecutionStatus": {
+ "description": "Container Apps Job execution replica status.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Replica Name.",
+ "type": "string"
+ },
+ "containers": {
+ "description": "Containers in the execution replica",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerExecutionStatus"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "ContainerExecutionStatus": {
+ "description": "Container Apps Job execution container status. Contains status code and reason",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Container Name.",
+ "type": "string"
+ },
+ "code": {
+ "description": "Exit code",
+ "type": "integer",
+ "format": "int32"
+ },
+ "additionalInformation": {
+ "description": "Additional information for the container status",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the container",
+ "type": "string"
+ }
+ }
+ },
+ "ContainerAppJobExecutions": {
+ "description": "Container App executions collection ARM resource.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobExecution"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "JobExecutionNamesCollection": {
+ "description": "Container App executions names list.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobExecutionBase"
+ }
+ }
+ }
+ },
+ "JobExecutionTemplate": {
+ "description": "Job's execution template, containing container configuration for a job's execution",
+ "type": "object",
+ "properties": {
+ "containers": {
+ "description": "List of container definitions for the Container Apps Job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobExecutionContainer"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "initContainers": {
+ "description": "List of specialized containers that run before job containers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobExecutionContainer"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "JobExecutionContainer": {
+ "description": "Container Apps Jobs execution container definition.",
+ "type": "object",
+ "properties": {
+ "image": {
+ "description": "Container image tag.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Custom container name.",
+ "type": "string"
+ },
+ "command": {
+ "description": "Container start command.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "args": {
+ "description": "Container start command arguments.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "env": {
+ "description": "Container environment variables.",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/EnvironmentVar"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "resources": {
+ "$ref": "./CommonDefinitions.json#/definitions/ContainerResources",
+ "description": "Container resource requirements."
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/LogicAppsExtension.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/LogicAppsExtension.json
new file mode 100644
index 000000000000..52554b4b6f37
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/LogicAppsExtension.json
@@ -0,0 +1,750 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client",
+ "description": "Logic app is an extension resource on container app and the extension resource enables logic specific operations on the container app through the APIs listed."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}": {
+ "get": {
+ "tags": [
+ "LogicApps"
+ ],
+ "summary": "Gets a logic app extension resource.",
+ "operationId": "LogicApps_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "logicAppName",
+ "in": "path",
+ "description": "Name of the Logic App, the extension resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicApp"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get logic app extension by name ": {
+ "$ref": "./examples/LogicApps_Get.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "LogicApps_CreateOrUpdate",
+ "tags": [
+ "LogicApps"
+ ],
+ "description": "Create or update a Logic App extension resource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "logicAppName",
+ "in": "path",
+ "description": "Name of the Logic App, the extension resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Logic app resource properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LogicApp"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicApp"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/LogicApp"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create logic app extension": {
+ "$ref": "./examples/LogicApps_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "LogicApps_Delete",
+ "tags": [
+ "LogicApps"
+ ],
+ "description": "Deletes a Logic App extension resource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "logicAppName",
+ "in": "path",
+ "description": "Name of the Logic App, the extension resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed"
+ },
+ "204": {
+ "description": "Extension resource does not exist"
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create logic app extension": {
+ "$ref": "./examples/LogicApps_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/workflows": {
+ "get": {
+ "tags": [
+ "LogicApps"
+ ],
+ "summary": "List the workflows for a logic app.",
+ "operationId": "LogicApps_ListWorkflows",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "logicAppName",
+ "in": "path",
+ "description": "Name of the Logic App, the extension resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Workflow information returned.",
+ "schema": {
+ "$ref": "#/definitions/WorkflowEnvelopeCollection"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List the workflows": {
+ "$ref": "./examples/LogicApps_ListWorkflows.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/workflows/{workflowName}": {
+ "get": {
+ "tags": [
+ "LogicApps"
+ ],
+ "summary": "Get workflow information by its name",
+ "operationId": "LogicApps_GetWorkflow",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "logicAppName",
+ "in": "path",
+ "description": "Name of the Logic App, the extension resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "workflowName",
+ "in": "path",
+ "description": "Workflow name.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Workflow information returned.",
+ "schema": {
+ "$ref": "#/definitions/WorkflowEnvelope"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GET a workflow": {
+ "$ref": "./examples/LogicApps_GetWorkflow.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/deployWorkflowArtifacts": {
+ "post": {
+ "tags": [
+ "LogicApps"
+ ],
+ "description": "Creates or updates the artifacts for the logic app",
+ "operationId": "LogicApps_DeployWorkflowArtifacts",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "logicAppName",
+ "in": "path",
+ "description": "Name of the Logic App, the extension resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "workflowArtifacts",
+ "in": "body",
+ "description": "Application settings and files of the workflow.",
+ "required": false,
+ "x-ms-secret": true,
+ "schema": {
+ "$ref": "#/definitions/WorkflowArtifacts"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Artifacts deployed."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Deploys workflow artifacts": {
+ "$ref": "./examples/LogicApps_PostDeployWorkflowArtifacts.json"
+ },
+ "Delete workflow artifacts": {
+ "$ref": "./examples/LogicApps_DeleteDeployWorkflowArtifacts.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/listWorkflowsConnections": {
+ "post": {
+ "tags": [
+ "LogicApps"
+ ],
+ "summary": "Gets logic app's connections.",
+ "operationId": "LogicApps_ListWorkflowsConnections",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "logicAppName",
+ "in": "path",
+ "description": "Name of the Logic App, the extension resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connections information returned.",
+ "schema": {
+ "$ref": "#/definitions/WorkflowEnvelope"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List the Workflows Configuration Connections": {
+ "$ref": "./examples/LogicApps_ListConnections.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/invoke": {
+ "post": {
+ "tags": [
+ "LogicApps"
+ ],
+ "summary": "Proxies a the API call to the logic app backed by the container app.",
+ "operationId": "LogicApps_Invoke",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "logicAppName",
+ "in": "path",
+ "description": "Name of the LogicApp App, the extension resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "x-ms-logicApps-proxy-path",
+ "in": "header",
+ "description": "The proxy path for the API call",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "x-ms-logicApps-proxy-method",
+ "in": "header",
+ "description": "The proxy method for the API call",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST"
+ ],
+ "x-ms-enum": {
+ "name": "LogicAppsProxyMethod",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Logic App call response.",
+ "schema": {
+ "$ref": "#/definitions/Object"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get workflow list call back URL": {
+ "$ref": "./examples/LogicApps_ListCallbackURL.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LogicApp": {
+ "type": "object",
+ "description": "A logic app extension resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LogicAppProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "LogicAppProperties": {
+ "type": "object",
+ "description": "The properties of logic apps extension."
+ },
+ "WorkflowEnvelope": {
+ "description": "Workflow properties definition.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource id."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the resource name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the resource type."
+ },
+ "kind": {
+ "type": "string",
+ "description": "The resource kind."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "properties": {
+ "description": "Additional workflow properties.",
+ "type": "object",
+ "properties": {
+ "files": {
+ "description": "Gets or sets the files.",
+ "$ref": "#/definitions/WorkflowFiles"
+ },
+ "flowState": {
+ "description": "Gets or sets the state of the workflow.",
+ "$ref": "#/definitions/WorkflowState"
+ },
+ "health": {
+ "$ref": "#/definitions/WorkflowHealth",
+ "description": "Gets or sets workflow health."
+ }
+ }
+ }
+ }
+ },
+ "WorkflowEnvelopeCollection": {
+ "description": "Collection of workflow information elements.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkflowEnvelope"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "WorkflowFiles": {
+ "description": "Gets or sets the files.",
+ "type": "object"
+ },
+ "WorkflowHealth": {
+ "description": "Represents the workflow health.",
+ "required": [
+ "state"
+ ],
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Gets or sets the workflow health state.",
+ "enum": [
+ "NotSpecified",
+ "Healthy",
+ "Unhealthy",
+ "Unknown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkflowHealthState",
+ "modelAsString": false
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/ErrorEntity",
+ "description": "Gets or sets the workflow error."
+ }
+ }
+ },
+ "WorkflowState": {
+ "type": "string",
+ "description": "The workflow state.",
+ "enum": [
+ "NotSpecified",
+ "Completed",
+ "Enabled",
+ "Disabled",
+ "Deleted",
+ "Suspended"
+ ],
+ "x-ms-enum": {
+ "name": "WorkflowState",
+ "modelAsString": true
+ }
+ },
+ "WorkflowArtifacts": {
+ "type": "object",
+ "properties": {
+ "appSettings": {
+ "$ref": "#/definitions/Object",
+ "description": "Application settings of the workflow."
+ },
+ "files": {
+ "$ref": "#/definitions/WorkflowFiles",
+ "description": "Files of the app."
+ },
+ "filesToDelete": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Files of the app to delete."
+ }
+ },
+ "description": "The workflow filter."
+ },
+ "Object": {
+ "type": "object",
+ "properties": {}
+ },
+ "ErrorEntity": {
+ "description": "Body of the error response returned from the API.",
+ "type": "object",
+ "properties": {
+ "extendedCode": {
+ "description": "Type of error.",
+ "type": "string"
+ },
+ "messageTemplate": {
+ "description": "Message template.",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "Parameters for the template.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "innerErrors": {
+ "description": "Inner errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorEntity"
+ },
+ "x-ms-identifiers": []
+ },
+ "details": {
+ "description": "Error Details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorEntity"
+ },
+ "x-ms-identifiers": []
+ },
+ "target": {
+ "description": "The error target.",
+ "type": "string"
+ },
+ "code": {
+ "description": "Basic error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Any details of the error.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironments.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironments.json
new file mode 100644
index 000000000000..1c05d96c4b9c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironments.json
@@ -0,0 +1,1940 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/managedEnvironments": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments"
+ ],
+ "summary": "Get all Environments for a subscription.",
+ "description": "Get all Managed Environments for a subscription.",
+ "operationId": "ManagedEnvironments_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironmentsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List environments by subscription": {
+ "$ref": "./examples/ManagedEnvironments_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments"
+ ],
+ "summary": "Get all the Environments in a resource group.",
+ "description": "Get all the Managed Environments in a resource group.",
+ "operationId": "ManagedEnvironments_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironmentsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List environments by resource group": {
+ "$ref": "./examples/ManagedEnvironments_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments"
+ ],
+ "summary": "Get the properties of a Managed Environment.",
+ "description": "Get the properties of a Managed Environment used to host container apps.",
+ "operationId": "ManagedEnvironments_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironment"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get environments by name": {
+ "$ref": "./examples/ManagedEnvironments_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedEnvironments"
+ ],
+ "summary": "Creates or updates a Managed Environment.",
+ "description": "Creates or updates a Managed Environment used to host container apps.",
+ "operationId": "ManagedEnvironments_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "environmentEnvelope",
+ "in": "body",
+ "description": "Configuration details of the Environment.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironment"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironment"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironment"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create environments": {
+ "$ref": "./examples/ManagedEnvironments_CreateOrUpdate.json"
+ },
+ "Create environment with custom infrastructureResourceGroup": {
+ "$ref": "./examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedEnvironments"
+ ],
+ "summary": "Delete a Managed Environment.",
+ "description": "Delete a Managed Environment if it does not have any container apps.",
+ "operationId": "ManagedEnvironments_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed"
+ },
+ "202": {
+ "description": "Delete operation is in progress"
+ },
+ "204": {
+ "description": "Environment does not exist"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete environment by name": {
+ "$ref": "./examples/ManagedEnvironments_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ManagedEnvironments"
+ ],
+ "summary": "Update Managed Environment's properties.",
+ "description": "Patches a Managed Environment using JSON Merge Patch",
+ "operationId": "ManagedEnvironments_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "environmentEnvelope",
+ "in": "body",
+ "description": "Configuration details of the Environment.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironment"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironment"
+ }
+ },
+ "202": {
+ "description": "Patch operation is in progress."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Managed Environment": {
+ "$ref": "./examples/ManagedEnvironments_Patch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/certificates": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Get the Certificates in a given managed environment.",
+ "operationId": "Certificates_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/CertificateCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Certificates by Managed Environment": {
+ "$ref": "./examples/Certificates_ListByManagedEnvironment.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Get the specified Certificate.",
+ "operationId": "Certificates_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "Name of the Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/Certificate"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Certificate": {
+ "$ref": "./examples/Certificate_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Create or Update a Certificate.",
+ "operationId": "Certificates_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "Name of the Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateEnvelope",
+ "in": "body",
+ "description": "Certificate to be created or updated",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/Certificate"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/Certificate"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Certificate": {
+ "$ref": "./examples/Certificate_CreateOrUpdate.json"
+ },
+ "Create or Update Certificate using Managed Identity": {
+ "$ref": "./examples/Certificate_CreateOrUpdate_FromKeyVault.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Deletes the specified Certificate.",
+ "operationId": "Certificates_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "Name of the Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed"
+ },
+ "204": {
+ "description": "Certificate does not exist"
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Certificate": {
+ "$ref": "./examples/Certificate_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Update properties of a certificate",
+ "description": "Patches a certificate. Currently only patching of tags is supported",
+ "operationId": "Certificates_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "Name of the Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateEnvelope",
+ "in": "body",
+ "required": true,
+ "description": "Properties of a certificate that need to be updated",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/CertificatePatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Certificate updated successfully.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/Certificate"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Certificate": {
+ "$ref": "./examples/Certificates_Patch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/managedCertificates/{managedCertificateName}": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "ManagedCertificates"
+ ],
+ "summary": "Get the specified Managed Certificate.",
+ "operationId": "ManagedCertificates_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedCertificateName",
+ "in": "path",
+ "description": "Name of the Managed Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Certificate": {
+ "$ref": "./examples/ManagedCertificate_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedEnvironments",
+ "ManagedCertificates"
+ ],
+ "summary": "Create or Update a Managed Certificate.",
+ "operationId": "ManagedCertificates_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedCertificateName",
+ "in": "path",
+ "description": "Name of the Managed Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedCertificateEnvelope",
+ "in": "body",
+ "description": "Managed Certificate to be created or updated",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create or Update Certificate": {
+ "$ref": "./examples/ManagedCertificate_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedEnvironments",
+ "ManagedCertificates"
+ ],
+ "summary": "Deletes the specified Managed Certificate.",
+ "operationId": "ManagedCertificates_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedCertificateName",
+ "in": "path",
+ "description": "Name of the Managed Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed"
+ },
+ "204": {
+ "description": "Certificate does not exist"
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Certificate": {
+ "$ref": "./examples/ManagedCertificate_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedEnvironments",
+ "ManagedCertificates"
+ ],
+ "summary": "Update tags of a managed certificate",
+ "description": "Patches a managed certificate. Oly patching of tags is supported",
+ "operationId": "ManagedCertificates_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedCertificateName",
+ "in": "path",
+ "description": "Name of the Managed Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedCertificateEnvelope",
+ "in": "body",
+ "required": true,
+ "description": "Properties of a managed certificate that need to be updated",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificatePatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Managed Certificate updated successfully.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Managed Certificate": {
+ "$ref": "./examples/ManagedCertificates_Patch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/managedCertificates": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "ManagedCertificates"
+ ],
+ "summary": "Get the Managed Certificates in a given managed environment.",
+ "operationId": "ManagedCertificates_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificateCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Managed Certificates by Managed Environment": {
+ "$ref": "./examples/ManagedCertificates_ListByManagedEnvironment.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "ManagedEnvironments"
+ ],
+ "summary": "Checks the resource name availability.",
+ "description": "Checks if resource name is available.",
+ "operationId": "Namespaces_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "checkNameAvailabilityRequest",
+ "in": "body",
+ "description": "The check name availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityRequest"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ContainerApps_CheckNameAvailability": {
+ "$ref": "./examples/ContainerApps_CheckNameAvailability.json"
+ },
+ "Certificates_CheckNameAvailability": {
+ "$ref": "./examples/Certificates_CheckNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/getAuthtoken": {
+ "post": {
+ "tags": [
+ "ManagedEnvironments"
+ ],
+ "summary": "Get auth token for a managed environment",
+ "description": "Checks if resource name is available.",
+ "operationId": "ManagedEnvironments_GetAuthToken",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentAuthToken"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Environment Auth Token": {
+ "$ref": "./examples/ManagedEnvironments_GetAuthToken.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/workloadProfileStates": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments"
+ ],
+ "summary": "Get all workload Profile States for a Managed Environment..",
+ "description": "Get all workload Profile States for a Managed Environment.",
+ "operationId": "ManagedEnvironments_ListWorkloadProfileStates",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/workloadProfileStatesCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List environments by subscription": {
+ "$ref": "./examples/ManagedEnvironments_ListWorkloadProfileStates.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "PrivateEndpointConnections"
+ ],
+ "summary": "List private endpoint connections for a given managed environment.",
+ "operationId": "ManagedEnvironmentPrivateEndpointConnections_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Endpoint Connections by Managed Environment": {
+ "$ref": "./examples/ManagedEnvironmentPrivateEndpointConnections_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Get a private endpoint connection for a given managed environment.",
+ "operationId": "ManagedEnvironmentPrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Private Endpoint Connection by Managed Environment": {
+ "$ref": "./examples/ManagedEnvironmentPrivateEndpointConnections_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedEnvironments",
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Update the state of a private endpoint connection for a given managed environment.",
+ "operationId": "ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionEnvelope",
+ "in": "body",
+ "description": "The resource of private endpoint and its properties",
+ "required": true,
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a Private Endpoint Connection by Managed Environment": {
+ "$ref": "./examples/ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ManagedEnvironments",
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Delete a private endpoint connection for a given managed environment.",
+ "operationId": "ManagedEnvironmentPrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No content. Already deleted."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a Private Endpoint Connection by Managed Environment": {
+ "$ref": "./examples/ManagedEnvironmentPrivateEndpointConnections_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "PrivateLinkResources"
+ ],
+ "summary": "List private link resources for a given managed environment.",
+ "operationId": "ManagedEnvironmentPrivateLinkResources_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Link Resources by Managed Environment": {
+ "$ref": "./examples/ManagedEnvironmentPrivateLinkResources_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AppLogsConfiguration": {
+ "description": "Configuration of application logs",
+ "type": "object",
+ "properties": {
+ "destination": {
+ "description": "Logs destination, can be 'log-analytics', 'azure-monitor' or 'none'",
+ "type": "string"
+ },
+ "logAnalyticsConfiguration": {
+ "description": "Log Analytics configuration, must only be provided when destination is configured as 'log-analytics'",
+ "$ref": "#/definitions/LogAnalyticsConfiguration"
+ }
+ }
+ },
+ "AppInsightsConfiguration": {
+ "description": "Configuration of Application Insights ",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "Application Insights connection string",
+ "type": "string",
+ "x-ms-secret": true
+ }
+ }
+ },
+ "OpenTelemetryConfiguration": {
+ "description": "Configuration of Open Telemetry",
+ "type": "object",
+ "properties": {
+ "destinationsConfiguration": {
+ "description": "Open telemetry destinations configuration",
+ "$ref": "#/definitions/DestinationsConfiguration"
+ },
+ "tracesConfiguration": {
+ "description": "Open telemetry trace configuration",
+ "$ref": "#/definitions/TracesConfiguration"
+ },
+ "logsConfiguration": {
+ "description": "Open telemetry logs configuration",
+ "$ref": "#/definitions/LogsConfiguration"
+ },
+ "metricsConfiguration": {
+ "description": "Open telemetry metrics configuration",
+ "$ref": "#/definitions/MetricsConfiguration"
+ }
+ }
+ },
+ "DestinationsConfiguration": {
+ "description": "Configuration of Open Telemetry destinations",
+ "type": "object",
+ "properties": {
+ "dataDogConfiguration": {
+ "description": "Open telemetry datadog destination configuration",
+ "$ref": "#/definitions/DataDogConfiguration"
+ },
+ "otlpConfigurations": {
+ "description": "Open telemetry otlp configurations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OtlpConfiguration"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "DataDogConfiguration": {
+ "description": "Configuration of datadog ",
+ "type": "object",
+ "properties": {
+ "site": {
+ "description": "The data dog site",
+ "type": "string"
+ },
+ "key": {
+ "description": "The data dog api key",
+ "type": "string",
+ "x-ms-secret": true
+ }
+ }
+ },
+ "OtlpConfiguration": {
+ "description": "Configuration of otlp ",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of otlp configuration",
+ "type": "string"
+ },
+ "endpoint": {
+ "description": "The endpoint of otlp configuration",
+ "type": "string"
+ },
+ "insecure": {
+ "description": "Boolean indicating if otlp configuration is insecure",
+ "type": "boolean"
+ },
+ "headers": {
+ "description": "Headers of otlp configurations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Header"
+ },
+ "x-ms-identifiers": [
+ "key"
+ ]
+ }
+ }
+ },
+ "Header": {
+ "description": "Header of otlp configuration",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key of otlp configuration header",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of otlp configuration header",
+ "type": "string"
+ }
+ }
+ },
+ "TracesConfiguration": {
+ "description": "Configuration of Open Telemetry traces",
+ "type": "object",
+ "properties": {
+ "includeDapr": {
+ "type": "boolean",
+ "description": "Boolean indicating if including dapr traces"
+ },
+ "destinations": {
+ "description": "Open telemetry traces destinations",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "LogsConfiguration": {
+ "description": "Configuration of Open Telemetry logs",
+ "type": "object",
+ "properties": {
+ "destinations": {
+ "description": "Open telemetry logs destinations",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "MetricsConfiguration": {
+ "description": "Configuration of Open Telemetry metrics",
+ "type": "object",
+ "properties": {
+ "includeKeda": {
+ "type": "boolean",
+ "description": "Boolean indicating if including keda metrics"
+ },
+ "destinations": {
+ "description": "Open telemetry metrics destinations",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "KedaConfiguration": {
+ "type": "object",
+ "description": "Configuration properties Keda component",
+ "properties": {
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The version of Keda"
+ }
+ }
+ },
+ "DaprConfiguration": {
+ "type": "object",
+ "description": "Configuration properties Dapr component",
+ "properties": {
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The version of Dapr"
+ }
+ }
+ },
+ "VnetConfiguration": {
+ "type": "object",
+ "description": "Configuration properties for apps environment to join a Virtual Network",
+ "properties": {
+ "internal": {
+ "type": "boolean",
+ "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",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "infrastructureSubnetId": {
+ "type": "string",
+ "description": "Resource ID of a subnet for infrastructure components. Must not overlap with any other provided IP ranges.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "description": "CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other provided IP ranges.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "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.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "platformReservedDnsIP": {
+ "type": "string",
+ "description": " An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ }
+ }
+ },
+ "Mtls": {
+ "type": "object",
+ "description": "Configuration properties for mutual TLS authentication",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Boolean indicating whether the mutual TLS authentication is enabled"
+ }
+ }
+ },
+ "ManagedEnvironment": {
+ "description": "An environment for hosting container apps",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Kind of the Environment."
+ },
+ "identity": {
+ "description": "Managed identities for the Managed Environment to interact with other Azure services without maintaining any secrets or credentials in code.",
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity"
+ },
+ "properties": {
+ "description": "Managed environment resource specific properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Environment.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Waiting",
+ "InitializationInProgress",
+ "InfrastructureSetupInProgress",
+ "InfrastructureSetupComplete",
+ "ScheduledForDelete",
+ "UpgradeRequested",
+ "UpgradeFailed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EnvironmentProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "daprAIInstrumentationKey": {
+ "type": "string",
+ "description": "Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry",
+ "x-ms-secret": true
+ },
+ "daprAIConnectionString": {
+ "type": "string",
+ "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry",
+ "x-ms-secret": true
+ },
+ "vnetConfiguration": {
+ "description": "Vnet configuration for the environment",
+ "$ref": "#/definitions/VnetConfiguration"
+ },
+ "deploymentErrors": {
+ "description": "Any errors that occurred during deployment or deployment validation",
+ "type": "string",
+ "readOnly": true
+ },
+ "defaultDomain": {
+ "description": "Default Domain Name for the cluster",
+ "type": "string",
+ "readOnly": true
+ },
+ "privateLinkDefaultDomain": {
+ "description": "Private Link Default Domain Name for the environment",
+ "type": "string",
+ "readOnly": true
+ },
+ "staticIp": {
+ "description": "Static IP of the Environment",
+ "type": "string",
+ "readOnly": true
+ },
+ "appLogsConfiguration": {
+ "$ref": "#/definitions/AppLogsConfiguration",
+ "description": "Cluster configuration which enables the log daemon to export app logs to configured destination"
+ },
+ "appInsightsConfiguration": {
+ "$ref": "#/definitions/AppInsightsConfiguration",
+ "description": "Environment level Application Insights configuration"
+ },
+ "openTelemetryConfiguration": {
+ "$ref": "#/definitions/OpenTelemetryConfiguration",
+ "description": "Environment Open Telemetry configuration"
+ },
+ "zoneRedundant": {
+ "description": "Whether or not this Managed Environment is zone-redundant.",
+ "type": "boolean",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of availability zones to use for managed environment"
+ },
+ "customDomainConfiguration": {
+ "$ref": "./CommonDefinitions.json#/definitions/CustomDomainConfiguration",
+ "description": "Custom domain configuration for the environment"
+ },
+ "eventStreamEndpoint": {
+ "description": "The endpoint of the eventstream of the Environment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "workloadProfiles": {
+ "description": "Workload profiles configured for the Managed Environment.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadProfile"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "kedaConfiguration": {
+ "$ref": "#/definitions/KedaConfiguration",
+ "description": "The configuration of Keda component."
+ },
+ "daprConfiguration": {
+ "$ref": "#/definitions/DaprConfiguration",
+ "description": "The configuration of Dapr component."
+ },
+ "infrastructureResourceGroup": {
+ "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.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "peerAuthentication": {
+ "description": "Peer authentication settings for the Managed Environment",
+ "type": "object",
+ "properties": {
+ "mtls": {
+ "description": "Mutual TLS authentication settings for the Managed Environment",
+ "$ref": "#/definitions/Mtls"
+ }
+ }
+ },
+ "peerTrafficConfiguration": {
+ "description": "Peer traffic settings for the Managed Environment",
+ "type": "object",
+ "properties": {
+ "encryption": {
+ "description": "Peer traffic encryption settings for the Managed Environment",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Boolean indicating whether the peer traffic encryption is enabled"
+ }
+ }
+ }
+ }
+ },
+ "privateEndpointConnections": {
+ "description": "Private endpoint connections to the resource.",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "description": "Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled'.",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ManagedEnvironmentsCollection": {
+ "description": "Collection of Environments",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedEnvironment"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LogAnalyticsConfiguration": {
+ "description": "Log Analytics configuration, must only be provided when destination is configured as 'log-analytics'",
+ "type": "object",
+ "properties": {
+ "customerId": {
+ "description": "Log analytics customer id",
+ "type": "string"
+ },
+ "sharedKey": {
+ "description": "Log analytics customer key",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ },
+ "dynamicJsonColumns": {
+ "description": "Boolean indicating whether to parse json string log into dynamic json columns",
+ "type": "boolean"
+ }
+ }
+ },
+ "EnvironmentAuthToken": {
+ "description": "Environment Auth Token.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Environment auth token resource specific properties",
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "Auth token value.",
+ "type": "string",
+ "x-ms-secret": true,
+ "readOnly": true
+ },
+ "expires": {
+ "format": "date-time",
+ "description": "Token expiration date.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WorkloadProfile": {
+ "description": "Workload profile to scope container app execution.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileName",
+ "description": "Workload profile type for the workloads to run on."
+ },
+ "enableFips": {
+ "type": "boolean",
+ "default": false,
+ "description": "Whether to use a FIPS-enabled OS. Supported only for dedicated workload profiles."
+ },
+ "workloadProfileType": {
+ "$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileType",
+ "description": "Workload profile type for the workloads to run on."
+ },
+ "minimumCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The minimum capacity."
+ },
+ "maximumCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum capacity."
+ }
+ },
+ "required": [
+ "name",
+ "workloadProfileType"
+ ]
+ },
+ "workloadProfileStates": {
+ "description": "Collection of all the workload Profile States for a Managed Environment..",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Workload Profile resource specific properties.",
+ "type": "object",
+ "properties": {
+ "minimumCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum count of instances."
+ },
+ "maximumCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum count of nodes."
+ },
+ "currentCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Current count of nodes."
+ }
+ }
+ }
+ }
+ },
+ "workloadProfileStatesCollection": {
+ "description": "Collection of workloadProfileStates",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/workloadProfileStates"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json
new file mode 100644
index 000000000000..3e509eeee885
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json
@@ -0,0 +1,302 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{componentName}/resiliencyPolicies": {
+ "get": {
+ "tags": [
+ "DaprComponentResiliencyPolicies"
+ ],
+ "summary": "Get the resiliency policies for a Dapr component.",
+ "operationId": "DaprComponentResiliencyPolicies_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPoliciesCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Dapr component resiliency policies": {
+ "$ref": "./examples/DaprComponentResiliencyPolicies_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{componentName}/resiliencyPolicies/{name}": {
+ "get": {
+ "tags": [
+ "DaprComponentResiliencyPolicies"
+ ],
+ "summary": "Get a Dapr component resiliency policy.",
+ "operationId": "DaprComponentResiliencyPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Dapr Component Resiliency Policy.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPolicy"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Dapr component resiliency policy": {
+ "$ref": "./examples/DaprComponentResiliencyPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DaprComponentResiliencyPolicies"
+ ],
+ "summary": "Creates or updates a Dapr component resiliency policy.",
+ "description": "Creates or updates a resiliency policy for a Dapr component.",
+ "operationId": "DaprComponentResiliencyPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Dapr Component Resiliency Policy.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "daprComponentResiliencyPolicyEnvelope",
+ "in": "body",
+ "description": "Configuration details of the Dapr Component Resiliency Policy.",
+ "required": true,
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPolicy"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPolicy"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPolicy"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Create or update dapr component resiliency policy with all options": {
+ "$ref": "./examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json"
+ },
+ "Create or update dapr component resiliency policy with outbound policy only": {
+ "$ref": "./examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json"
+ },
+ "Create or update dapr component resiliency policy with sparse options": {
+ "$ref": "./examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DaprComponentResiliencyPolicies"
+ ],
+ "summary": "Delete a Dapr component resiliency policy.",
+ "description": "Delete a resiliency policy for a Dapr component.",
+ "operationId": "DaprComponentResiliencyPolicies_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Dapr Component Resiliency Policy.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed"
+ },
+ "204": {
+ "description": "Dapr component does not exist"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete dapr component resiliency policy": {
+ "$ref": "./examples/DaprComponentResiliencyPolicies_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprComponents.json
new file mode 100644
index 000000000000..da0eb853ceae
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprComponents.json
@@ -0,0 +1,313 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents": {
+ "get": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "Get the Dapr Components for a managed environment.",
+ "operationId": "DaprComponents_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponentsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Dapr Components": {
+ "$ref": "./examples/DaprComponents_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{componentName}": {
+ "get": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "Get a dapr component.",
+ "operationId": "DaprComponents_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponent"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Dapr Component with secrets": {
+ "$ref": "./examples/DaprComponents_Get_Secrets.json"
+ },
+ "Get Dapr Component with secret store component": {
+ "$ref": "./examples/DaprComponents_Get_SecretStoreComponent.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "Creates or updates a Dapr Component.",
+ "description": "Creates or updates a Dapr Component in a Managed Environment.",
+ "operationId": "DaprComponents_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "daprComponentEnvelope",
+ "in": "body",
+ "description": "Configuration details of the Dapr Component.",
+ "required": true,
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponent"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprComponent"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Create or update dapr component with secrets": {
+ "$ref": "./examples/DaprComponents_CreateOrUpdate_Secrets.json"
+ },
+ "Create or update dapr component with secret store component": {
+ "$ref": "./examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "Delete a Dapr Component.",
+ "description": "Delete a Dapr Component from a Managed Environment.",
+ "operationId": "DaprComponents_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed"
+ },
+ "204": {
+ "description": "Environment does not exist"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete dapr component": {
+ "$ref": "./examples/DaprComponents_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{componentName}/listSecrets": {
+ "post": {
+ "tags": [
+ "DaprComponents"
+ ],
+ "summary": "List secrets for a dapr component",
+ "operationId": "DaprComponents_ListSecrets",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "componentName",
+ "in": "path",
+ "description": "Name of the Dapr Component.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprSecretsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Container Apps Secrets": {
+ "$ref": "./examples/DaprComponents_ListSecrets.json"
+ }
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprSubscriptions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprSubscriptions.json
new file mode 100644
index 000000000000..49157ac9644a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprSubscriptions.json
@@ -0,0 +1,276 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprSubscriptions": {
+ "get": {
+ "tags": [
+ "DaprSubscriptions"
+ ],
+ "summary": "Get the Dapr subscriptions for a managed environment.",
+ "operationId": "DaprSubscriptions_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprSubscriptionsCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Dapr subscriptions": {
+ "$ref": "./examples/DaprSubscriptions_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprSubscriptions/{name}": {
+ "get": {
+ "tags": [
+ "DaprSubscriptions"
+ ],
+ "summary": "Get a dapr subscription.",
+ "operationId": "DaprSubscriptions_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Dapr subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprSubscription"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Dapr subscription with default route only": {
+ "$ref": "./examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json"
+ },
+ "Get Dapr subscription with bulk subscribe configuration and scopes": {
+ "$ref": "./examples/DaprSubscriptions_Get_DefaultRoute.json"
+ },
+ "GetDapr subscription with route rules and metadata": {
+ "$ref": "./examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DaprSubscriptions"
+ ],
+ "summary": "Creates or updates a Dapr subscription.",
+ "description": "Creates or updates a Dapr subscription in a Managed Environment.",
+ "operationId": "DaprSubscriptions_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Dapr subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "daprSubscriptionEnvelope",
+ "in": "body",
+ "description": "Configuration details of the Dapr subscription.",
+ "required": true,
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprSubscription"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprSubscription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DaprSubscription"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Create or update dapr subscription with default route only": {
+ "$ref": "./examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json"
+ },
+ "Create or update dapr subscription with bulk subscribe configuration and scopes": {
+ "$ref": "./examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json"
+ },
+ "Create or update dapr subscription with route rules and metadata": {
+ "$ref": "./examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DaprSubscriptions"
+ ],
+ "summary": "Delete a Dapr subscription.",
+ "description": "Delete a Dapr subscription from a Managed Environment.",
+ "operationId": "DaprSubscriptions_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Dapr subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed"
+ },
+ "204": {
+ "description": "Environment does not exist"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete dapr subscription": {
+ "$ref": "./examples/DaprSubscriptions_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsHttpRouteConfig.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsHttpRouteConfig.json
new file mode 100644
index 000000000000..fe1601b5d044
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsHttpRouteConfig.json
@@ -0,0 +1,525 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/httpRouteConfigs/{httpRouteName}": {
+ "get": {
+ "tags": [
+ "HttpRouteConfig"
+ ],
+ "summary": "Get the specified Managed Http Route Config.",
+ "operationId": "HttpRouteConfig_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./CommonDefinitions.json#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HttpRouteConfigNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HttpRouteConfig"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get HttpRoute": {
+ "$ref": "./examples/HttpRouteConfig_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "HttpRouteConfig"
+ ],
+ "summary": "Create or Update a Http Route Config.",
+ "operationId": "HttpRouteConfig_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./CommonDefinitions.json#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HttpRouteConfigNameParameter"
+ },
+ {
+ "name": "httpRouteConfigEnvelope",
+ "in": "body",
+ "description": "Http Route config to be created or updated",
+ "schema": {
+ "$ref": "#/definitions/HttpRouteConfig"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HttpRouteConfig"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/HttpRouteConfig"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Create or Update Http Route": {
+ "$ref": "./examples/HttpRouteConfig_CreateOrUpdate.json"
+ },
+ "Create or Update Http Route Prefix Rule": {
+ "$ref": "./examples/HttpRouteConfig_CreateOrUpdatePrefix.json"
+ },
+ "Create or Update Http Route Path Separated Prefix Rule": {
+ "$ref": "./examples/HttpRouteConfig_CreateOrUpdate_PathSepPrefix.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "HttpRouteConfig"
+ ],
+ "summary": "Update tags of a manged http route object",
+ "description": "Patches an http route config resource. Only patching of tags is supported",
+ "operationId": "HttpRouteConfig_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "httpRouteName",
+ "in": "path",
+ "description": "Name of the Http Route Config Resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "httpRouteConfigEnvelope",
+ "in": "body",
+ "required": true,
+ "description": "Properties of http route config that need to be updated",
+ "schema": {
+ "$ref": "#/definitions/HttpRouteConfig"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Managed Http Routes updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/HttpRouteConfig"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Managed Http Route": {
+ "$ref": "./examples/HttpRouteConfig_Patch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "HttpRouteConfig"
+ ],
+ "summary": "Deletes the specified Managed Http Route.",
+ "operationId": "HttpRouteConfig_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./CommonDefinitions.json#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HttpRouteConfigNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed"
+ },
+ "204": {
+ "description": "Http Route does not exist"
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Certificate": {
+ "$ref": "./examples/HttpRouteConfig_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/httpRouteConfigs": {
+ "get": {
+ "tags": [
+ "HttpRouteConfig"
+ ],
+ "summary": "Get the Managed Http Routes in a given managed environment.",
+ "operationId": "HttpRouteConfig_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./CommonDefinitions.json#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HttpRouteConfigCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Managed Http Routes by Managed Environment": {
+ "$ref": "./examples/HttpRouteConfig_ListByManagedEnvironment.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "HttpRouteConfig": {
+ "description": "Advanced Ingress routing for path/header based routing for a Container App Environment",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Http Route Config properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of the Http Route Config in cluster",
+ "$ref": "#/definitions/HttpRouteProvisioningState"
+ },
+ "provisioningErrors": {
+ "description": "List of errors when trying to reconcile http routes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpRouteProvisioningErrors"
+ },
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "FQDN of the route resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "customDomains": {
+ "description": "Custom domain bindings for http Routes' hostnames.",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/CustomDomain"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "rules": {
+ "description": "Routing Rules for http route resource.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpRouteRule"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "x-ms-client-flatten": true
+ },
+ "HttpRouteProvisioningErrors": {
+ "description": "List of provisioning errors for a http route config object",
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "description": "Timestamp error occured at",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description or error message",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "HttpRouteTarget": {
+ "description": "Targets - Container App Names, Revision Names, Labels.",
+ "type": "object",
+ "required": [
+ "containerApp"
+ ],
+ "properties": {
+ "containerApp": {
+ "description": "Container App Name to route requests to",
+ "type": "string"
+ },
+ "revision": {
+ "description": "Revision to route requests to",
+ "type": "string"
+ },
+ "label": {
+ "description": "Label/Revision to route requests to",
+ "type": "string"
+ },
+ "weight": {
+ "description": "Weighted routing",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100
+ }
+ }
+ },
+ "HttpRouteMatch": {
+ "description": "Criteria to match on",
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "match on all prefix's. Not exact",
+ "type": "string"
+ },
+ "path": {
+ "description": "match on exact path",
+ "type": "string"
+ },
+ "pathSeparatedPrefix": {
+ "description": "match on all prefix's. Not exact",
+ "type": "string"
+ },
+ "caseSensitive": {
+ "description": "path case sensitive, default is true",
+ "type": "boolean"
+ }
+ }
+ },
+ "HttpRouteAction": {
+ "description": "Action to perform once matching of routes is done",
+ "type": "object",
+ "properties": {
+ "prefixRewrite": {
+ "description": "Rewrite prefix, default is no rewrites",
+ "type": "string"
+ }
+ }
+ },
+ "HttpRoute": {
+ "description": "Http Routes configuration, including paths to match on and whether or not rewrites are to be done.",
+ "type": "object",
+ "properties": {
+ "match": {
+ "description": "Conditions route will match on",
+ "$ref": "#/definitions/HttpRouteMatch"
+ },
+ "action": {
+ "description": "Once route is matched, what is the desired action",
+ "$ref": "#/definitions/HttpRouteAction"
+ }
+ }
+ },
+ "HttpRouteRule": {
+ "description": "Http Route rule.",
+ "type": "object",
+ "properties": {
+ "targets": {
+ "description": "Targets- container apps, revisions, labels",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpRouteTarget"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "routes": {
+ "description": "Routing configuration that will allow matches on specific paths/headers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpRoute"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of rule. Optional."
+ }
+ }
+ },
+ "HttpRouteProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Waiting",
+ "Updating",
+ "Deleting",
+ "Pending"
+ ],
+ "x-ms-enum": {
+ "name": "HttpRouteProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "HttpRouteConfigCollection": {
+ "description": "Collection of Advanced Ingress Routing Config resources.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpRouteConfig"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "HttpRouteConfigNameParameter": {
+ "name": "httpRouteName",
+ "in": "path",
+ "description": "Name of the Http Route Config Resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsMaintenanceConfigurations.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsMaintenanceConfigurations.json
new file mode 100644
index 000000000000..c7b821dc0f28
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsMaintenanceConfigurations.json
@@ -0,0 +1,361 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/maintenanceConfigurations": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_List",
+ "description": "Gets all maintenance configurations in the specified Managed Environment.",
+ "x-ms-examples": {
+ "ManagedEnvironmentMaintenanceConfigurationsList": {
+ "$ref": "./examples/ManagedEnvironment_MaintenanceConfigurations_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "description": "The name of the Managed Environment.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully got the current maintenance configurations",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfigurationCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/maintenanceConfigurations/{configName}": {
+ "put": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "ManagedEnvironmentMaintenanceConfigurationsCreateOrUpdate": {
+ "$ref": "./examples/ManagedEnvironment_MaintenanceConfigurations_CreateOrUpdate.json"
+ }
+ },
+ "description": "Create or update the maintenance configuration for Managed Environment.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "description": "The name of the Managed Environment.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "configName",
+ "description": "The name of the maintenance configuration.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "maintenanceConfigurationEnvelope",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfigurationResource"
+ },
+ "description": "Parameters to set the maintenance configuration for ManagedEnvironment ."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The maintenance configuration was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfigurationResource"
+ }
+ },
+ "201": {
+ "description": "The maintenance configuration was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfigurationResource"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Delete",
+ "x-ms-examples": {
+ "ManagedEnvironmentMaintenanceConfigurationsDelete": {
+ "$ref": "./examples/ManagedEnvironment_MaintenanceConfigurations_Delete.json"
+ }
+ },
+ "description": "Deletes the maintenance configuration of a ManagedEnvironment .",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "description": "The name of the Managed Environment.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "configName",
+ "description": "The name of the maintenance configuration.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Get",
+ "x-ms-examples": {
+ "ManagedEnvironmentMaintenanceConfigurationsGet": {
+ "$ref": "./examples/ManagedEnvironment_MaintenanceConfigurations_Get.json"
+ }
+ },
+ "description": "Gets the maintenance configuration of a ManagedEnvironment .",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "description": "The name of the Managed Environment.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "name": "configName",
+ "description": "The name of the maintenance configuration.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Response of get maintenance configurations.",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfigurationResource"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ScheduledEntry": {
+ "type": "object",
+ "description": "Maintenance schedule entry for a managed environment.",
+ "properties": {
+ "weekDay": {
+ "type": "string",
+ "description": "Day of the week when a managed environment can be patched.",
+ "enum": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday",
+ "Everyday",
+ "Weekend"
+ ],
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": false
+ }
+ },
+ "startHourUtc": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start hour after which managed environment maintenance can start from 0 to 23 hour."
+ },
+ "durationHours": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length of maintenance window range from 8 to 24 hours."
+ }
+ },
+ "required": [
+ "weekDay",
+ "startHourUtc",
+ "durationHours"
+ ]
+ },
+ "ScheduledEntries": {
+ "type": "object",
+ "description": "List of maintenance schedules for a managed environment.",
+ "properties": {
+ "scheduledEntries": {
+ "x-ms-client-name": "ScheduledEntries",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScheduledEntry"
+ },
+ "x-ms-identifiers": [],
+ "description": "List of maintenance schedules for a managed environment."
+ }
+ },
+ "required": [
+ "scheduledEntries"
+ ]
+ },
+ "MaintenanceConfigurationResource": {
+ "type": "object",
+ "description": "Information about the Maintenance Configuration resource.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ScheduledEntries",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ }
+ },
+ "MaintenanceConfigurationCollection": {
+ "type": "object",
+ "description": "The response of list maintenance configuration resources.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfigurationResource"
+ },
+ "description": "Results of the list maintenance configuration resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link for next page of results."
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsStorages.json
new file mode 100644
index 000000000000..b2f56d87c23e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsStorages.json
@@ -0,0 +1,300 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/storages": {
+ "get": {
+ "tags": [
+ "ManagedEnvironmentsStorages"
+ ],
+ "summary": "Get all storages for a managedEnvironment.",
+ "description": "Get all storages for a managedEnvironment.",
+ "operationId": "ManagedEnvironmentsStorages_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironmentStoragesCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List environments storages by subscription": {
+ "$ref": "./examples/ManagedEnvironmentsStorages_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/storages/{storageName}": {
+ "get": {
+ "tags": [
+ "ManagedEnvironmentsStorages"
+ ],
+ "summary": "Get storage for a managedEnvironment.",
+ "description": "Get storage for a managedEnvironment.",
+ "operationId": "ManagedEnvironmentsStorages_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageName",
+ "in": "path",
+ "description": "Name of the storage.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironmentStorage"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "get a environments storage": {
+ "$ref": "./examples/ManagedEnvironmentsStorages_Get.json"
+ },
+ "get a environments storage for NFS Azure file": {
+ "$ref": "./examples/ManagedEnvironmentsStorages_Get_NfsAzureFile.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedEnvironmentsStorages"
+ ],
+ "summary": "Create or update storage for a managedEnvironment.",
+ "description": "Create or update storage for a managedEnvironment.",
+ "operationId": "ManagedEnvironmentsStorages_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageName",
+ "in": "path",
+ "description": "Name of the storage.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageEnvelope",
+ "in": "body",
+ "description": "Configuration details of storage.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironmentStorage"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedEnvironmentStorage"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update environments storage": {
+ "$ref": "./examples/ManagedEnvironmentsStorages_CreateOrUpdate.json"
+ },
+ "Create or update environments storage for NFS Azure file": {
+ "$ref": "./examples/ManagedEnvironmentsStorages_CreateOrUpdate_NfsAzureFile.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedEnvironmentsStorages"
+ ],
+ "summary": "Delete storage for a managedEnvironment.",
+ "description": "Delete storage for a managedEnvironment.",
+ "operationId": "ManagedEnvironmentsStorages_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageName",
+ "in": "path",
+ "description": "Name of the storage.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "Storage does not exist"
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List environments storages by subscription": {
+ "$ref": "./examples/ManagedEnvironmentsStorages_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ManagedEnvironmentStoragesCollection": {
+ "description": "Collection of Storage for Environments",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of storage resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedEnvironmentStorage"
+ }
+ }
+ }
+ },
+ "ManagedEnvironmentStorage": {
+ "description": "Storage resource for managedEnvironment.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Storage properties",
+ "type": "object",
+ "properties": {
+ "azureFile": {
+ "$ref": "./CommonDefinitions.json#/definitions/AzureFileProperties",
+ "description": "Azure file properties"
+ },
+ "nfsAzureFile": {
+ "$ref": "./CommonDefinitions.json#/definitions/NfsAzureFileProperties",
+ "description": "NFS Azure file properties"
+ }
+ }
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/SessionPools.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/SessionPools.json
new file mode 100644
index 000000000000..a38147164519
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/SessionPools.json
@@ -0,0 +1,752 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2024-10-02-preview"
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "parameters": {
+ "SessionPoolNameParameter": {
+ "name": "sessionPoolName",
+ "in": "path",
+ "description": "Name of the session pool.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/sessionPools": {
+ "get": {
+ "tags": [
+ "ContainerAppsSessionPools"
+ ],
+ "summary": "Get the session pools in a given subscription.",
+ "operationId": "ContainerAppsSessionPools_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SessionPoolCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Session Pools by subscription": {
+ "$ref": "./examples/SessionPools_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/sessionPools": {
+ "get": {
+ "tags": [
+ "ContainerAppsSessionPools"
+ ],
+ "summary": "Get the session pools in a given resource group of a subscription.",
+ "operationId": "ContainerAppsSessionPools_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SessionPoolCollection"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Session Pools by resource group": {
+ "$ref": "./examples/SessionPools_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/sessionPools/{sessionPoolName}": {
+ "get": {
+ "tags": [
+ "ContainerAppsSessionPools"
+ ],
+ "summary": "Get the properties of a session pool.",
+ "operationId": "ContainerAppsSessionPools_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/SessionPool"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Session Pool": {
+ "$ref": "./examples/SessionPools_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContainerAppsSessionPools"
+ ],
+ "summary": "Create or update a session pool.",
+ "description": "Create or update a session pool with the given properties.",
+ "operationId": "ContainerAppsSessionPools_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionPoolNameParameter"
+ },
+ {
+ "name": "sessionPoolEnvelope",
+ "in": "body",
+ "description": "Properties used to create a session pool",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SessionPool"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update succeeded",
+ "schema": {
+ "$ref": "#/definitions/SessionPool"
+ }
+ },
+ "201": {
+ "description": "Session pool creation has started.",
+ "schema": {
+ "$ref": "#/definitions/SessionPool"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create or Update Session Pool": {
+ "$ref": "./examples/SessionPools_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ContainerAppsSessionPools"
+ ],
+ "summary": "Update properties of a session pool",
+ "description": "Patches a session pool using JSON merge patch",
+ "operationId": "ContainerAppsSessionPools_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionPoolNameParameter"
+ },
+ {
+ "name": "sessionPoolEnvelope",
+ "in": "body",
+ "description": "Properties used to create a session pool",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SessionPoolUpdatableProperties"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update succeeded",
+ "schema": {
+ "$ref": "#/definitions/SessionPool"
+ }
+ },
+ "202": {
+ "description": "Session pool update has been started.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Update Session Pool": {
+ "$ref": "./examples/SessionPools_Patch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContainerAppsSessionPools"
+ ],
+ "summary": "Delete a session pool.",
+ "description": "Delete the session pool with the given name.",
+ "operationId": "ContainerAppsSessionPools_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Session pool delete has been started.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Session pool does not exist."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Delete Session Pool": {
+ "$ref": "./examples/SessionPools_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ScaleConfiguration": {
+ "description": "Scale configuration.",
+ "type": "object",
+ "properties": {
+ "maxConcurrentSessions": {
+ "description": "The maximum count of sessions at the same time.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "readySessionInstances": {
+ "description": "The minimum count of ready session instances.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "SessionPoolSecret": {
+ "description": "Secret definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Secret Name.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Secret Value.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "DynamicPoolConfiguration": {
+ "description": "Dynamic pool configuration.",
+ "type": "object",
+ "properties": {
+ "executionType": {
+ "description": "The execution type of the session pool.",
+ "enum": [
+ "Timed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExecutionType",
+ "modelAsString": true
+ }
+ },
+ "cooldownPeriodInSeconds": {
+ "description": "The cooldown period of a session in seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "SessionRegistryCredentials": {
+ "description": "Session pool private registry credentials.",
+ "type": "object",
+ "properties": {
+ "server": {
+ "description": "Container registry server.",
+ "type": "string"
+ },
+ "username": {
+ "description": "Container registry username.",
+ "type": "string"
+ },
+ "passwordSecretRef": {
+ "description": "The name of the secret that contains the registry login password",
+ "type": "string"
+ },
+ "identity": {
+ "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'",
+ "type": "string"
+ }
+ }
+ },
+ "SessionContainerResources": {
+ "description": "Container resource requirements for sessions of the session pool.",
+ "type": "object",
+ "properties": {
+ "cpu": {
+ "format": "double",
+ "description": "Required CPU in cores, e.g. 0.5",
+ "type": "number"
+ },
+ "memory": {
+ "description": "Required memory, e.g. \"250Mb\"",
+ "type": "string"
+ }
+ }
+ },
+ "SessionContainer": {
+ "description": "Container definitions for the sessions of the session pool.",
+ "type": "object",
+ "properties": {
+ "image": {
+ "description": "Container image tag.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Custom container name.",
+ "type": "string"
+ },
+ "command": {
+ "description": "Container start command.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "args": {
+ "description": "Container start command arguments.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "env": {
+ "description": "Container environment variables.",
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/EnvironmentVar"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "resources": {
+ "$ref": "#/definitions/SessionContainerResources",
+ "description": "Container resource requirements."
+ }
+ }
+ },
+ "SessionIngress": {
+ "description": "Session pool ingress configuration.",
+ "type": "object",
+ "properties": {
+ "targetPort": {
+ "format": "int32",
+ "description": "Target port in containers for traffic from ingress",
+ "type": "integer"
+ }
+ }
+ },
+ "CustomContainerTemplate": {
+ "description": "Custom container configuration.",
+ "type": "object",
+ "properties": {
+ "registryCredentials": {
+ "description": "Private container registry credentials for containers used by the sessions of the session pool.",
+ "$ref": "#/definitions/SessionRegistryCredentials"
+ },
+ "containers": {
+ "description": "List of container definitions for the sessions of the session pool.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SessionContainer"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "ingress": {
+ "description": "Session pool ingress configuration.",
+ "$ref": "#/definitions/SessionIngress"
+ }
+ }
+ },
+ "SessionNetworkConfiguration": {
+ "description": "Session network configuration.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Network status for the sessions.",
+ "type": "string",
+ "enum": [
+ "EgressEnabled",
+ "EgressDisabled"
+ ],
+ "x-ms-enum": {
+ "name": "SessionNetworkStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SessionPool": {
+ "description": "Container App session pool.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "description": "Managed identities needed by a session pool to interact with other Azure services to not maintain any secrets or credentials in code.",
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity"
+ },
+ "properties": {
+ "description": "Container App session pool resource specific properties",
+ "type": "object",
+ "properties": {
+ "environmentId": {
+ "description": "Resource ID of the session pool's environment.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.App/managedEnvironments"
+ }
+ ]
+ },
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "containerType": {
+ "description": "The container type of the sessions.",
+ "enum": [
+ "CustomContainer",
+ "PythonLTS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": true
+ }
+ },
+ "poolManagementType": {
+ "description": "The pool management type of the session pool.",
+ "enum": [
+ "Manual",
+ "Dynamic"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PoolManagementType",
+ "modelAsString": true
+ }
+ },
+ "nodeCount": {
+ "description": "The number of nodes the session pool is using.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ },
+ "scaleConfiguration": {
+ "description": "The scale configuration of the session pool.",
+ "$ref": "#/definitions/ScaleConfiguration"
+ },
+ "secrets": {
+ "description": "The secrets of the session pool.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SessionPoolSecret"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "dynamicPoolConfiguration": {
+ "description": "The pool configuration if the poolManagementType is dynamic.",
+ "$ref": "#/definitions/DynamicPoolConfiguration"
+ },
+ "customContainerTemplate": {
+ "description": "The custom container configuration if the containerType is CustomContainer.",
+ "$ref": "#/definitions/CustomContainerTemplate"
+ },
+ "sessionNetworkConfiguration": {
+ "description": "The network configuration of the sessions in the session pool.",
+ "$ref": "#/definitions/SessionNetworkConfiguration"
+ },
+ "poolManagementEndpoint": {
+ "description": "The endpoint to manage the pool.",
+ "type": "string",
+ "format": "uri",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the session pool.",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SessionPoolProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "managedIdentitySettings": {
+ "description": "Optional settings for a Managed Identity that is assigned to the Session pool.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedIdentitySetting"
+ },
+ "x-ms-identifiers": [
+ "identity"
+ ]
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ManagedIdentitySetting": {
+ "description": "Optional settings for a Managed Identity that is assigned to the Session pool.",
+ "type": "object",
+ "required": [
+ "identity"
+ ],
+ "properties": {
+ "identity": {
+ "description": "The resource ID of a user-assigned managed identity that is assigned to the Session Pool, or 'system' for system-assigned identity.",
+ "type": "string"
+ },
+ "lifecycle": {
+ "description": "Use to select the lifecycle stages of a Session Pool during which the Managed Identity should be available.",
+ "enum": [
+ "None",
+ "Main"
+ ],
+ "type": "string",
+ "default": "None",
+ "x-ms-enum": {
+ "name": "IdentitySettingsLifeCycle",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SessionPoolUpdatableProperties": {
+ "description": "Container App session pool updatable properties.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "description": "Managed identities needed by a session pool to interact with other Azure services to not maintain any secrets or credentials in code.",
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity"
+ },
+ "properties": {
+ "description": "Session pool resource specific updatable properties.",
+ "type": "object",
+ "properties": {
+ "scaleConfiguration": {
+ "description": "The scale configuration of the session pool.",
+ "$ref": "#/definitions/ScaleConfiguration"
+ },
+ "secrets": {
+ "description": "The secrets of the session pool.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SessionPoolSecret"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "dynamicPoolConfiguration": {
+ "description": "The pool configuration if the poolManagementType is dynamic.",
+ "$ref": "#/definitions/DynamicPoolConfiguration"
+ },
+ "customContainerTemplate": {
+ "description": "The custom container configuration if the containerType is CustomContainer.",
+ "$ref": "#/definitions/CustomContainerTemplate"
+ },
+ "sessionNetworkConfiguration": {
+ "description": "The network configuration of the sessions in the session pool.",
+ "$ref": "#/definitions/SessionNetworkConfiguration"
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SessionPoolCollection": {
+ "description": "Session pool collection Azure resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SessionPool"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/SourceControls.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/SourceControls.json
new file mode 100644
index 000000000000..bd2d656eb58a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/SourceControls.json
@@ -0,0 +1,488 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/sourcecontrols": {
+ "get": {
+ "tags": [
+ "ContainerAppsSourceControls"
+ ],
+ "summary": "Get the Container App SourceControls in a given resource group.",
+ "operationId": "ContainerAppsSourceControls_ListByContainerApp",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SourceControlCollection"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List App's Source Controls": {
+ "$ref": "./examples/SourceControls_ListByContainer.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/sourcecontrols/{sourceControlName}": {
+ "get": {
+ "tags": [
+ "ContainerAppsSourceControls"
+ ],
+ "summary": "Get a SourceControl of a Container App.",
+ "operationId": "ContainerAppsSourceControls_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "description": "Name of the Container App SourceControl.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SourceControl"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container App's SourceControl": {
+ "$ref": "./examples/SourceControls_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContainerAppsSourceControls"
+ ],
+ "summary": "Create or update the SourceControl for a Container App.",
+ "description": "Create or update the SourceControl for a Container App.",
+ "operationId": "ContainerAppsSourceControls_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "description": "Name of the Container App SourceControl.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sourceControlEnvelope",
+ "in": "body",
+ "description": "Properties used to create a Container App SourceControl",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SourceControl"
+ }
+ },
+ {
+ "name": "x-ms-github-auxiliary",
+ "in": "header",
+ "description": "Github personal access token used for SourceControl.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SourceControl"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SourceControl"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Container App SourceControl": {
+ "$ref": "./examples/SourceControls_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ContainerAppsSourceControls"
+ ],
+ "summary": "Delete a Container App SourceControl.",
+ "description": "Delete a Container App SourceControl.",
+ "operationId": "ContainerAppsSourceControls_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "containerAppName",
+ "in": "path",
+ "description": "Name of the Container App.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "description": "Name of the Container App SourceControl.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "x-ms-github-auxiliary",
+ "in": "header",
+ "description": "Github personal access token used for SourceControl.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "ignoreWorkflowDeletionFailure",
+ "in": "query",
+ "description": "Ignore Workflow Deletion Failure.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "deleteWorkflow",
+ "in": "query",
+ "description": "Delete workflow.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container App SourceControl deleted successfully."
+ },
+ "202": {
+ "description": "Delete operation is in progress."
+ },
+ "204": {
+ "description": "Container App SourceControl does not exist."
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Container App SourceControl": {
+ "$ref": "./examples/SourceControls_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "SourceControl": {
+ "description": "Container App SourceControl.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "SourceControl resource specific properties",
+ "type": "object",
+ "properties": {
+ "operationState": {
+ "description": "Current provisioning State of the operation",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SourceControlOperationState",
+ "modelAsString": true
+ }
+ },
+ "repoUrl": {
+ "description": "The repo url which will be integrated to ContainerApp.",
+ "type": "string"
+ },
+ "branch": {
+ "description": "The branch which will trigger the auto deployment",
+ "type": "string"
+ },
+ "githubActionConfiguration": {
+ "$ref": "#/definitions/GithubActionConfiguration",
+ "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time"
+ }
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "GithubActionConfiguration": {
+ "description": "Configuration properties that define the mutable settings of a Container App SourceControl",
+ "type": "object",
+ "properties": {
+ "registryInfo": {
+ "$ref": "#/definitions/RegistryInfo",
+ "description": "Registry configurations."
+ },
+ "azureCredentials": {
+ "$ref": "#/definitions/AzureCredentials",
+ "description": "AzureCredentials configurations."
+ },
+ "contextPath": {
+ "description": "Context path",
+ "type": "string"
+ },
+ "dockerfilePath": {
+ "description": "Dockerfile path",
+ "type": "string"
+ },
+ "githubPersonalAccessToken": {
+ "description": "One time Github PAT to configure github environment",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ },
+ "image": {
+ "description": "Image name",
+ "type": "string"
+ },
+ "publishType": {
+ "description": "Code or Image",
+ "type": "string"
+ },
+ "os": {
+ "description": "Operation system",
+ "type": "string"
+ },
+ "runtimeStack": {
+ "description": "Runtime stack",
+ "type": "string"
+ },
+ "runtimeVersion": {
+ "description": "Runtime version",
+ "type": "string"
+ },
+ "buildEnvironmentVariables": {
+ "type": "array",
+ "items": {
+ "$ref": "./CommonDefinitions.json#/definitions/EnvironmentVariable"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "description": "List of environment variables to be passed to the build."
+ }
+ }
+ },
+ "RegistryInfo": {
+ "description": "Container App registry information.",
+ "type": "object",
+ "properties": {
+ "registryUrl": {
+ "description": "registry server Url.",
+ "type": "string"
+ },
+ "registryUserName": {
+ "description": "registry username.",
+ "type": "string"
+ },
+ "registryPassword": {
+ "description": "registry secret.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "AzureCredentials": {
+ "description": "Container App credentials.",
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "description": "Client Id.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ },
+ "clientSecret": {
+ "description": "Client Secret.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ },
+ "tenantId": {
+ "description": "Tenant Id.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ },
+ "kind": {
+ "description": "Kind of auth github does for deploying the template",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ },
+ "subscriptionId": {
+ "description": "Subscription Id.",
+ "type": "string"
+ }
+ }
+ },
+ "SourceControlCollection": {
+ "description": "SourceControl collection ARM resource.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SourceControl"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Subscriptions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Subscriptions.json
new file mode 100644
index 000000000000..035450e44f16
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Subscriptions.json
@@ -0,0 +1,80 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/getCustomDomainVerificationId": {
+ "post": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "description": "Get the verification id of a subscription used for verifying custom domains",
+ "operationId": "GetCustomDomainVerificationId",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The custom domain verification id has been returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainVerificationId"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all operations": {
+ "$ref": "./examples/Subscriptions_GetCustomDomainVerificationId.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CustomDomainVerificationId": {
+ "description": "Custom domain verification Id of a subscription",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Usages.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Usages.json
new file mode 100644
index 000000000000..30cfa17966e5
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/Usages.json
@@ -0,0 +1,188 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-10-02-preview",
+ "title": "ContainerApps API Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.App/locations/{location}/usages": {
+ "get": {
+ "tags": [
+ "Usages"
+ ],
+ "operationId": "Usages_List",
+ "description": "Gets, for the specified location, the current resource usage information as well as the limits under the subscription.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which resource usage is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListUsagesResult"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List usages": {
+ "$ref": "./examples/Usages_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/usages": {
+ "get": {
+ "tags": [
+ "Usages"
+ ],
+ "operationId": "ManagedEnvironmentUsages_List",
+ "description": "Gets the current usage information as well as the limits for environment.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "environmentName",
+ "in": "path",
+ "description": "Name of the Environment.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListUsagesResult"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List managed environment usages": {
+ "$ref": "./examples/ManagedEnvironmentUsages_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UsageName": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "The localized name of the resource."
+ }
+ },
+ "description": "The Usage Names."
+ },
+ "Usage": {
+ "type": "object",
+ "properties": {
+ "unit": {
+ "type": "string",
+ "description": "An enum describing the unit of usage measurement.",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "UsageUnit",
+ "modelAsString": false
+ }
+ },
+ "currentValue": {
+ "type": "number",
+ "format": "float",
+ "description": "The current usage of the resource."
+ },
+ "limit": {
+ "type": "number",
+ "format": "float",
+ "description": "The maximum permitted usage of the resource."
+ },
+ "name": {
+ "$ref": "#/definitions/UsageName",
+ "description": "The name of the type of usage."
+ }
+ },
+ "required": [
+ "unit",
+ "currentValue",
+ "limit",
+ "name"
+ ],
+ "description": "Describes Compute Resource Usage."
+ },
+ "ListUsagesResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "description": "The list of compute resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_CreateOrUpdate.json
new file mode 100644
index 000000000000..b7970624e2fb
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_CreateOrUpdate.json
@@ -0,0 +1,176 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "appName": "testcontainerApp0",
+ "name": "resiliency-policy-1",
+ "api-version": "2024-10-02-preview",
+ "resiliencyEnvelope": {
+ "properties": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 15,
+ "connectionTimeoutInSeconds": 5
+ },
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 1000,
+ "maxIntervalInMilliseconds": 10000
+ },
+ "matches": {
+ "headers": [
+ {
+ "header": "X-Content-Type",
+ "match": {
+ "prefixMatch": "GOATS"
+ }
+ }
+ ],
+ "httpStatusCodes": [
+ 502,
+ 503
+ ],
+ "errors": [
+ "5xx",
+ "connect-failure",
+ "reset",
+ "retriable-headers",
+ "retriable-status-codes"
+ ]
+ }
+ },
+ "tcpRetryPolicy": {
+ "maxConnectAttempts": 3
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "intervalInSeconds": 10,
+ "maxEjectionPercent": 50
+ },
+ "tcpConnectionPool": {
+ "maxConnections": 100
+ },
+ "httpConnectionPool": {
+ "http1MaxPendingRequests": 1024,
+ "http2MaxRequests": 1024
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1",
+ "name": "resiliency-policy-1",
+ "type": "Microsoft.App/containerApps/resiliencyPolicies",
+ "properties": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 15,
+ "connectionTimeoutInSeconds": 5
+ },
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 1000,
+ "maxIntervalInMilliseconds": 10000
+ },
+ "matches": {
+ "headers": [
+ {
+ "header": "X-Content-Type",
+ "match": {
+ "prefixMatch": "GOATS"
+ }
+ }
+ ],
+ "httpStatusCodes": [
+ 502,
+ 503
+ ],
+ "errors": [
+ "5xx",
+ "connect-failure",
+ "reset",
+ "retriable-headers",
+ "retriable-status-codes"
+ ]
+ }
+ },
+ "tcpRetryPolicy": {
+ "maxConnectAttempts": 3
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "intervalInSeconds": 10,
+ "maxEjectionPercent": 50
+ },
+ "tcpConnectionPool": {
+ "maxConnections": 100
+ },
+ "httpConnectionPool": {
+ "http1MaxPendingRequests": 1024,
+ "http2MaxRequests": 1024
+ }
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1",
+ "name": "resiliency-policy-1",
+ "type": "Microsoft.App/containerApps/resiliencyPolicies",
+ "properties": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 15,
+ "connectionTimeoutInSeconds": 5
+ },
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 1000,
+ "maxIntervalInMilliseconds": 10000
+ },
+ "matches": {
+ "headers": [
+ {
+ "header": "X-Content-Type",
+ "match": {
+ "prefixMatch": "GOATS"
+ }
+ }
+ ],
+ "httpStatusCodes": [
+ 502,
+ 503
+ ],
+ "errors": [
+ "5xx",
+ "connect-failure",
+ "reset",
+ "retriable-headers",
+ "retriable-status-codes"
+ ]
+ }
+ },
+ "tcpRetryPolicy": {
+ "maxConnectAttempts": 3
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "intervalInSeconds": 10,
+ "maxEjectionPercent": 50
+ },
+ "tcpConnectionPool": {
+ "maxConnections": 100
+ },
+ "httpConnectionPool": {
+ "http1MaxPendingRequests": 1024,
+ "http2MaxRequests": 1024
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_Delete.json
new file mode 100644
index 000000000000..b3396fc77e2c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "appName": "testcontainerApp0",
+ "name": "resiliency-policy-1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_Get.json
new file mode 100644
index 000000000000..6deff71a2295
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_Get.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "appName": "testcontainerApp0",
+ "name": "resiliency-policy-1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1",
+ "name": "resiliency-policy-1",
+ "type": "Microsoft.App/containerApps/resiliencyPolicies",
+ "properties": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 15,
+ "connectionTimeoutInSeconds": 5
+ },
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 1000,
+ "maxIntervalInMilliseconds": 10000
+ },
+ "matches": {
+ "headers": [
+ {
+ "header": "X-Content-Type",
+ "match": {
+ "prefixMatch": "GOATS"
+ }
+ }
+ ],
+ "httpStatusCodes": [
+ 502,
+ 503
+ ],
+ "errors": [
+ "5xx",
+ "connect-failure",
+ "reset",
+ "retriable-headers",
+ "retriable-status-codes"
+ ]
+ }
+ },
+ "tcpRetryPolicy": {
+ "maxConnectAttempts": 3
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "intervalInSeconds": 10,
+ "maxEjectionPercent": 50
+ },
+ "tcpConnectionPool": {
+ "maxConnections": 100
+ },
+ "httpConnectionPool": {
+ "http1MaxPendingRequests": 1024,
+ "http2MaxRequests": 1024
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_List.json
new file mode 100644
index 000000000000..9f600038af1f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_List.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "appName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1",
+ "name": "resiliency-policy-1",
+ "type": "Microsoft.App/containerApps/resiliencyPolicies",
+ "properties": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 15,
+ "connectionTimeoutInSeconds": 5
+ },
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 1000,
+ "maxIntervalInMilliseconds": 10000
+ },
+ "matches": {
+ "headers": [
+ {
+ "header": "X-Content-Type",
+ "match": {
+ "prefixMatch": "GOATS"
+ }
+ }
+ ],
+ "httpStatusCodes": [
+ 502,
+ 503
+ ],
+ "errors": [
+ "5xx",
+ "connect-failure",
+ "reset",
+ "retriable-headers",
+ "retriable-status-codes"
+ ]
+ }
+ },
+ "tcpRetryPolicy": {
+ "maxConnectAttempts": 3
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "intervalInSeconds": 10,
+ "maxEjectionPercent": 50
+ },
+ "tcpConnectionPool": {
+ "maxConnections": 100
+ },
+ "httpConnectionPool": {
+ "http1MaxPendingRequests": 1024,
+ "http2MaxRequests": 1024
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_Patch.json
new file mode 100644
index 000000000000..1e55cc8c4df7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AppResiliency_Patch.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "appName": "testcontainerApp0",
+ "name": "resiliency-policy-1",
+ "api-version": "2024-10-02-preview",
+ "resiliencyEnvelope": {
+ "properties": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30,
+ "connectionTimeoutInSeconds": 40
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1",
+ "name": "resiliency-policy-1",
+ "type": "Microsoft.App/containerApps/resiliencyPolicies",
+ "properties": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30,
+ "connectionTimeoutInSeconds": 40
+ },
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 1000,
+ "maxIntervalInMilliseconds": 10000
+ },
+ "matches": {
+ "headers": [
+ {
+ "header": "X-Content-Type",
+ "match": {
+ "prefixMatch": "GOATS"
+ }
+ }
+ ],
+ "httpStatusCodes": [
+ 502,
+ 503
+ ],
+ "errors": [
+ "5xx",
+ "connect-failure",
+ "reset",
+ "retriable-headers",
+ "retriable-status-codes"
+ ]
+ }
+ },
+ "tcpRetryPolicy": {
+ "maxConnectAttempts": 3
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "intervalInSeconds": 10,
+ "maxEjectionPercent": 50
+ },
+ "tcpConnectionPool": {
+ "maxConnections": 100
+ },
+ "httpConnectionPool": {
+ "http1MaxPendingRequests": 1024,
+ "http2MaxRequests": 1024
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_BlobStorageTokenStore_ClientId_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_BlobStorageTokenStore_ClientId_CreateOrUpdate.json
new file mode 100644
index 000000000000..ad63a6c8f6ee
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_BlobStorageTokenStore_ClientId_CreateOrUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "containerAppName": "myapp",
+ "authConfigName": "current",
+ "api-version": "2024-10-02-preview",
+ "authConfigEnvelope": {
+ "properties": {
+ "platform": {
+ "enabled": true
+ },
+ "globalValidation": {
+ "unauthenticatedClientAction": "AllowAnonymous"
+ },
+ "identityProviders": {
+ "facebook": {
+ "registration": {
+ "appId": "123",
+ "appSecretSettingName": "facebook-secret"
+ }
+ }
+ },
+ "encryptionSettings": {
+ "containerAppAuthEncryptionSecretName": "testEncryptionSecretName",
+ "containerAppAuthSigningSecretName": "testSigningSecretName"
+ },
+ "login": {
+ "tokenStore": {
+ "azureBlobStorage": {
+ "blobContainerUri": "https://test.blob.core.windows.net/container1",
+ "clientId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.App/containerApps/myapp/authconfigs/current",
+ "name": "current",
+ "type": "Microsoft.App/containerapps/authconfigs",
+ "properties": {
+ "platform": {
+ "enabled": true
+ },
+ "globalValidation": {
+ "unauthenticatedClientAction": "AllowAnonymous"
+ },
+ "identityProviders": {
+ "facebook": {
+ "registration": {
+ "appId": "123",
+ "appSecretSettingName": "facebook-secret"
+ }
+ }
+ },
+ "encryptionSettings": {
+ "containerAppAuthEncryptionSecretName": "testEncryptionSecretName",
+ "containerAppAuthSigningSecretName": "testSigningSecretName"
+ },
+ "login": {
+ "tokenStore": {
+ "azureBlobStorage": {
+ "blobContainerUri": "https://test.blob.core.windows.net/container1",
+ "clientId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_BlobStorageTokenStore_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_BlobStorageTokenStore_CreateOrUpdate.json
new file mode 100644
index 000000000000..13991a64593c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_BlobStorageTokenStore_CreateOrUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "containerAppName": "myapp",
+ "authConfigName": "current",
+ "api-version": "2024-10-02-preview",
+ "authConfigEnvelope": {
+ "properties": {
+ "platform": {
+ "enabled": true
+ },
+ "globalValidation": {
+ "unauthenticatedClientAction": "AllowAnonymous"
+ },
+ "identityProviders": {
+ "facebook": {
+ "registration": {
+ "appId": "123",
+ "appSecretSettingName": "facebook-secret"
+ }
+ }
+ },
+ "encryptionSettings": {
+ "containerAppAuthEncryptionSecretName": "testEncryptionSecretName",
+ "containerAppAuthSigningSecretName": "testSigningSecretName"
+ },
+ "login": {
+ "tokenStore": {
+ "azureBlobStorage": {
+ "blobContainerUri": "https://test.blob.core.windows.net/container1",
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.App/containerApps/myapp/authconfigs/current",
+ "name": "current",
+ "type": "Microsoft.App/containerapps/authconfigs",
+ "properties": {
+ "platform": {
+ "enabled": true
+ },
+ "globalValidation": {
+ "unauthenticatedClientAction": "AllowAnonymous"
+ },
+ "identityProviders": {
+ "facebook": {
+ "registration": {
+ "appId": "123",
+ "appSecretSettingName": "facebook-secret"
+ }
+ }
+ },
+ "encryptionSettings": {
+ "containerAppAuthEncryptionSecretName": "testEncryptionSecretName",
+ "containerAppAuthSigningSecretName": "testSigningSecretName"
+ },
+ "login": {
+ "tokenStore": {
+ "azureBlobStorage": {
+ "blobContainerUri": "https://test.blob.core.windows.net/container1",
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_CreateOrUpdate.json
new file mode 100644
index 000000000000..a42b8405d5de
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_CreateOrUpdate.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "authConfigName": "current",
+ "api-version": "2024-10-02-preview",
+ "authConfigEnvelope": {
+ "properties": {
+ "platform": {
+ "enabled": true
+ },
+ "globalValidation": {
+ "unauthenticatedClientAction": "AllowAnonymous"
+ },
+ "identityProviders": {
+ "facebook": {
+ "registration": {
+ "appId": "123",
+ "appSecretSettingName": "facebook-secret"
+ }
+ }
+ },
+ "encryptionSettings": {
+ "containerAppAuthEncryptionSecretName": "testEncryptionSecretName",
+ "containerAppAuthSigningSecretName": "testSigningSecretName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/authconfigs/current",
+ "name": "current",
+ "type": "Microsoft.App/containerapps/authconfigs",
+ "properties": {
+ "platform": {
+ "enabled": true
+ },
+ "globalValidation": {
+ "unauthenticatedClientAction": "AllowAnonymous"
+ },
+ "identityProviders": {
+ "facebook": {
+ "registration": {
+ "appId": "123",
+ "appSecretSettingName": "facebook-secret"
+ }
+ }
+ },
+ "encryptionSettings": {
+ "containerAppAuthEncryptionSecretName": "testEncryptionSecretName",
+ "containerAppAuthSigningSecretName": "testSigningSecretName"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_Delete.json
new file mode 100644
index 000000000000..62c9ba45d06a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "authConfigName": "current",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_Get.json
new file mode 100644
index 000000000000..8bc74d27fa5b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "authConfigName": "current",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current",
+ "name": "current",
+ "type": "Microsoft.App/containerapps/authconfigs",
+ "properties": {
+ "platform": {
+ "enabled": true
+ },
+ "globalValidation": {
+ "unauthenticatedClientAction": "AllowAnonymous"
+ },
+ "identityProviders": {
+ "facebook": {
+ "registration": {
+ "appId": "123",
+ "appSecretSettingName": "facebook-secret"
+ }
+ }
+ },
+ "encryptionSettings": {
+ "containerAppAuthEncryptionSecretName": "testEncryptionSecretName",
+ "containerAppAuthSigningSecretName": "testSigningSecretName"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_ListByContainer.json
new file mode 100644
index 000000000000..106f3ff6e7e2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AuthConfigs_ListByContainer.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current",
+ "name": "current",
+ "type": "Microsoft.App/containerapps/authconfigs",
+ "properties": {
+ "platform": {
+ "enabled": true
+ },
+ "globalValidation": {
+ "unauthenticatedClientAction": "AllowAnonymous"
+ },
+ "identityProviders": {
+ "facebook": {
+ "registration": {
+ "appId": "123",
+ "appSecretSettingName": "facebook-secret"
+ }
+ }
+ },
+ "encryptionSettings": {
+ "containerAppAuthEncryptionSecretName": "testEncryptionSecretName",
+ "containerAppAuthSigningSecretName": "testSigningSecretName"
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AvailableWorkloadProfiles_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AvailableWorkloadProfiles_Get.json
new file mode 100644
index 000000000000..7af21f46063e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/AvailableWorkloadProfiles_Get.json
@@ -0,0 +1,159 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "location": "East US",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-D4",
+ "category": "General purpose D-series",
+ "applicability": "LocationDefault",
+ "cores": 4,
+ "memoryGiB": 16
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-D4",
+ "name": "Dedicated-D4",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-D8",
+ "category": "General purpose D-series",
+ "applicability": "Custom",
+ "cores": 8,
+ "memoryGiB": 32
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-D8",
+ "name": "Dedicated-D4",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-D16",
+ "category": "General purpose D-series",
+ "applicability": "Custom",
+ "cores": 16,
+ "memoryGiB": 64
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-D16",
+ "name": "Dedicated-D16",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-E4",
+ "category": "Memory optimized E-series",
+ "applicability": "Custom",
+ "cores": 4,
+ "memoryGiB": 32
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-E4",
+ "name": "Dedicated-E4",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-E8",
+ "category": "Memory optimized E-series",
+ "applicability": "Custom",
+ "cores": 8,
+ "memoryGiB": 64
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-E8",
+ "name": "Dedicated-E8",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-E16",
+ "category": "Memory optimized E-series",
+ "applicability": "Custom",
+ "cores": 16,
+ "memoryGiB": 128
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-E16",
+ "name": "Dedicated-E16",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-F4",
+ "category": "Compute optimized F-series",
+ "applicability": "Custom",
+ "cores": 4,
+ "memoryGiB": 8
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-F4",
+ "name": "Dedicated-F4",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-F8",
+ "category": "Compute optimized F-series",
+ "applicability": "Custom",
+ "cores": 8,
+ "memoryGiB": 16
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-F8",
+ "name": "Dedicated-F8",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-F16",
+ "category": "Compute optimized F-series",
+ "applicability": "Custom",
+ "cores": 16,
+ "memoryGiB": 32
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-F16",
+ "name": "Dedicated-F16",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Dedicated-NC48-A100",
+ "category": "GPU-NC-A100",
+ "applicability": "Custom",
+ "cores": 48,
+ "memoryGiB": 440,
+ "gpus": 2
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/NC48-A100",
+ "name": "NC48-A100",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "displayName": "Consumption",
+ "category": "Consumption",
+ "applicability": "Custom",
+ "cores": 3,
+ "memoryGiB": 3
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Consumption",
+ "name": "Consumption",
+ "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/BillingMeters_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/BillingMeters_Get.json
new file mode 100644
index 000000000000..d5a9c60d49df
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/BillingMeters_Get.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "location": "East US",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "East US",
+ "properties": {
+ "category": "General purpose D-series",
+ "meterType": "CPU",
+ "displayName": "General Purpose Cores per Second"
+ },
+ "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/GeneralPurposeDseriesCPU",
+ "name": "GeneralPurposeDseriesCPU",
+ "type": "Microsoft.App/billingMeters"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "category": "General purpose D-series",
+ "meterType": "Memory",
+ "displayName": "General Purpose Memory GiB per Second"
+ },
+ "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/GeneralPurposeDseriesMemory",
+ "name": "GeneralPurposeDseriesMemory",
+ "type": "Microsoft.App/billingMeters"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "category": "Memory optimized E-series",
+ "meterType": "CPU",
+ "displayName": "Memory Optimized Cores per Second"
+ },
+ "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/MemoryOptimizedEseriesCPU",
+ "name": "MemoryOptimizedEseriesCPU",
+ "type": "Microsoft.App/billingMeters"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "category": "Memory optimized E-series",
+ "meterType": "Memory",
+ "displayName": "Memory Optimized Memory GiB per Second"
+ },
+ "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/MemoryOptimizedEseriesMemory",
+ "name": "MemoryOptimizedEseriesMemory",
+ "type": "Microsoft.App/billingMeters"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "category": "Compute optimized F-series",
+ "meterType": "CPU",
+ "displayName": "Compute Optimized Cores per Second"
+ },
+ "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/ComputeOptimizedFseriesCPU",
+ "name": "ComputeOptimizedFseriesCPU",
+ "type": "Microsoft.App/billingMeters"
+ },
+ {
+ "location": "East US",
+ "properties": {
+ "category": "Compute optimized F-series",
+ "meterType": "Memory",
+ "displayName": "Compute Optimized Memory GiB per Second"
+ },
+ "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/GeneralComputeMemory",
+ "name": "GeneralComputeMemory",
+ "type": "Microsoft.App/billingMeters"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_CreateOrUpdate.json
new file mode 100644
index 000000000000..4ea15fbdab5c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_CreateOrUpdate.json
@@ -0,0 +1,128 @@
+{
+ "operationId": "Builders_CreateOrUpdate",
+ "title": "Builders_CreateOrUpdate_0",
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder",
+ "api-version": "2024-10-02-preview",
+ "builderEnvelope": {
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ },
+ "properties": {
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv",
+ "containerRegistries": [
+ {
+ "containerRegistryServer": "test.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ },
+ {
+ "containerRegistryServer": "test2.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ ]
+ },
+ "tags": {
+ "company": "Microsoft"
+ },
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder",
+ "name": "testBuilder",
+ "type": "Microsoft.App/builders",
+ "location": "eastus",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv",
+ "containerRegistries": [
+ {
+ "containerRegistryServer": "test.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ },
+ {
+ "containerRegistryServer": "test2.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ },
+ "tags": {
+ "company": "Microsoft"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder",
+ "name": "testBuilder",
+ "type": "Microsoft.App/builders",
+ "location": "eastus",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv",
+ "containerRegistries": [
+ {
+ "containerRegistryServer": "test.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ },
+ {
+ "containerRegistryServer": "test2.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ },
+ "tags": {
+ "company": "Microsoft"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_Delete.json
new file mode 100644
index 000000000000..9a56c46071a2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_Delete.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "Builders_Delete",
+ "title": "Builders_Delete_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_Get.json
new file mode 100644
index 000000000000..b048ef271260
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_Get.json
@@ -0,0 +1,56 @@
+{
+ "operationId": "Builders_Get",
+ "title": "Builders_Get_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder",
+ "name": "testBuilder",
+ "type": "Microsoft.App/builders",
+ "location": "eastus",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv",
+ "containerRegistries": [
+ {
+ "containerRegistryServer": "test.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ },
+ {
+ "containerRegistryServer": "test2.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ },
+ "tags": {
+ "key": "value"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_ListByResourceGroup.json
new file mode 100644
index 000000000000..0be095471c89
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_ListByResourceGroup.json
@@ -0,0 +1,102 @@
+{
+ "operationId": "Builders_ListByResourceGroup",
+ "title": "Builders_ListByResourceGroup_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder1",
+ "name": "testBuilder1",
+ "type": "Microsoft.App/builders",
+ "location": "eastus",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv",
+ "containerRegistries": [
+ {
+ "containerRegistryServer": "test.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ },
+ {
+ "containerRegistryServer": "test2.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ },
+ "tags": {
+ "key": "value"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder2",
+ "name": "testBuilder2",
+ "type": "Microsoft.App/builders",
+ "location": "eastus",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv",
+ "containerRegistries": [
+ {
+ "containerRegistryServer": "test.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ },
+ {
+ "containerRegistryServer": "test2.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ },
+ "tags": {
+ "key": "value"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_ListBySubscription.json
new file mode 100644
index 000000000000..7014e703b30f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_ListBySubscription.json
@@ -0,0 +1,101 @@
+{
+ "operationId": "Builders_ListBySubscription",
+ "title": "Builders_ListBySubscription_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.App/builders/testBuilder1",
+ "name": "testBuilder1",
+ "type": "Microsoft.App/builders",
+ "location": "eastus",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv",
+ "containerRegistries": [
+ {
+ "containerRegistryServer": "test.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ },
+ {
+ "containerRegistryServer": "test2.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ },
+ "tags": {
+ "key": "value"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg2/providers/Microsoft.App/builders/testBuilder2",
+ "name": "testBuilder2",
+ "type": "Microsoft.App/builders",
+ "location": "eastus",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv",
+ "containerRegistries": [
+ {
+ "containerRegistryServer": "test.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ },
+ {
+ "containerRegistryServer": "test2.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ },
+ "tags": {
+ "key": "value"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_Update.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_Update.json
new file mode 100644
index 000000000000..ed863eb8f09e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builders_Update.json
@@ -0,0 +1,66 @@
+{
+ "operationId": "Builders_Update",
+ "title": "Builders_Update_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder",
+ "builderEnvelope": {
+ "tags": {
+ "mytag1": "myvalue1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder",
+ "name": "testBuilder",
+ "type": "Microsoft.App/builders",
+ "location": "eastus",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv",
+ "containerRegistries": [
+ {
+ "containerRegistryServer": "test.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ },
+ {
+ "containerRegistryServer": "test2.azurecr.io",
+ "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ },
+ "tags": {
+ "mytag1": "myvalue1"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_CreateOrUpdate.json
new file mode 100644
index 000000000000..4069dc939248
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_CreateOrUpdate.json
@@ -0,0 +1,214 @@
+{
+ "operationId": "Builds_CreateOrUpdate",
+ "title": "Builds_CreateOrUpdate_WithConfig",
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder",
+ "buildName": "testBuild-123456789az",
+ "api-version": "2024-10-02-preview",
+ "buildEnvelope": {
+ "properties": {
+ "destinationContainerRegistry": {
+ "server": "test.azurecr.io",
+ "image": "test.azurecr.io/repo:tag"
+ },
+ "configuration": {
+ "baseOs": "DebianBullseye",
+ "platform": "dotnetcore",
+ "platformVersion": "7.0",
+ "environmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "preBuildSteps": [
+ {
+ "description": "First pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'world'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo",
+ "bar"
+ ]
+ }
+ },
+ {
+ "description": "Second pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'again'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild-123456789az",
+ "name": "testBuild-123456789az",
+ "type": "Microsoft.App/builders/builds",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "buildStatus": "InProgress",
+ "destinationContainerRegistry": {
+ "server": "test.azurecr.io",
+ "image": "test.azurecr.io/repo:tag"
+ },
+ "configuration": {
+ "baseOs": "DebianBullseye",
+ "platform": "dotnetcore",
+ "platformVersion": "7.0",
+ "environmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "preBuildSteps": [
+ {
+ "description": "First pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'world'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo",
+ "bar"
+ ]
+ }
+ },
+ {
+ "description": "Second pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'again'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo"
+ ]
+ }
+ }
+ ]
+ },
+ "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload",
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream",
+ "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild",
+ "name": "testBuild",
+ "type": "Microsoft.App/build",
+ "properties": {
+ "provisioningState": "Creating",
+ "buildStatus": "NotStarted",
+ "destinationContainerRegistry": {
+ "server": "test.azurecr.io",
+ "image": "test.azurecr.io/repo:tag"
+ },
+ "configuration": {
+ "baseOs": "DebianBullseye",
+ "platform": "dotnetcore",
+ "platformVersion": "7.0",
+ "environmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "preBuildSteps": [
+ {
+ "description": "First pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'world'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo",
+ "bar"
+ ]
+ }
+ },
+ {
+ "description": "Second pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'again'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo"
+ ]
+ }
+ }
+ ]
+ },
+ "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload",
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream",
+ "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_CreateOrUpdate_NoConfig.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_CreateOrUpdate_NoConfig.json
new file mode 100644
index 000000000000..e8450eb6c187
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_CreateOrUpdate_NoConfig.json
@@ -0,0 +1,61 @@
+{
+ "operationId": "Builds_CreateOrUpdate",
+ "title": "Builds_CreateOrUpdate_NoConfig",
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder",
+ "buildName": "testBuild",
+ "api-version": "2024-10-02-preview",
+ "buildEnvelope": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild",
+ "name": "testBuild",
+ "type": "Microsoft.App/builders/builds",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "buildStatus": "InProgress",
+ "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload",
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream",
+ "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild",
+ "name": "testBuild",
+ "type": "Microsoft.App/build",
+ "properties": {
+ "provisioningState": "Creating",
+ "buildStatus": "InProgress",
+ "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload",
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream",
+ "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_Delete.json
new file mode 100644
index 000000000000..bd640a1bf41b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_Delete.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "Builds_Delete",
+ "title": "Builds_Delete_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder",
+ "buildName": "testBuild"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_Get.json
new file mode 100644
index 000000000000..7d2e9afac101
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_Get.json
@@ -0,0 +1,85 @@
+{
+ "operationId": "Builds_Get",
+ "title": "Builds_Get_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder",
+ "buildName": "testBuild"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild",
+ "name": "testBuild",
+ "type": "Microsoft.App/builders/builds",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "buildStatus": "InProgress",
+ "destinationContainerRegistry": {
+ "server": "test.azurecr.io",
+ "image": "test.azurecr.io/repo:tag"
+ },
+ "configuration": {
+ "baseOs": "DebianBullseye",
+ "platform": "dotnetcore",
+ "platformVersion": "7.0",
+ "environmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "preBuildSteps": [
+ {
+ "description": "First pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'world'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo",
+ "bar"
+ ]
+ }
+ },
+ {
+ "description": "Second pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'again'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo"
+ ]
+ }
+ }
+ ]
+ },
+ "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload",
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream",
+ "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_ListAuthToken.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_ListAuthToken.json
new file mode 100644
index 000000000000..b59cc08ebf04
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_ListAuthToken.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "Builds_ListAuthToken",
+ "title": "Builds_ListAuthToken_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder",
+ "buildName": "testBuild"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "token": "foobartoken",
+ "expires": "2022-07-14T19:22:50.3080223Z"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_ListByBuilderResource.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_ListByBuilderResource.json
new file mode 100644
index 000000000000..f3a238640433
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Builds_ListByBuilderResource.json
@@ -0,0 +1,159 @@
+{
+ "operationId": "Builds_ListByBuilderResource",
+ "title": "Builds_ListByBuilderResource_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "builderName": "testBuilder"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild1",
+ "name": "testBuild1",
+ "type": "Microsoft.App/builders/builds",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "buildStatus": "InProgress",
+ "destinationContainerRegistry": {
+ "server": "test.azurecr.io",
+ "image": "test.azurecr.io/repo:tag"
+ },
+ "configuration": {
+ "baseOs": "DebianBullseye",
+ "platform": "dotnetcore",
+ "platformVersion": "7.0",
+ "environmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "preBuildSteps": [
+ {
+ "description": "First pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'world'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo",
+ "bar"
+ ]
+ }
+ },
+ {
+ "description": "Second pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'again'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo"
+ ]
+ }
+ }
+ ]
+ },
+ "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload",
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream",
+ "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild2",
+ "name": "testBuild2",
+ "type": "Microsoft.App/builders/builds",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "buildStatus": "InProgress",
+ "destinationContainerRegistry": {
+ "server": "test.azurecr.io",
+ "image": "test.azurecr.io/repo:tag"
+ },
+ "configuration": {
+ "baseOs": "DebianBullseye",
+ "platform": "dotnetcore",
+ "platformVersion": "7.0",
+ "environmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "preBuildSteps": [
+ {
+ "description": "First pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'world'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo",
+ "bar"
+ ]
+ }
+ },
+ {
+ "description": "Second pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'again'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo"
+ ]
+ }
+ }
+ ]
+ },
+ "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload",
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream",
+ "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_CreateOrUpdate.json
new file mode 100644
index 000000000000..9e67427953df
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_CreateOrUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview",
+ "certificateEnvelope": {
+ "location": "East US",
+ "properties": {
+ "password": "private key password",
+ "value": "Y2VydA==",
+ "certificateType": "ImagePullTrustedCA"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true,
+ "certificateType": "ImagePullTrustedCA"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_CreateOrUpdate_FromKeyVault.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_CreateOrUpdate_FromKeyVault.json
new file mode 100644
index 000000000000..5d8d802d280c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_CreateOrUpdate_FromKeyVault.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview",
+ "certificateEnvelope": {
+ "location": "East US",
+ "properties": {
+ "certificateKeyVaultProperties": {
+ "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/microsoft.managedidentity/userassignedidentities/test-user-mi",
+ "keyVaultUrl": "https://xxxxxxxx.vault.azure.net/certificates/certName"
+ },
+ "certificateType": "ServerSSLCertificate"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "certificateKeyVaultProperties": {
+ "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/microsoft.managedidentity/userassignedidentities/test-user-mi",
+ "keyVaultUrl": "https://xxxxxxxx.vault.azure.net/certificates/certName"
+ },
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true,
+ "certificateType": "ServerSSLCertificate"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_Delete.json
new file mode 100644
index 000000000000..1d77ff328d59
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_Get.json
new file mode 100644
index 000000000000..f2b4c04a2222
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificate_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "name": "certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true,
+ "certificateType": "ServerSSLCertificate"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificates_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificates_CheckNameAvailability.json
new file mode 100644
index 000000000000..d4bc46e68479
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificates_CheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "checkNameAvailabilityRequest": {
+ "name": "testcertificatename",
+ "type": "Microsoft.App/managedEnvironments/certificates"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificates_ListByManagedEnvironment.json
new file mode 100644
index 000000000000..0aa7b5af111c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificates_ListByManagedEnvironment.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "name": "certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true,
+ "certificateType": "ImagePullTrustedCA"
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "name": "certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true,
+ "certificateType": "ServerSSLCertificate"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificates_Patch.json
new file mode 100644
index 000000000000..d616a9fdc462
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Certificates_Patch.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview",
+ "certificateEnvelope": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/Certificates",
+ "location": "East US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true,
+ "certificateType": "ServerSSLCertificate"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json
new file mode 100644
index 000000000000..dfca51972c46
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview",
+ "certificateEnvelope": {
+ "location": "East US",
+ "properties": {
+ "password": "private key password",
+ "value": "Y2VydA=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certififcates/certificate-firendly-name",
+ "type": "Microsoft.App/ConnectedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certififcates/certificate-firendly-name",
+ "name": "testenv",
+ "type": "Microsoft.App/ConnectedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "InProgress",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificate_Delete.json
new file mode 100644
index 000000000000..990cdf719e57
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificate_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/localtions/eastus/connectedOperationResults/00000"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificate_Get.json
new file mode 100644
index 000000000000..b9e6b2e6cfbf
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificate_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "name": "certificate-firendly-name",
+ "type": "Microsoft.App/ConnectedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json
new file mode 100644
index 000000000000..af543488c1f2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "checkNameAvailabilityRequest": {
+ "name": "testcertificatename",
+ "type": "Microsoft.App/connectedEnvironments/certificates"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json
new file mode 100644
index 000000000000..42bec2dc9d35
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "name": "certificate-firendly-name",
+ "type": "Microsoft.App/ConnectedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "name": "certificate-firendly-name",
+ "type": "Microsoft.App/ConnectedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificates_Patch.json
new file mode 100644
index 000000000000..ae3f13e4327a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsCertificates_Patch.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview",
+ "certificateEnvelope": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificates/certificate-firendly-name",
+ "type": "Microsoft.App/ConnectedEnvironments/Certificates",
+ "location": "East US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subjectName": "my-subject-name.company.country.net",
+ "subjectAlternativeNames": [
+ "CN=my-subject-name.com"
+ ],
+ "issuer": "Issuer Name",
+ "issueDate": "2021-11-06T04:00:00Z",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT",
+ "valid": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/localtions/eastus/connectedOperationResults/00000"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json
new file mode 100644
index 000000000000..fef43f57625a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview",
+ "daprComponentEnvelope": {
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secrets": [
+ {
+ "name": "masterkey",
+ "value": "keyvalue"
+ }
+ ],
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/jlaw-demo1/daprcomponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/connectedEnvironments/daprcomponents",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secrets": [
+ {
+ "name": "masterkey"
+ }
+ ],
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/jlaw-demo1/daprcomponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/connectedEnvironments/daprcomponents",
+ "properties": {
+ "provisioningState": "InProgress",
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secrets": [
+ {
+ "name": "masterkey"
+ }
+ ],
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_Delete.json
new file mode 100644
index 000000000000..a6e665cb0f54
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/localtions/eastus/connectedOperationResults/00000"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_Get.json
new file mode 100644
index 000000000000..5ef19849113d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_Get.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/jlaw-demo1/daprcomponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/connectedEnvironments/daprcomponents",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secrets": [
+ {
+ "name": "masterkey"
+ }
+ ],
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_List.json
new file mode 100644
index 000000000000..6293166487be
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_List.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/myenvironment/daprcomponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/connectedEnvironments/daprcomponents",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secrets": [
+ {
+ "name": "masterkey"
+ }
+ ],
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json
new file mode 100644
index 000000000000..0b36875a6b0c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "secret1",
+ "value": "value1"
+ },
+ {
+ "name": "secret2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json
new file mode 100644
index 000000000000..2ee5a4a7249a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "env",
+ "storageName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview",
+ "storageEnvelope": {
+ "properties": {
+ "azureFile": {
+ "accountName": "account1",
+ "accountKey": "key",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/env/storages/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/connectedEnvironments/storages",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/env/storages/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/connectedEnvironments/storages",
+ "properties": {
+ "provisioningState": "InProgress",
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_Delete.json
new file mode 100644
index 000000000000..32b7061903b5
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "env",
+ "storageName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/localtions/eastus/connectedOperationResults/00000"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_Get.json
new file mode 100644
index 000000000000..f4936925157e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "env",
+ "storageName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/env/storages/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/connectedEnvironments/storages",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_List.json
new file mode 100644
index 000000000000..f1fd2b8a30c9
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironmentsStorages_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "managedEnv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/managedEnv/storages/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/connectedEnvironments/storages",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_CreateOrUpdate.json
new file mode 100644
index 000000000000..ff1683cd751c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_CreateOrUpdate.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testenv",
+ "api-version": "2024-10-02-preview",
+ "kind": "kubernetes",
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "environmentEnvelope": {
+ "location": "East US",
+ "properties": {
+ "staticIp": "1.2.3.4",
+ "daprAIConnectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/",
+ "customDomainConfiguration": {
+ "dnsSuffix": "www.my-name.com",
+ "certificateValue": "Y2VydA==",
+ "certificatePassword": "private key password"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testenv",
+ "name": "testenv",
+ "type": "Microsoft.App/connectedEnvironments",
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "testenv.k4apps.io",
+ "staticIp": "1.2.3.4",
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testenv",
+ "name": "testenv",
+ "type": "Microsoft.App/connectedEnvironments",
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "tags": {},
+ "properties": {
+ "provisioningState": "Waiting",
+ "deploymentErrors": null,
+ "defaultDomain": "testenv.k4apps.io",
+ "staticIp": "1.2.3.4"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_Delete.json
new file mode 100644
index 000000000000..9001842a813c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_Delete.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "examplekenv",
+ "api-version": "2024-10-02-preview",
+ "kind": "kubernetes",
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/localtions/eastus/operationResults/00000"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_Get.json
new file mode 100644
index 000000000000..663d444fdf56
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_Get.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "examplekenv",
+ "api-version": "2024-10-02-preview",
+ "kind": "kubernetes",
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/examplekenv",
+ "name": "examplekenv",
+ "type": "Microsoft.App/connectedEnvironments",
+ "location": "North Central US",
+ "extendedLocation": {
+ "name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "examplekenv.k4apps.io",
+ "staticIp": "20.42.33.145",
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_ListByResourceGroup.json
new file mode 100644
index 000000000000..28a6a382f7bc
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_ListByResourceGroup.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/sample1",
+ "name": "sample1",
+ "type": "Microsoft.App/connectedEnvironments",
+ "location": "North Central US",
+ "extendedLocation": {
+ "name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "sample1.k4apps.io",
+ "staticIp": "20.42.33.145",
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/sample2",
+ "name": "sample2",
+ "type": "Microsoft.App/connectedEnvironments",
+ "location": "North Central US",
+ "extendedLocation": {
+ "name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "sample2.k4apps.io",
+ "staticIp": "52.142.21.61",
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name2.com",
+ "subjectName": "CN=www.my-name2.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_ListBySubscription.json
new file mode 100644
index 000000000000..253d1a73bc2c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_ListBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/sample1",
+ "name": "sample1",
+ "type": "Microsoft.App/connectedEnvironments",
+ "location": "North Central US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "sample1.k4apps.io",
+ "staticIp": "20.42.33.145",
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.App/connectedEnvironments/sample2",
+ "name": "sample2",
+ "type": "Microsoft.App/connectedEnvironments",
+ "location": "North Central US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "sample2.k4apps.io",
+ "staticIp": "52.142.21.61",
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name2.com",
+ "subjectName": "CN=www.my-name2.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_Patch.json
new file mode 100644
index 000000000000..3e6ad7fb5240
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ConnectedEnvironments_Patch.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testenv",
+ "api-version": "2024-10-02-preview",
+ "location": "East US",
+ "environmentEnvelope": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testenv",
+ "name": "testenv",
+ "type": "Microsoft.App/connectedEnvironments",
+ "location": "East US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "testenv.k4apps.io",
+ "staticIp": "20.42.33.145",
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsBuilds_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsBuilds_Delete.json
new file mode 100644
index 000000000000..c595f6d27fc4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsBuilds_Delete.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "ContainerAppsBuilds_Delete",
+ "title": "ContainerAppsBuilds_Delete_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "containerAppName": "testCapp",
+ "buildName": "testBuild"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsBuilds_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsBuilds_Get.json
new file mode 100644
index 000000000000..b89b21a3dbab
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsBuilds_Get.json
@@ -0,0 +1,83 @@
+{
+ "operationId": "ContainerAppsBuilds_Get",
+ "title": "ContainerAppsBuilds_Get_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "containerAppName": "testCapp",
+ "buildName": "testBuild"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/containerApps/testCapp/builds/testBuild",
+ "name": "testBuild",
+ "type": "Microsoft.App/containerApps/builds",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "buildStatus": "InProgress",
+ "destinationContainerRegistry": {
+ "server": "test.azurecr.io",
+ "image": "test.azurecr.io/repo:tag"
+ },
+ "configuration": {
+ "baseOs": "DebianBullseye",
+ "platform": "dotnetcore",
+ "platformVersion": "7.0",
+ "environmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "preBuildSteps": [
+ {
+ "description": "First pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'world'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo",
+ "bar"
+ ]
+ }
+ },
+ {
+ "description": "Second pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'again'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo"
+ ]
+ }
+ }
+ ]
+ },
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsBuilds_ListByContainerApp.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsBuilds_ListByContainerApp.json
new file mode 100644
index 000000000000..9fde3eb0218e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsBuilds_ListByContainerApp.json
@@ -0,0 +1,155 @@
+{
+ "operationId": "ContainerAppsBuildsByContainerApp_List",
+ "title": "ContainerAppsBuilds_ListByContainerApp_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "containerAppName": "testCapp"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/containerApps/testCapp/builds/testBuild1",
+ "name": "testBuild1",
+ "type": "Microsoft.App/containerApps/builds",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "buildStatus": "InProgress",
+ "destinationContainerRegistry": {
+ "server": "test.azurecr.io",
+ "image": "test.azurecr.io/repo:tag"
+ },
+ "configuration": {
+ "baseOs": "DebianBullseye",
+ "platform": "dotnetcore",
+ "platformVersion": "7.0",
+ "environmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "preBuildSteps": [
+ {
+ "description": "First pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'world'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo",
+ "bar"
+ ]
+ }
+ },
+ {
+ "description": "Second pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'again'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo"
+ ]
+ }
+ }
+ ]
+ },
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/containerApps/testCapp/builds/testBuild2",
+ "name": "testBuild2",
+ "type": "Microsoft.App/containerApps/builds",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "buildStatus": "InProgress",
+ "destinationContainerRegistry": {
+ "server": "test.azurecr.io",
+ "image": "test.azurecr.io/repo:tag"
+ },
+ "configuration": {
+ "baseOs": "DebianBullseye",
+ "platform": "dotnetcore",
+ "platformVersion": "7.0",
+ "environmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "preBuildSteps": [
+ {
+ "description": "First pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'world'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo",
+ "bar"
+ ]
+ }
+ },
+ {
+ "description": "Second pre build step.",
+ "scripts": [
+ "echo 'hello'",
+ "echo 'again'"
+ ],
+ "httpGet": {
+ "url": "https://microsoft.com",
+ "fileName": "output.txt",
+ "headers": [
+ "foo"
+ ]
+ }
+ }
+ ]
+ },
+ "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream"
+ },
+ "systemData": {
+ "createdBy": "sample@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2022-10-11T11:05:51.4940669Z",
+ "lastModifiedBy": "sample@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-10-11T11:05:51.4940669Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsDiagnostics_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsDiagnostics_Get.json
new file mode 100644
index 000000000000..9f2bf055c945
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsDiagnostics_Get.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6",
+ "resourceGroupName": "mikono-workerapp-test-rg",
+ "containerAppName": "mikono-capp-stage1",
+ "detectorName": "cappcontainerappnetworkIO",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/containerApps/mikono-capp-stage1/detectors/cappcontainerappnetworkIO",
+ "name": "cappcontainerappnetworkIO",
+ "type": "Microsoft.App/containerapps/detectors",
+ "properties": {
+ "metadata": {
+ "id": "cappcontainerappnetworkIO",
+ "name": "Container App Network Inbound and Outbound",
+ "description": "This detector shows the Container App Network Inbound and Outbound.",
+ "author": "",
+ "category": "Availability and Performance",
+ "supportTopicList": [],
+ "type": "Detector",
+ "score": 0
+ },
+ "dataset": [
+ {
+ "table": {
+ "tableName": "",
+ "columns": [
+ {
+ "columnName": "TimeStamp",
+ "dataType": "DateTime"
+ },
+ {
+ "columnName": "Metric",
+ "dataType": "String"
+ },
+ {
+ "columnName": "Average",
+ "dataType": "Double"
+ }
+ ],
+ "rows": [
+ [
+ "2022-03-15T21:35:00",
+ "RxBytes",
+ 0
+ ]
+ ]
+ },
+ "renderingProperties": {
+ "type": 8,
+ "title": "Container Apps Network Inbound ",
+ "description": "",
+ "isVisible": true
+ }
+ }
+ ],
+ "status": {
+ "statusId": 3
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsDiagnostics_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsDiagnostics_List.json
new file mode 100644
index 000000000000..049a3c161f03
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsDiagnostics_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6",
+ "resourceGroupName": "mikono-workerapp-test-rg",
+ "containerAppName": "mikono-capp-stage1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/containerApps/mikono-capp-stage1/detectors/cappContainerAppAvailabilityMetrics",
+ "name": "cappContainerAppAvailabilityMetrics",
+ "type": "Microsoft.App/containerapps/detectors",
+ "properties": {
+ "metadata": {
+ "id": "cappContainerAppAvailabilityMetrics",
+ "name": "Availability Metrics for Container Apps",
+ "author": "",
+ "category": "Availability and Performance",
+ "supportTopicList": [],
+ "type": "Analysis",
+ "score": 0
+ },
+ "dataset": [],
+ "status": {
+ "statusId": 4
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Apply.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Apply.json
new file mode 100644
index 000000000000..d1d1d4eaf9c4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Apply.json
@@ -0,0 +1,53 @@
+{
+ "operationId": "ContainerAppsPatches_Apply",
+ "title": "ContainerAppsPatches_Apply_0",
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "containerAppName": "test-app",
+ "patchName": "testPatch-25fe4b",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app/patches/testPatch-25fe4b",
+ "name": "testPatch-25fe4b",
+ "type": "Microsoft.App/containerApps/patches",
+ "properties": {
+ "targetEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/test-env",
+ "targetContainerAppId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app",
+ "targetRevisionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/apps/test-app/revisions/test-app--jm3vvry",
+ "patchApplyStatus": "Succeeded",
+ "createdAt": "2022-10-10T12:06:20.3421+00:00",
+ "lastModifiedAt": "2022-10-10T12:06:20.3421+00:00",
+ "patchDetails": [
+ {
+ "targetContainerName": "test-container",
+ "targetImage": "testregistry.azurecr.io/test-image:latest",
+ "lastDetectionTime": "2022-10-10T12:06:19.5241+00:00",
+ "detectionStatus": "Succeeded",
+ "newImageName": "testregistry.azurecr.io/test-image:latest-patched-202210101206",
+ "newLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.7",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "oldLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.5-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.5",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "patchType": "FrameworkSecurity"
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Delete.json
new file mode 100644
index 000000000000..7ff962f48213
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Delete.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "ContainerAppsPatches_Delete",
+ "title": "ContainerAppsPatches_Delete_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "containerAppName": "test-app",
+ "patchName": "testPatch-25fe4b"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Get.json
new file mode 100644
index 000000000000..36e7d1b6d8a8
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Get.json
@@ -0,0 +1,48 @@
+{
+ "operationId": "ContainerAppsPatches_Get",
+ "title": "ContainerAppsPatches_Get_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "containerAppName": "test-app",
+ "patchName": "testPatch-25fe4b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app/patches/testPatch-25fe4b",
+ "name": "testPatch-25fe4b",
+ "type": "Microsoft.App/containerApps/patches",
+ "properties": {
+ "targetEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/test-env",
+ "targetContainerAppId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app",
+ "targetRevisionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/apps/test-app/revisions/test-app--jm3vvry",
+ "patchApplyStatus": "NotStarted",
+ "createdAt": "2022-10-10T12:06:20.3421+00:00",
+ "lastModifiedAt": "2022-10-10T12:06:20.3421+00:00",
+ "patchDetails": [
+ {
+ "targetContainerName": "test-container",
+ "targetImage": "testregistry.azurecr.io/test-image:latest",
+ "lastDetectionTime": "2022-10-10T12:06:19.5241+00:00",
+ "detectionStatus": "Succeeded",
+ "newImageName": "testregistry.azurecr.io/test-image:latest-patched-202210101206",
+ "newLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.7",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "oldLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.5-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.5",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "patchType": "FrameworkSecurity"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_ListByContainerApp.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_ListByContainerApp.json
new file mode 100644
index 000000000000..1482fbc5badd
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_ListByContainerApp.json
@@ -0,0 +1,103 @@
+{
+ "operationId": "ContainerAppsPatches_ListByContainerApp",
+ "title": "ContainerAppsPatches_ListByContainerApp_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "containerAppName": "test-app"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app/patches/testPatch-25fe4b",
+ "name": "testPatch-25fe4b",
+ "type": "Microsoft.App/containerApps/patches",
+ "properties": {
+ "targetEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/test-env",
+ "targetContainerAppId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app",
+ "targetRevisionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/apps/test-app/revisions/test-app--jm3vvry",
+ "patchApplyStatus": "NotStarted",
+ "createdAt": "2022-10-10T12:06:20.3421+00:00",
+ "lastModifiedAt": "2022-10-10T12:06:20.3421+00:00",
+ "patchDetails": [
+ {
+ "targetContainerName": "test-container",
+ "targetImage": "testregistry.azurecr.io/test-image:release-1-patched-202209101206203421",
+ "lastDetectionTime": "2022-10-10T12:06:19.5241+00:00",
+ "detectionStatus": "Succeeded",
+ "newImageName": "testregistry.azurecr.io/test-image:release-1-patched-202210101206185241",
+ "newLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.9-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.9",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "oldLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.7",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "patchType": "FrameworkSecurity"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app/patches/testPatch-27c3d5",
+ "name": "testPatch-27c3d5",
+ "type": "Microsoft.App/containerApps/patches",
+ "properties": {
+ "targetEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/test-env",
+ "targetContainerAppId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app",
+ "targetRevisionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app2/revisions/test-app--z79h4oc",
+ "patchApplyStatus": "Succeeded",
+ "createdAt": "2022-09-10T12:06:20.3421+00:00",
+ "lastModifiedAt": "2022-09-20T12:06:20.3421+00:00",
+ "patchDetails": [
+ {
+ "targetContainerName": "test-container",
+ "targetImage": "testregistry.azurecr.io/test-image:release-1",
+ "lastDetectionTime": "2022-09-21T12:06:19.5241+00:00",
+ "detectionStatus": "Succeeded",
+ "newImageName": "testregistry.azurecr.io/test-image:release-1-patched-202209101206203421",
+ "newLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.7",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "oldLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.5-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.5",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "patchType": "FrameworkSecurity"
+ },
+ {
+ "targetContainerName": "test-container-2",
+ "targetImage": "testregistry.azurecr.io/test-image:release-2",
+ "lastDetectionTime": "2022-09-21T12:06:19.5241+00:00",
+ "detectionStatus": "Succeeded",
+ "newImageName": "testregistry.azurecr.io/test-image:release-2-patched-202209101206203421",
+ "newLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.7",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "oldLayer": {
+ "name": "mcr.microsoft.com/dotnet/aspnet:7.0.0-cbl-mariner2.0",
+ "frameworkAndVersion": "dotnet:7.0.0",
+ "osAndVersion": "cbl-mariner2.0"
+ },
+ "patchType": "FrameworkSecurity"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Skip_Configure.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Skip_Configure.json
new file mode 100644
index 000000000000..35e578dd914c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerAppsPatches_Skip_Configure.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "ContainerAppsPatches_SkipConfigure",
+ "title": "ContainerAppsPatches_Skip_Configure_0",
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "containerAppName": "test-app",
+ "patchName": "testPatch-25fe4b",
+ "patchSkipConfig": {
+ "skip": true
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_CheckNameAvailability.json
new file mode 100644
index 000000000000..951d8bb4b85f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_CheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "checkNameAvailabilityRequest": {
+ "name": "testcappname",
+ "type": "Microsoft.App/containerApps"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_CreateOrUpdate.json
new file mode 100644
index 000000000000..b191fa0e7eee
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_CreateOrUpdate.json
@@ -0,0 +1,666 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview",
+ "containerAppEnvelope": {
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {}
+ }
+ },
+ "properties": {
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "configuration": {
+ "ingress": {
+ "external": true,
+ "targetPort": 3000,
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my-other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 100,
+ "revisionName": "testcontainerApp0-ab1234",
+ "label": "production"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ },
+ "clientCertificateMode": "accept",
+ "corsPolicy": {
+ "allowedOrigins": [
+ "https://a.test.com",
+ "https://b.test.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "POST"
+ ],
+ "allowedHeaders": [
+ "HEADER1",
+ "HEADER2"
+ ],
+ "exposeHeaders": [
+ "HEADER3",
+ "HEADER4"
+ ],
+ "maxAge": 1234,
+ "allowCredentials": true
+ },
+ "additionalPortMappings": [
+ {
+ "external": true,
+ "targetPort": 1234
+ },
+ {
+ "external": false,
+ "targetPort": 2345,
+ "exposedPort": 3456
+ }
+ ]
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100,
+ "service": {
+ "type": "redis"
+ },
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v1",
+ "name": "testcontainerApp0",
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ],
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi",
+ "gpu": 1.0
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "custom": {
+ "type": "http",
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ },
+ {
+ "name": "servicebus",
+ "custom": {
+ "type": "azure-servicebus",
+ "metadata": {
+ "queueName": "myqueue",
+ "namespace": "mynamespace",
+ "messageCount": "5"
+ },
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity"
+ }
+ },
+ {
+ "name": "azure-queue",
+ "azureQueue": {
+ "accountName": "account1",
+ "queueName": "queue1",
+ "queueLength": 1,
+ "identity": "system"
+ }
+ }
+ ]
+ },
+ "serviceBinds": [
+ {
+ "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/redisService",
+ "name": "redisService",
+ "clientType": "dotnet",
+ "customizedKeys": {
+ "DesiredKey": "defaultKey"
+ }
+ }
+ ],
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319",
+ "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {
+ "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312",
+ "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my-other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ },
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ],
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi",
+ "gpu": 1.0
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ },
+ {
+ "name": "servicebus",
+ "custom": {
+ "type": "azure-servicebus",
+ "metadata": {
+ "queueName": "myqueue",
+ "namespace": "mynamespace",
+ "messageCount": "5"
+ },
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity"
+ }
+ },
+ {
+ "name": "azure-queue",
+ "azureQueue": {
+ "accountName": "account1",
+ "queueName": "queue1",
+ "queueLength": 1,
+ "identity": "system"
+ }
+ }
+ ]
+ },
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319",
+ "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {
+ "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312",
+ "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "runningStatus": "Progressing",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ],
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi",
+ "gpu": 1.0
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ },
+ {
+ "name": "servicebus",
+ "custom": {
+ "type": "azure-servicebus",
+ "metadata": {
+ "queueName": "myqueue",
+ "namespace": "mynamespace",
+ "messageCount": "5"
+ },
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity"
+ }
+ },
+ {
+ "name": "azure-queue",
+ "azureQueue": {
+ "accountName": "account1",
+ "queueName": "queue1",
+ "queueLength": 1,
+ "identity": "system"
+ }
+ }
+ ]
+ },
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json
new file mode 100644
index 000000000000..4e713ec21cb9
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json
@@ -0,0 +1,467 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview",
+ "containerAppEnvelope": {
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube",
+ "configuration": {
+ "ingress": {
+ "external": true,
+ "targetPort": 3000,
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my-other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 100,
+ "revisionName": "testcontainerApp0-ab1234",
+ "label": "production"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ },
+ "clientCertificateMode": "accept",
+ "corsPolicy": {
+ "allowedOrigins": [
+ "https://a.test.com",
+ "https://b.test.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "POST"
+ ],
+ "allowedHeaders": [
+ "HEADER1",
+ "HEADER2"
+ ],
+ "exposeHeaders": [
+ "HEADER3",
+ "HEADER4"
+ ],
+ "maxAge": 1234,
+ "allowCredentials": true
+ },
+ "additionalPortMappings": [
+ {
+ "external": true,
+ "targetPort": 1234
+ },
+ {
+ "external": false,
+ "targetPort": 2345,
+ "exposedPort": 3456
+ }
+ ]
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v1",
+ "name": "testcontainerApp0",
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "custom": {
+ "type": "http",
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my-other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ },
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "runningStatus": "Progressing",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Delete.json
new file mode 100644
index 000000000000..849388257963
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testWorkerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/containerApps/testWorkerApp0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Get.json
new file mode 100644
index 000000000000..2fe09417b9cf
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Get.json
@@ -0,0 +1,216 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319",
+ "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {
+ "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312",
+ "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my--other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ },
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100,
+ "service": {
+ "type": "redis"
+ },
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ },
+ {
+ "name": "servicebus",
+ "custom": {
+ "type": "azure-servicebus",
+ "metadata": {
+ "queueName": "myqueue",
+ "namespace": "mynamespace",
+ "messageCount": "5"
+ },
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity"
+ }
+ }
+ ]
+ },
+ "serviceBinds": [
+ {
+ "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/service",
+ "name": "service",
+ "clientType": "dotnet",
+ "customizedKeys": {
+ "DesiredKey": "defaultKey"
+ }
+ }
+ ],
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_GetAuthToken.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_GetAuthToken.json
new file mode 100644
index 000000000000..60b98d74e71f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_GetAuthToken.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps/accesstoken",
+ "location": "East US",
+ "properties": {
+ "token": "testToken",
+ "expires": "2022-07-14T19:22:50.3080223Z"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Kind_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Kind_CreateOrUpdate.json
new file mode 100644
index 000000000000..83eabdc26732
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Kind_CreateOrUpdate.json
@@ -0,0 +1,207 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerAppKind",
+ "api-version": "2024-10-02-preview",
+ "containerAppEnvelope": {
+ "location": "East Us",
+ "managedBy": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Web/sites/testcontainerAppKind",
+ "kind": "workflowapp",
+ "properties": {
+ "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3",
+ "configuration": {
+ "activeRevisionsMode": "Single",
+ "ingress": {
+ "external": true,
+ "targetPort": 80,
+ "allowInsecure": true
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "default/logicapps-base:latest",
+ "name": "logicapps-container",
+ "resources": {
+ "cpu": 1.0,
+ "memory": "2.0Gi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 30,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerapps/testcontainerAppKind",
+ "name": "testcontainerAppKind",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "managedBy": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Web/sites/testcontainerAppKind",
+ "kind": "workflowapp",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3",
+ "workloadProfileName": null,
+ "latestRevisionName": "testcontainerAppKind--2rltv14",
+ "latestReadyRevisionName": "testcontainerAppKind--2rltv14",
+ "latestRevisionFqdn": "testcontainerAppKind--2rltv14.nicefield-53acf186.eastus.azurecontainerapps-test.io",
+ "configuration": {
+ "activeRevisionsMode": "Single",
+ "ingress": {
+ "fqdn": "testcontainerAppKind.nicefield-53acf186.eastus.azurecontainerapps-test.io",
+ "external": true,
+ "targetPort": 80,
+ "exposedPort": 0,
+ "transport": "auto",
+ "traffic": [
+ {
+ "weight": 100,
+ "latestRevision": true
+ }
+ ],
+ "customDomains": null,
+ "allowInsecure": true,
+ "ipSecurityRestrictions": null,
+ "corsPolicy": null,
+ "clientCertificateMode": null,
+ "stickySessions": null,
+ "additionalPortMappings": null,
+ "targetPortHttpScheme": null
+ },
+ "registries": null,
+ "dapr": null,
+ "runtime": null,
+ "maxInactiveRevisions": 100,
+ "revisionTransitionThreshold": 100,
+ "service": null
+ },
+ "template": {
+ "revisionSuffix": "",
+ "terminationGracePeriodSeconds": null,
+ "containers": [
+ {
+ "image": "default/logicapps-base:latest",
+ "imageType": "ContainerImage",
+ "name": "logicapps-container",
+ "resources": {
+ "cpu": 1.0,
+ "memory": "2Gi",
+ "ephemeralStorage": "4Gi",
+ "gpu": 1.0
+ }
+ }
+ ],
+ "initContainers": null,
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 30,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": null
+ },
+ "volumes": null,
+ "serviceBinds": null
+ },
+ "eventStreamEndpoint": "https://azurecontainerapps-test.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/containerApps/testcontainerAppKind/eventstream"
+ },
+ "identity": {
+ "type": "None"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerapps/testcontainerAppKind",
+ "name": "testcontainerAppKind",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "managedBy": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Web/sites/testcontainerAppKind",
+ "kind": "workflowapp",
+ "properties": {
+ "provisioningState": "InProgress",
+ "runningStatus": "Progressing",
+ "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3",
+ "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3",
+ "workloadProfileName": null,
+ "latestRevisionName": "testcontainerAppKind--2rltv14",
+ "latestReadyRevisionName": "testcontainerAppKind--2rltv14",
+ "latestRevisionFqdn": "testcontainerAppKind--2rltv14.nicefield-53acf186.eastus.azurecontainerapps-test.io",
+ "configuration": {
+ "activeRevisionsMode": "Single",
+ "ingress": {
+ "fqdn": "testcontainerAppKind.nicefield-53acf186.eastus.azurecontainerapps-test.io",
+ "external": true,
+ "targetPort": 80,
+ "exposedPort": 0,
+ "transport": "auto",
+ "traffic": [
+ {
+ "weight": 100,
+ "latestRevision": true
+ }
+ ],
+ "customDomains": null,
+ "allowInsecure": true,
+ "ipSecurityRestrictions": null,
+ "corsPolicy": null,
+ "clientCertificateMode": null,
+ "stickySessions": null,
+ "additionalPortMappings": null,
+ "targetPortHttpScheme": null
+ },
+ "registries": null,
+ "dapr": null,
+ "runtime": null,
+ "maxInactiveRevisions": 100,
+ "revisionTransitionThreshold": 100,
+ "service": null
+ },
+ "template": {
+ "revisionSuffix": "",
+ "terminationGracePeriodSeconds": null,
+ "containers": [
+ {
+ "image": "default/logicapps-base:latest",
+ "imageType": "ContainerImage",
+ "name": "logicapps-container",
+ "resources": {
+ "cpu": 1.0,
+ "memory": "2Gi",
+ "ephemeralStorage": "4Gi"
+ }
+ }
+ ],
+ "initContainers": null,
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 30,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": null
+ },
+ "volumes": null,
+ "serviceBinds": null
+ },
+ "eventStreamEndpoint": "https://azurecontainerapps-test.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/containerApps/testcontainerAppKind/eventstream"
+ },
+ "identity": {
+ "type": "None"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListByResourceGroup.json
new file mode 100644
index 000000000000..2a712e8941a0
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListByResourceGroup.json
@@ -0,0 +1,203 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my--other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ },
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp1",
+ "name": "testcontainerApp1",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Failed",
+ "deploymentErrors": "Code: ContainerAppImagePullProvisionError, Message: Error pulling the container image. Please check the image name or any registry credentials to access if required.",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "Consumption",
+ "latestRevisionFqdn": "testcontainerApp1-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp1.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "targetPortHttpScheme": "http"
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp1:v4",
+ "name": "testcontainerApp1",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp1:v4",
+ "name": "testcontainerApp1",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35
+ }
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListBySubscription.json
new file mode 100644
index 000000000000..f7d49969e525
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListBySubscription.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my--other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ },
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100,
+ "service": {
+ "type": "redis"
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ },
+ "serviceBinds": [
+ {
+ "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/service",
+ "name": "service",
+ "clientType": "dotnet",
+ "customizedKeys": {
+ "DesiredKey": "defaultKey"
+ }
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json
new file mode 100644
index 000000000000..989b2bf35e47
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "customHostname": "my.name.corp",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "hostName": "my.name.corp",
+ "isHostnameAlreadyVerified": true,
+ "customDomainVerificationTest": "Passed",
+ "customDomainVerificationFailureInfo": {},
+ "hasConflictOnManagedEnvironment": false,
+ "conflictingContainerAppResourceId": "",
+ "cNameRecords": [
+ "cNameRecord1",
+ "cNameRecord2"
+ ],
+ "txtRecords": [
+ "txtRecord1",
+ "txtRecord2"
+ ],
+ "aRecords": [
+ "aRecord1",
+ "aRecord2"
+ ],
+ "alternateCNameRecords": [
+ "cNameRecord1",
+ "cNameRecord2"
+ ],
+ "alternateTxtRecords": [
+ "txtRecord1",
+ "txtRecord2"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListSecrets.json
new file mode 100644
index 000000000000..22e4fe77815d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ListSecrets.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "secret1"
+ },
+ {
+ "name": "secret2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ManagedBy_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ManagedBy_CreateOrUpdate.json
new file mode 100644
index 000000000000..042f281bf741
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_ManagedBy_CreateOrUpdate.json
@@ -0,0 +1,212 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerAppManagedBy",
+ "api-version": "2024-10-02-preview",
+ "containerAppEnvelope": {
+ "location": "East US",
+ "managedBy": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppPlatform/Spring/springapp",
+ "properties": {
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "ingress": {
+ "external": true,
+ "targetPort": 3000,
+ "exposedPort": 4000,
+ "transport": "tcp",
+ "traffic": [
+ {
+ "weight": 100,
+ "revisionName": "testcontainerAppManagedBy-ab1234"
+ }
+ ]
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppManagedBy:v1",
+ "name": "testcontainerAppManagedBy",
+ "probes": [
+ {
+ "type": "Liveness",
+ "tcpSocket": {
+ "port": 8080
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "tcpscalingrule",
+ "tcp": {
+ "metadata": {
+ "concurrentConnections": "50"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerAppManagedBy",
+ "name": "testcontainerAppManagedBy",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "managedBy": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppPlatform/Spring/springapp",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "latestRevisionFqdn": "testcontainerAppManagedBy-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerAppManagedBy-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerAppManagedBy.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "exposedPort": 4000,
+ "transport": "tcp",
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerAppManagedBy-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerAppManagedBy-ab4321"
+ }
+ ]
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppManagedBy:v4",
+ "name": "testcontainerAppManagedBy",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "tcpSocket": {
+ "port": 8080
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "tcpscalingrule",
+ "tcp": {
+ "metadata": {
+ "concurrentConnections": "50"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerAppManagedBy",
+ "name": "testcontainerAppManagedBy",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "managedBy": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppPlatform/Spring/springapp",
+ "properties": {
+ "provisioningState": "InProgress",
+ "runningStatus": "Progressing",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "latestRevisionFqdn": "testcontainerAppManagedBy-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerAppManagedBy.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "exposedPort": 4000,
+ "transport": "tcp",
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerAppManagedBy-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerAppManagedBy-ab4321"
+ }
+ ]
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppManagedBy:v4",
+ "name": "testcontainerAppManagedBy",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "tcpSocket": {
+ "port": 8080
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "tcpscalingrule",
+ "tcp": {
+ "metadata": {
+ "concurrentConnections": "50"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Patch.json
new file mode 100644
index 000000000000..f81661fc4369
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Patch.json
@@ -0,0 +1,293 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview",
+ "containerAppEnvelope": {
+ "location": "East US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "configuration": {
+ "ingress": {
+ "external": true,
+ "targetPort": 3000,
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my-other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 100,
+ "revisionName": "testcontainerApp0-ab1234",
+ "label": "production"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ }
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100,
+ "service": {
+ "type": "redis"
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v1",
+ "name": "testcontainerApp0",
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "custom": {
+ "type": "http",
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ },
+ "serviceBinds": [
+ {
+ "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/service",
+ "name": "service",
+ "clientType": "dotnet",
+ "customizedKeys": {
+ "DesiredKey": "defaultKey"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my--other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/containerappOperationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_SourceToCloudApp_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_SourceToCloudApp_CreateOrUpdate.json
new file mode 100644
index 000000000000..7879d34551fc
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_SourceToCloudApp_CreateOrUpdate.json
@@ -0,0 +1,495 @@
+{
+ "operationId": "ContainerApps_CreateOrUpdate",
+ "title": "ContainerApps_SourceToCloudApp_CreateOrUpdate",
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview",
+ "containerAppEnvelope": {
+ "location": "East US",
+ "properties": {
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "configuration": {
+ "ingress": {
+ "external": true,
+ "targetPort": 3000,
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my-other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 100,
+ "revisionName": "testcontainerApp0-ab1234",
+ "label": "production"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ },
+ "clientCertificateMode": "accept",
+ "corsPolicy": {
+ "allowedOrigins": [
+ "https://a.test.com",
+ "https://b.test.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "POST"
+ ],
+ "allowedHeaders": [
+ "HEADER1",
+ "HEADER2"
+ ],
+ "exposeHeaders": [
+ "HEADER3",
+ "HEADER4"
+ ],
+ "maxAge": 1234,
+ "allowCredentials": true
+ },
+ "additionalPortMappings": [
+ {
+ "external": true,
+ "targetPort": 1234
+ },
+ {
+ "external": false,
+ "targetPort": 2345,
+ "exposedPort": 3456
+ }
+ ]
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100,
+ "service": {
+ "type": "redis"
+ }
+ },
+ "patchingConfiguration": {
+ "patchingMode": "Automatic"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "",
+ "imageType": "CloudBuild",
+ "name": "testcontainerApp0",
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ],
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "custom": {
+ "type": "http",
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ },
+ "serviceBinds": [
+ {
+ "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/redisService",
+ "name": "redisService",
+ "clientType": "dotnet",
+ "customizedKeys": {
+ "DesiredKey": "defaultKey"
+ }
+ }
+ ],
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my-other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "stickySessions": {
+ "affinity": "sticky"
+ },
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ }
+ },
+ "patchingConfiguration": {
+ "patchingMode": "Automatic"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "mcr.microsoft.com/k8se/cloudbuild-waiting-upload:latest",
+ "imageType": "CloudBuild",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ],
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ },
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "InProgress",
+ "runningStatus": "Progressing",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ }
+ },
+ "patchingConfiguration": {
+ "patchingMode": "Automatic"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "mcr.microsoft.com/k8se/cloudbuild-waiting-upload:latest",
+ "imageType": "CloudBuild",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ],
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ },
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Start.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Start.json
new file mode 100644
index 000000000000..717f867bd302
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Start.json
@@ -0,0 +1,147 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testWorkerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my--other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/containerApps/testWorkerApp0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Stop.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Stop.json
new file mode 100644
index 000000000000..c3080307e21e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_Stop.json
@@ -0,0 +1,145 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testWorkerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "workloadProfileName": "My-GP-01",
+ "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerApp0-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "transport": "auto",
+ "customDomains": [
+ {
+ "name": "www.my-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
+ },
+ {
+ "name": "www.my--other-name.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
+ }
+ ],
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerApp0-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerApp0-ab4321",
+ "label": "staging"
+ }
+ ],
+ "ipSecurityRestrictions": [
+ {
+ "name": "Allow work IP A subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/32",
+ "action": "Allow"
+ },
+ {
+ "name": "Allow work IP B subnet",
+ "description": "Allowing all IP's within the subnet below to access containerapp",
+ "ipAddressRange": "192.168.1.1/8",
+ "action": "Allow"
+ }
+ ],
+ "targetPortHttpScheme": "http"
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "runtime": {
+ "java": {
+ "enableMetrics": true,
+ "javaAgent": {
+ "enabled": true,
+ "logging": {
+ "loggerSettings": [
+ {
+ "logger": "org.springframework.boot",
+ "level": "debug"
+ }
+ ]
+ }
+ }
+ },
+ "dotnet": {
+ "autoConfigureDataProtection": true
+ }
+ },
+ "maxInactiveRevisions": 10,
+ "revisionTransitionThreshold": 100
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerApp0:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/containerApps/testWorkerApp0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_TcpApp_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_TcpApp_CreateOrUpdate.json
new file mode 100644
index 000000000000..9af9ad0480ac
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ContainerApps_TcpApp_CreateOrUpdate.json
@@ -0,0 +1,209 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerAppTcp",
+ "api-version": "2024-10-02-preview",
+ "containerAppEnvelope": {
+ "location": "East US",
+ "properties": {
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "ingress": {
+ "external": true,
+ "targetPort": 3000,
+ "exposedPort": 4000,
+ "transport": "tcp",
+ "traffic": [
+ {
+ "weight": 100,
+ "revisionName": "testcontainerAppTcp-ab1234"
+ }
+ ]
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppTcp:v1",
+ "name": "testcontainerAppTcp",
+ "probes": [
+ {
+ "type": "Liveness",
+ "tcpSocket": {
+ "port": 8080
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "tcpscalingrule",
+ "tcp": {
+ "metadata": {
+ "concurrentConnections": "50"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerAppTcp",
+ "name": "testcontainerAppTcp",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningStatus": "Running",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "latestRevisionFqdn": "testcontainerAppTcp-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "latestReadyRevisionName": "testcontainerAppTcp-pjxhsye",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerAppTcp.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "exposedPort": 4000,
+ "transport": "tcp",
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerAppTcp-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerAppTcp-ab4321"
+ }
+ ]
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppTcp:v4",
+ "name": "testcontainerAppTcp",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "tcpSocket": {
+ "port": 8080
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "tcpscalingrule",
+ "tcp": {
+ "metadata": {
+ "concurrentConnections": "50"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerAppTcp",
+ "name": "testcontainerAppTcp",
+ "type": "Microsoft.App/containerApps",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "InProgress",
+ "runningStatus": "Progressing",
+ "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "latestRevisionFqdn": "testcontainerAppTcp-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "configuration": {
+ "ingress": {
+ "fqdn": "testcontainerAppTcp.demokube-t24clv0g.eastus.containerApps.k4apps.io",
+ "external": true,
+ "targetPort": 3000,
+ "exposedPort": 4000,
+ "transport": "tcp",
+ "traffic": [
+ {
+ "weight": 80,
+ "revisionName": "testcontainerAppTcp-ab1234"
+ },
+ {
+ "weight": 20,
+ "revisionName": "testcontainerAppTcp-ab4321"
+ }
+ ]
+ }
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppTcp:v4",
+ "name": "testcontainerAppTcp",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "tcpSocket": {
+ "port": 8080
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "cooldownPeriod": 350,
+ "pollingInterval": 35,
+ "rules": [
+ {
+ "name": "tcpscalingrule",
+ "tcp": {
+ "metadata": {
+ "concurrentConnections": "50"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicies_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicies_Delete.json
new file mode 100644
index 000000000000..b53e143220f1
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicies_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "name": "myresiliencypolicy",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicies_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicies_Get.json
new file mode 100644
index 000000000000..6b57ae7d1c14
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicies_Get.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "name": "myresiliencypolicy",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy",
+ "name": "myresiliencypolicy",
+ "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies",
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 15,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "timeoutInSeconds": 10
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20,
+ "intervalInSeconds": 60
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicies_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicies_List.json
new file mode 100644
index 000000000000..ca0dbd549c3d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicies_List.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy",
+ "name": "something",
+ "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies",
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 15,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "timeoutInSeconds": 10
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20,
+ "intervalInSeconds": 60
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json
new file mode 100644
index 000000000000..bf5c06599b34
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "name": "myresiliencypolicy",
+ "api-version": "2024-10-02-preview",
+ "daprComponentResiliencyPolicyEnvelope": {
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 15,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "timeoutInSeconds": 10,
+ "intervalInSeconds": 4
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20,
+ "intervalInSeconds": 60
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy",
+ "name": "myresiliencypolicy",
+ "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies",
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 15,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "timeoutInSeconds": 10,
+ "intervalInSeconds": 4
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20,
+ "intervalInSeconds": 60
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy",
+ "name": "myresiliencypolicy",
+ "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies",
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 15,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 5,
+ "timeoutInSeconds": 10,
+ "intervalInSeconds": 4
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20,
+ "intervalInSeconds": 60
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json
new file mode 100644
index 000000000000..8773e4eabe80
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "name": "myresiliencypolicy",
+ "api-version": "2024-10-02-preview",
+ "daprComponentResiliencyPolicyEnvelope": {
+ "properties": {
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20,
+ "intervalInSeconds": 60
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy",
+ "name": "myresiliencypolicy",
+ "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies",
+ "properties": {
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20,
+ "intervalInSeconds": 60
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy",
+ "name": "myresiliencypolicy",
+ "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies",
+ "properties": {
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20,
+ "intervalInSeconds": 60
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json
new file mode 100644
index 000000000000..7ccc230729c1
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "name": "myresiliencypolicy",
+ "api-version": "2024-10-02-preview",
+ "daprComponentResiliencyPolicyEnvelope": {
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20
+ }
+ },
+ "outboundPolicy": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy",
+ "name": "myresiliencypolicy",
+ "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies",
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20
+ }
+ },
+ "outboundPolicy": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy",
+ "name": "myresiliencypolicy",
+ "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies",
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "circuitBreakerPolicy": {
+ "consecutiveErrors": 3,
+ "timeoutInSeconds": 20
+ }
+ },
+ "outboundPolicy": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json
new file mode 100644
index 000000000000..c07bf3b82b08
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview",
+ "daprComponentEnvelope": {
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secretStoreComponent": "my-secret-store",
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/managedEnvironments/daprcomponents",
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secretStoreComponent": "my-secret-store",
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_CreateOrUpdate_Secrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_CreateOrUpdate_Secrets.json
new file mode 100644
index 000000000000..bcdb04e76163
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_CreateOrUpdate_Secrets.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview",
+ "daprComponentEnvelope": {
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secrets": [
+ {
+ "name": "masterkey",
+ "value": "keyvalue"
+ }
+ ],
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/managedEnvironments/daprcomponents",
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secrets": [
+ {
+ "name": "masterkey"
+ }
+ ],
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_Delete.json
new file mode 100644
index 000000000000..f879e4ea0f5e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_Get_SecretStoreComponent.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_Get_SecretStoreComponent.json
new file mode 100644
index 000000000000..973d50c8870e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_Get_SecretStoreComponent.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/managedEnvironments/daprcomponents",
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secretStoreComponent": "my-secret-store",
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_Get_Secrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_Get_Secrets.json
new file mode 100644
index 000000000000..ed409a910188
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_Get_Secrets.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/managedEnvironments/daprcomponents",
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secrets": [
+ {
+ "name": "masterkey"
+ }
+ ],
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_List.json
new file mode 100644
index 000000000000..7c1d8de83a7c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_List.json
@@ -0,0 +1,152 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprcomponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/managedEnvironments/daprcomponents",
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secrets": [
+ {
+ "name": "masterkey"
+ }
+ ],
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprcomponents/vaultdog",
+ "name": "vaultdog",
+ "type": "Microsoft.App/managedEnvironments/daprcomponents",
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secretStoreComponent": "my-secret-store",
+ "metadata": [
+ {
+ "name": "url",
+ "value": ""
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprcomponents/vaultdog",
+ "name": "vaultdog",
+ "type": "Microsoft.App/managedEnvironments/daprcomponents",
+ "properties": {
+ "componentType": "state.azure.cosmosdb",
+ "version": "v1",
+ "ignoreErrors": false,
+ "initTimeout": "50s",
+ "secretStoreComponent": "my-secret-store",
+ "metadata": [
+ {
+ "name": "url",
+ "secretRef": "cosmosdb/url"
+ },
+ {
+ "name": "database",
+ "value": "itemsDB"
+ },
+ {
+ "name": "collection",
+ "value": "items"
+ },
+ {
+ "name": "masterkey",
+ "secretRef": "cosmosdb/masterkey"
+ }
+ ],
+ "scopes": [
+ "container-app-1",
+ "container-app-2"
+ ],
+ "serviceComponentBind": [
+ {
+ "name": "statestore",
+ "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis",
+ "metadata": {
+ "name": "daprcomponentBind",
+ "value": "redis-bind"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_ListSecrets.json
new file mode 100644
index 000000000000..d2b0e0679377
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprComponents_ListSecrets.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "secret1"
+ },
+ {
+ "name": "secret2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json
new file mode 100644
index 000000000000..34c7c9cbca5d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mysubscription",
+ "api-version": "2024-10-02-preview",
+ "daprSubscriptionEnvelope": {
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "default": "/products"
+ },
+ "scopes": [
+ "warehouseapp",
+ "customersupportapp"
+ ],
+ "bulkSubscribe": {
+ "enabled": true,
+ "maxMessagesCount": 123,
+ "maxAwaitDurationMs": 500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription",
+ "name": "mysubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [],
+ "default": "/products"
+ },
+ "scopes": [
+ "warehouseapp",
+ "customersupportapp"
+ ],
+ "bulkSubscribe": {
+ "enabled": true,
+ "maxMessagesCount": 123,
+ "maxAwaitDurationMs": 500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription",
+ "name": "mysubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [],
+ "default": "/products"
+ },
+ "scopes": [
+ "warehouseapp",
+ "customersupportapp"
+ ],
+ "bulkSubscribe": {
+ "enabled": true,
+ "maxMessagesCount": 123,
+ "maxAwaitDurationMs": 500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json
new file mode 100644
index 000000000000..daabf6591a4c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mysubscription",
+ "api-version": "2024-10-02-preview",
+ "daprSubscriptionEnvelope": {
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "default": "/products"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription",
+ "name": "mysubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [],
+ "default": "/products"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription",
+ "name": "mysubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [],
+ "default": "/products"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json
new file mode 100644
index 000000000000..0417a27fdc9e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mysubscription",
+ "api-version": "2024-10-02-preview",
+ "daprSubscriptionEnvelope": {
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "metadata": {
+ "foo": "bar",
+ "hello": "world"
+ },
+ "routes": {
+ "rules": [
+ {
+ "match": "event.type == 'widget'",
+ "path": "/widgets"
+ },
+ {
+ "match": "event.type == 'gadget'",
+ "path": "/gadgets"
+ }
+ ],
+ "default": "/products"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription",
+ "name": "mysubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [
+ {
+ "match": "event.type == 'widget'",
+ "path": "/widgets"
+ },
+ {
+ "match": "event.type == 'gadget'",
+ "path": "/gadgets"
+ }
+ ],
+ "default": "/products"
+ },
+ "metadata": {
+ "foo": "bar",
+ "hello": "world"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription",
+ "name": "mysubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [
+ {
+ "match": "event.type == 'widget'",
+ "path": "/widgets"
+ },
+ {
+ "match": "event.type == 'gadget'",
+ "path": "/gadgets"
+ }
+ ],
+ "default": "/products"
+ },
+ "metadata": {
+ "foo": "bar",
+ "hello": "world"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Delete.json
new file mode 100644
index 000000000000..c5929a39e3a6
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mysubscription",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json
new file mode 100644
index 000000000000..b89a202d1281
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mypubsubcomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription",
+ "name": "mysubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [],
+ "default": "/products"
+ },
+ "scopes": [
+ "warehouseapp",
+ "customersupportapp"
+ ],
+ "bulkSubscribe": {
+ "enabled": true,
+ "maxMessagesCount": 123,
+ "maxAwaitDurationMs": 500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Get_DefaultRoute.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Get_DefaultRoute.json
new file mode 100644
index 000000000000..4ab90c1dd458
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Get_DefaultRoute.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mypubsubcomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription",
+ "name": "mysubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [],
+ "default": "/products"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json
new file mode 100644
index 000000000000..940c8b3b5ae6
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mypubsubcomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription",
+ "name": "mysubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [
+ {
+ "match": "event.type == 'widget'",
+ "path": "/widgets"
+ },
+ {
+ "match": "event.type == 'gadget'",
+ "path": "/gadgets"
+ }
+ ],
+ "default": "/products"
+ },
+ "metadata": {
+ "foo": "bar",
+ "hello": "world"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_List.json
new file mode 100644
index 000000000000..a385f17f4526
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DaprSubscriptions_List.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mybulksubscription",
+ "name": "mybulksubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [],
+ "default": "/products"
+ },
+ "bulkSubscribe": {
+ "enabled": true,
+ "maxMessagesCount": 123,
+ "maxAwaitDurationMs": 500
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mydefaultsubscription",
+ "name": "mydefaultsubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [],
+ "default": "/products"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/myroutingsubscription",
+ "name": "myroutingsubscription",
+ "type": "Microsoft.App/managedEnvironments/daprSubscriptions",
+ "properties": {
+ "pubsubName": "mypubsubcomponent",
+ "topic": "inventory",
+ "routes": {
+ "rules": [
+ {
+ "match": "event.type == 'widget'",
+ "path": "/widgets"
+ },
+ {
+ "match": "event.type == 'gadget'",
+ "path": "/gadgets"
+ }
+ ],
+ "default": "/products"
+ },
+ "metadata": {
+ "foo": "bar",
+ "hello": "world"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_CreateOrUpdate.json
new file mode 100644
index 000000000000..2cb938ee274d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_CreateOrUpdate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mydotnetcomponent",
+ "api-version": "2024-10-02-preview",
+ "dotNetComponentEnvelope": {
+ "properties": {
+ "componentType": "AspireDashboard",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent",
+ "name": "mydotnetcomponent",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent",
+ "name": "mydotnetcomponent",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "InProgress",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_CreateOrUpdate_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_CreateOrUpdate_ServiceBind.json
new file mode 100644
index 000000000000..1d11a0aa525d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_CreateOrUpdate_ServiceBind.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mydotnetcomponent",
+ "api-version": "2024-10-02-preview",
+ "dotNetComponentEnvelope": {
+ "properties": {
+ "componentType": "AspireDashboard",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ],
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent",
+ "name": "mydotnetcomponent",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ],
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent",
+ "name": "mydotnetcomponent",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "InProgress",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ],
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Delete.json
new file mode 100644
index 000000000000..ae47718ffd7e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mydotnetcomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-10-02-preview"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Get.json
new file mode 100644
index 000000000000..5fb391230f2b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mydotnetcomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent",
+ "name": "mydotnetcomponent",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Get_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Get_ServiceBind.json
new file mode 100644
index 000000000000..02e01e241e5e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Get_ServiceBind.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mydotnetcomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent",
+ "name": "mydotnetcomponent",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ],
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_List.json
new file mode 100644
index 000000000000..7ee7afe2ccb7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_List.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/blueshark",
+ "name": "blueshark",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat",
+ "name": "yellowcat",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "MyOtherDotNetComponentType",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "timeout-value",
+ "value": "10000ms"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_List_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_List_ServiceBind.json
new file mode 100644
index 000000000000..f331ef8511d7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_List_ServiceBind.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/blueshark",
+ "name": "blueshark",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ],
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat",
+ "name": "yellowcat",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "MyOtherDotNetComponentType",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "timeout-value",
+ "value": "10000ms"
+ }
+ ],
+ "serviceBinds": [
+ {
+ "name": "blueshark",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/blueshark"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Patch.json
new file mode 100644
index 000000000000..20e76c8889d9
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Patch.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mydotnetcomponent",
+ "api-version": "2024-10-02-preview",
+ "dotNetComponentEnvelope": {
+ "properties": {
+ "componentType": "AspireDashboard",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent",
+ "name": "mydotnetcomponent",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Patch_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Patch_ServiceBind.json
new file mode 100644
index 000000000000..9d49f11bfa83
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/DotNetComponents_Patch_ServiceBind.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mydotnetcomponent",
+ "api-version": "2024-10-02-preview",
+ "dotNetComponentEnvelope": {
+ "properties": {
+ "componentType": "AspireDashboard",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ],
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent",
+ "name": "mydotnetcomponent",
+ "type": "Microsoft.App/managedEnvironments/dotNetComponents",
+ "properties": {
+ "componentType": "AspireDashboard",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "dashboard-theme",
+ "value": "dark"
+ }
+ ],
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/FunctionsExtension_Post.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/FunctionsExtension_Post.json
new file mode 100644
index 000000000000..3800621abb2a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/FunctionsExtension_Post.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "revisionName": "testcontainerApp0-pjxhsye",
+ "functionAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": "{\"status\":\"success\"}"
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_CreateOrUpdate.json
new file mode 100644
index 000000000000..7f94d84b1376
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_CreateOrUpdate.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "httpRouteName": "httproutefriendlyname",
+ "api-version": "2024-10-02-preview",
+ "httpRouteConfigEnvelope": {
+ "properties": {
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "revision": "rev-1",
+ "weight": 100
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "path": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-1",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app1.example.com",
+ "provisioningState": "InProgress",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "revision": "rev-1",
+ "weight": 100
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "path": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-1",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app1.example.com",
+ "provisioningState": "Succeeded",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "revision": "rev-1",
+ "weight": 100
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "path": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_CreateOrUpdatePrefix.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_CreateOrUpdatePrefix.json
new file mode 100644
index 000000000000..79bdb988c998
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_CreateOrUpdatePrefix.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "httpRouteName": "httproutefriendlyname",
+ "api-version": "2024-10-02-preview",
+ "httpRouteConfigEnvelope": {
+ "properties": {
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "Disabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "label": "label-1"
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "prefix": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-1",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app1.example.com",
+ "provisioningState": "InProgress",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "Disabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "label": "label-1"
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "prefix": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-1",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app1.example.com",
+ "provisioningState": "Succeeded",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "Disabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "label": "label-1"
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "prefix": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_CreateOrUpdate_PathSepPrefix.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_CreateOrUpdate_PathSepPrefix.json
new file mode 100644
index 000000000000..cfad854c0642
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_CreateOrUpdate_PathSepPrefix.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "httpRouteName": "httproutefriendlyname",
+ "api-version": "2024-10-02-preview",
+ "httpRouteConfigEnvelope": {
+ "properties": {
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "Disabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "label": "label-1"
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "pathSeparatedPrefix": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-1",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app1.example.com",
+ "provisioningState": "InProgress",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "Disabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "label": "label-1"
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "pathSeparatedPrefix": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-1",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app1.example.com",
+ "provisioningState": "Succeeded",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "Disabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "label": "label-1"
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "pathSeparatedPrefix": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_Delete.json
new file mode 100644
index 000000000000..a20f7662ccbd
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "httpRouteName": "httproutefriendlyname",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_Get.json
new file mode 100644
index 000000000000..d7378825d59a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_Get.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "httpRouteName": "httproutefriendlyname",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-1",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app1.example.com",
+ "provisioningState": "Succeeded",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "revision": "rev-1",
+ "weight": 100
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "prefix": "/api",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_ListByManagedEnvironment.json
new file mode 100644
index 000000000000..630848235a7e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_ListByManagedEnvironment.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-1",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app1.example.com",
+ "provisioningState": "Succeeded",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "containerApp1"
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "prefix": "/api",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-2",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app2.example.com",
+ "provisioningState": "Succeeded",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-2"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "containerApp2",
+ "revision": "rev-2",
+ "weight": 50
+ },
+ {
+ "containerApp": "containerApp2",
+ "revision": "rev-3",
+ "weight": 50
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "prefix": "/api",
+ "caseSensitive": false
+ },
+ "action": {
+ "prefixRewrite": "/v2/api"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_Patch.json
new file mode 100644
index 000000000000..36eea9f99a51
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/HttpRouteConfig_Patch.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "httpRouteName": "httproutefriendlyname",
+ "api-version": "2024-10-02-preview",
+ "httpRouteConfigEnvelope": {
+ "properties": {
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "revision": "rev-1",
+ "weight": 100
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "path": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRouteConfigs/route-1",
+ "type": "Microsoft.App/managedEnvironments/httpRouteConfigs",
+ "properties": {
+ "fqdn": "app1.example.com",
+ "provisioningState": "InProgress",
+ "customDomains": [
+ {
+ "name": "example.com",
+ "bindingType": "SniEnabled",
+ "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"
+ }
+ ],
+ "rules": [
+ {
+ "targets": [
+ {
+ "containerApp": "capp-1",
+ "revision": "rev-1",
+ "weight": 100
+ }
+ ],
+ "routes": [
+ {
+ "match": {
+ "path": "/v1",
+ "caseSensitive": true
+ },
+ "action": {
+ "prefixRewrite": "/v1/api"
+ }
+ }
+ ],
+ "description": "random-description"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_CreateOrUpdate.json
new file mode 100644
index 000000000000..440882857179
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_CreateOrUpdate.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "myjavacomponent",
+ "api-version": "2024-10-02-preview",
+ "javaComponentEnvelope": {
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent",
+ "name": "myjavacomponent",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "ingress": {
+ "fqdn": "myjavacomponent.myenvironment.test.net"
+ }
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent",
+ "name": "myjavacomponent",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "InProgress",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "ingress": {
+ "fqdn": "myjavacomponent.myenvironment.test.net"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_CreateOrUpdate_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_CreateOrUpdate_ServiceBind.json
new file mode 100644
index 000000000000..cce1d67e98bc
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_CreateOrUpdate_ServiceBind.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "myjavacomponent",
+ "api-version": "2024-10-02-preview",
+ "javaComponentEnvelope": {
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent",
+ "name": "myjavacomponent",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent",
+ "name": "myjavacomponent",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "InProgress",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Delete.json
new file mode 100644
index 000000000000..c8b669c9bd13
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "myjavacomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-10-02-preview"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Get.json
new file mode 100644
index 000000000000..d646d9efe790
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Get.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "myjavacomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent",
+ "name": "myjavacomponent",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "ingress": {
+ "fqdn": "myjavacomponent.myenvironment.test.net"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Get_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Get_ServiceBind.json
new file mode 100644
index 000000000000..3f3914dc4f2b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Get_ServiceBind.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "myjavacomponent",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent",
+ "name": "myjavacomponent",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_List.json
new file mode 100644
index 000000000000..134cdae545cc
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_List.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/blueshark",
+ "name": "blueshark",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "ingress": {
+ "fqdn": "myjavacomponent.myenvironment.test.net"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat",
+ "name": "yellowcat",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringCloudEureka",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.cloud.config.server.git.uri",
+ "value": ""
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "ingress": {
+ "fqdn": "myjavacomponent.myenvironment.test.net"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/reddog",
+ "name": "reddog",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringCloudGateway",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.cloud.gateway.enabled",
+ "value": "true"
+ }
+ ],
+ "springCloudGatewayRoutes": [
+ {
+ "id": "route1",
+ "uri": "https://otherjavacomponent.myenvironment.test.net",
+ "predicates": [
+ "Path=/v1/{path}",
+ "After=2024-01-20T17:42:47.789-07:00[America/Denver]"
+ ],
+ "filters": [
+ "SetPath=/{path}"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "ingress": {
+ "fqdn": "myjavacomponent.myenvironment.test.net"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_List_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_List_ServiceBind.json
new file mode 100644
index 000000000000..d942418ddaea
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_List_ServiceBind.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/blueshark",
+ "name": "blueshark",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat",
+ "name": "yellowcat",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringCloudEureka",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.cloud.config.server.git.uri",
+ "value": ""
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "serviceBinds": [
+ {
+ "name": "blueshark",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/blueshark"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Patch.json
new file mode 100644
index 000000000000..50043f380fc2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Patch.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "myjavacomponent",
+ "api-version": "2024-10-02-preview",
+ "javaComponentEnvelope": {
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent",
+ "name": "myjavacomponent",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "ingress": {
+ "fqdn": "myjavacomponent.myenvironment.test.net"
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Patch_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Patch_ServiceBind.json
new file mode 100644
index 000000000000..bf61a8fb6480
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/JavaComponents_Patch_ServiceBind.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "myjavacomponent",
+ "api-version": "2024-10-02-preview",
+ "javaComponentEnvelope": {
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent",
+ "name": "myjavacomponent",
+ "type": "Microsoft.App/managedEnvironments/javaComponents",
+ "properties": {
+ "componentType": "SpringBootAdmin",
+ "provisioningState": "Succeeded",
+ "configurations": [
+ {
+ "propertyName": "spring.boot.admin.ui.enable-toasts",
+ "value": "true"
+ },
+ {
+ "propertyName": "spring.boot.admin.monitor.status-interval",
+ "value": "10000ms"
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 1
+ },
+ "serviceBinds": [
+ {
+ "name": "yellowcat",
+ "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat"
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_CreateorUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_CreateorUpdate.json
new file mode 100644
index 000000000000..d45f98cc0a4f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_CreateorUpdate.json
@@ -0,0 +1,328 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2024-10-02-preview",
+ "JobEnvelope": {
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {}
+ }
+ },
+ "properties": {
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual",
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v1",
+ "name": "testcontainerAppsJob0",
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 5,
+ "periodSeconds": 3
+ }
+ ],
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi",
+ "gpu": 1.0
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319",
+ "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {
+ "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312",
+ "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual",
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi",
+ "gpu": 1.0
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ],
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi",
+ "gpu": 1.0
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Location": "location"
+ },
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319",
+ "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {
+ "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312",
+ "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual",
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ],
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_CreateorUpdate_ConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_CreateorUpdate_ConnectedEnvironment.json
new file mode 100644
index 000000000000..abd1b7d876e7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_CreateorUpdate_ConnectedEnvironment.json
@@ -0,0 +1,219 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2024-10-02-preview",
+ "JobEnvelope": {
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v1",
+ "name": "testcontainerAppsJob0",
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 5,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Location": "location"
+ },
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "extendedLocation": {
+ "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_CreateorUpdate_EventTrigger.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_CreateorUpdate_EventTrigger.json
new file mode 100644
index 000000000000..454faab4b7a7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_CreateorUpdate_EventTrigger.json
@@ -0,0 +1,226 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2024-10-02-preview",
+ "JobEnvelope": {
+ "location": "East US",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {}
+ }
+ },
+ "properties": {
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "eventTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4,
+ "scale": {
+ "pollingInterval": 40,
+ "minExecutions": 1,
+ "maxExecutions": 5,
+ "rules": [
+ {
+ "name": "servicebuscalingrule",
+ "type": "azure-servicebus",
+ "metadata": {
+ "topicName": "my-topic"
+ },
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity"
+ }
+ ]
+ }
+ },
+ "triggerType": "Event"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v1",
+ "name": "testcontainerAppsJob0"
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {
+ "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312",
+ "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "eventTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4,
+ "scale": {
+ "pollingInterval": 20,
+ "minExecutions": 1,
+ "maxExecutions": 5,
+ "rules": [
+ {
+ "name": "servicebuscalingrule",
+ "type": "azure-servicebus",
+ "metadata": {
+ "topicName": "my-topic"
+ },
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity"
+ }
+ ]
+ }
+ },
+ "triggerType": "Event"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Location": "location"
+ },
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {
+ "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312",
+ "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "eventTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4,
+ "scale": {
+ "minExecutions": 1,
+ "maxExecutions": 5,
+ "pollingInterval": 20,
+ "rules": [
+ {
+ "name": "servicebuscalingrule",
+ "type": "azure-servicebus",
+ "metadata": {
+ "queueName": "my-queue",
+ "messageCount": "50"
+ },
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity"
+ }
+ ]
+ }
+ },
+ "triggerType": "Event"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Delete.json
new file mode 100644
index 000000000000..624434f096fd
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testWorkerContainerAppsJob0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/jobs/testWorkerContainerAppsJob0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Execution_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Execution_Get.json
new file mode 100644
index 000000000000..9d014476803f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Execution_Get.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "jobExecutionName": "jobExecution1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "jobExecution1",
+ "properties": {
+ "status": "Running",
+ "startTime": "2023-02-13T20:37:30+00:00",
+ "endTime": "2023-02-13T20:47:30+00:00",
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerappsjob0:v4",
+ "name": "testcontainerappsjob0",
+ "resources": {
+ "cpu": 0.5,
+ "memory": "1Gi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerappsjob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.5,
+ "memory": "1Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Executions_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Executions_Get.json
new file mode 100644
index 000000000000..c50bf35942cf
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Executions_Get.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "testcontainerAppJob-27944454",
+ "properties": {
+ "status": "Running",
+ "startTime": "2023-02-13T20:37:30+00:00",
+ "endTime": "2023-02-13T20:47:30+00:00",
+ "detailedStatus": {
+ "replicas": [
+ {
+ "name": "testcontainerappsjob0-0",
+ "containers": [
+ {
+ "name": "container1",
+ "code": 0,
+ "additionalInformation": "Completed",
+ "status": "Succeeded"
+ },
+ {
+ "name": "container2",
+ "code": 0,
+ "additionalInformation": "Completed",
+ "status": "Succeeded"
+ }
+ ]
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerappsjob0:v4",
+ "name": "testcontainerappsjob0",
+ "resources": {
+ "cpu": 0.5,
+ "memory": "1Gi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerappsjob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.5,
+ "memory": "1Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Get.json
new file mode 100644
index 000000000000..d6d49201289c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Get.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319",
+ "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0",
+ "userAssignedIdentities": {
+ "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {
+ "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312",
+ "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual",
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_GetDetector.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_GetDetector.json
new file mode 100644
index 000000000000..4655a9beca69
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_GetDetector.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6",
+ "resourceGroupName": "mikono-workerapp-test-rg",
+ "jobName": "mikonojob1",
+ "detectorName": "containerappjobnetworkIO",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/jobs/mikonojob1/detectors/containerappjobnetworkIO",
+ "name": "containerappjobnetworkIO",
+ "type": "Microsoft.App/jobs/detectors",
+ "properties": {
+ "metadata": {
+ "id": "containerappjobnetworkIO",
+ "name": "Container App Job Network Inbound and Outbound",
+ "description": "This detector shows the Container App Job Network Inbound and Outbound.",
+ "author": "",
+ "category": "Availability and Performance",
+ "supportTopicList": [],
+ "type": "Detector",
+ "score": 0
+ },
+ "dataset": [
+ {
+ "table": {
+ "tableName": "",
+ "columns": [
+ {
+ "columnName": "TimeStamp",
+ "dataType": "DateTime"
+ },
+ {
+ "columnName": "Metric",
+ "dataType": "String"
+ },
+ {
+ "columnName": "Average",
+ "dataType": "Double"
+ }
+ ],
+ "rows": [
+ [
+ "2022-03-15T21:35:00",
+ "RxBytes",
+ 0
+ ]
+ ]
+ },
+ "renderingProperties": {
+ "type": 8,
+ "title": "Container App Job Network Inbound ",
+ "description": "",
+ "isVisible": true
+ }
+ }
+ ],
+ "status": {
+ "statusId": 3
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_ListDetectors.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_ListDetectors.json
new file mode 100644
index 000000000000..0233413d766d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_ListDetectors.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6",
+ "resourceGroupName": "mikono-workerapp-test-rg",
+ "jobName": "mikonojob1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/jobs/mikonojob1/detectors/cappjobContainerAppAvailabilityMetrics",
+ "name": "cappjobContainerAppAvailabilityMetrics",
+ "type": "Microsoft.App/containerapps/detectors",
+ "properties": {
+ "metadata": {
+ "id": "cappjobContainerAppAvailabilityMetrics",
+ "name": "Availability Metrics for Container App Jobs",
+ "author": "",
+ "category": "Availability and Performance",
+ "supportTopicList": [],
+ "type": "Analysis",
+ "score": 0
+ },
+ "dataset": [],
+ "status": {
+ "statusId": 4
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_ListSecrets.json
new file mode 100644
index 000000000000..0aa10f209de8
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_ListSecrets.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "secret1"
+ },
+ {
+ "name": "secret2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Patch.json
new file mode 100644
index 000000000000..a2b2afcfbe56
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Patch.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2024-10-02-preview",
+ "JobEnvelope": {
+ "properties": {
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v1",
+ "name": "testcontainerAppsJob0",
+ "probes": [
+ {
+ "type": "Liveness",
+ "httpGet": {
+ "path": "/health",
+ "port": 8080,
+ "httpHeaders": [
+ {
+ "name": "Custom-Header",
+ "value": "Awesome"
+ }
+ ]
+ },
+ "initialDelaySeconds": 3,
+ "periodSeconds": 3
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/containerappsjobOperationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview"
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_ProxyGet.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_ProxyGet.json
new file mode 100644
index 000000000000..dc79b76de3f1
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_ProxyGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "apiName": "rootApi",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0/detectorproperties/rootApi",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Start.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Start.json
new file mode 100644
index 000000000000..ab013009a4af
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Start.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ]
+ },
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "testcontainerAppsJob0-pjxhsye",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/{containerAppsJobName}/executions/{jobExecutionName}"
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "location"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Stop_Execution.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Stop_Execution.json
new file mode 100644
index 000000000000..ee23a6f41ccb
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Stop_Execution.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "jobExecutionName": "jobExecution1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "location"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Stop_Multiple.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Stop_Multiple.json
new file mode 100644
index 000000000000..d45a99642d5a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Job_Stop_Multiple.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "jobExecutionName": {
+ "value": [
+ {
+ "name": "jobExecution-27944453"
+ },
+ {
+ "name": "jobExecution-27944452"
+ },
+ {
+ "name": "jobExecution-27944451"
+ }
+ ]
+ },
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "jobExecution-27944453",
+ "properties": {
+ "status": "Running",
+ "startTime": "2023-02-13T20:37:30+00:00",
+ "endTime": "2023-02-13T20:47:30+00:00"
+ }
+ },
+ {
+ "name": "jobExecution-27944452",
+ "properties": {
+ "status": "Running",
+ "startTime": "2023-02-13T21:37:30+00:00",
+ "endTime": "2023-02-13T21:47:30+00:00"
+ }
+ },
+ {
+ "name": "jobExecution-27944453",
+ "properties": {
+ "status": "Running",
+ "startTime": "2023-02-13T22:37:30+00:00",
+ "endTime": "2023-02-13T22:47:30+00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "location"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_ListByResourceGroup.json
new file mode 100644
index 000000000000..c9e737d10f9a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_ListByResourceGroup.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob1",
+ "name": "testcontainerAppsJob1",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "scheduleTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "cronExpression": "* * * * 5",
+ "parallelism": 4
+ },
+ "triggerType": "Scheduled"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob1:v4",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testinitcontainerAppsJob1:v4",
+ "name": "testinitcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_ListBySubscription.json
new file mode 100644
index 000000000000..dd3ae73aac89
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_ListBySubscription.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob1",
+ "name": "testcontainerAppsJob1",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "scheduleTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "cronExpression": "* * * * 5",
+ "parallelism": 5
+ },
+ "triggerType": "Scheduled"
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob1:v4",
+ "name": "testcontainerAppsJob1",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob1:v4",
+ "name": "testinitcontainerAppsJob1",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_Resume.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_Resume.json
new file mode 100644
index 000000000000..922353b45baf
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_Resume.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningState": "Ready",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual",
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/jobs/testcontainerAppsJob0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview",
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/jobs/testcontainerAppsJob0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_Suspend.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_Suspend.json
new file mode 100644
index 000000000000..ecf2a3fea888
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Jobs_Suspend.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0",
+ "name": "testcontainerAppsJob0",
+ "type": "Microsoft.App/jobs",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runningState": "Suspended",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "configuration": {
+ "replicaTimeout": 10,
+ "replicaRetryLimit": 10,
+ "manualTriggerConfig": {
+ "replicaCompletionCount": 1,
+ "parallelism": 4
+ },
+ "triggerType": "Manual",
+ "identitySettings": [
+ {
+ "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity",
+ "lifecycle": "All"
+ },
+ {
+ "identity": "system",
+ "lifecycle": "Init"
+ }
+ ]
+ },
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ },
+ "volumeMounts": [
+ {
+ "volumeName": "azurefile",
+ "mountPath": "/mnt/path1",
+ "subPath": "subPath1"
+ },
+ {
+ "volumeName": "nfsazurefile",
+ "mountPath": "/mnt/path2",
+ "subPath": "subPath2"
+ }
+ ]
+ }
+ ],
+ "initContainers": [
+ {
+ "image": "repo/testcontainerAppsJob0:v4",
+ "name": "testinitcontainerAppsJob0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "volumes": [
+ {
+ "name": "azurefile",
+ "storageType": "AzureFile",
+ "storageName": "storage"
+ },
+ {
+ "name": "nfsazurefile",
+ "storageType": "NfsAzureFile",
+ "storageName": "nfsStorage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/jobs/testcontainerAppsJob0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview",
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/jobs/testcontainerAppsJob0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LabelHistory_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LabelHistory_Get.json
new file mode 100644
index 000000000000..a047f3f8beac
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LabelHistory_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testContainerApp",
+ "labelName": "dev",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testContainerApp/labelHistory/dev",
+ "name": "dev",
+ "type": "Microsoft.App/containerApps/labelHistory",
+ "properties": {
+ "records": [
+ {
+ "revision": "testContainerApp--2",
+ "start": "2024-10-15T05:49:47+00:00"
+ },
+ {
+ "revision": "testContainerApp--1",
+ "start": "2024-10-15T01:12:56+00:00",
+ "stop": "2024-10-15T05:45:08+00:00"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LabelHistory_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LabelHistory_List.json
new file mode 100644
index 000000000000..70656edb0bcf
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LabelHistory_List.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testContainerApp",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testContainerApp/labelHistory/dev",
+ "name": "dev",
+ "type": "Microsoft.App/containerApps/labelHistory",
+ "properties": {
+ "records": [
+ {
+ "revision": "testContainerApp--2",
+ "start": "2024-10-15T05:49:47+00:00"
+ },
+ {
+ "revision": "testContainerApp--1",
+ "start": "2024-10-15T01:12:56+00:00",
+ "stop": "2024-10-15T05:45:08+00:00"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testContainerApp/labelHistory/prod",
+ "name": "prod",
+ "type": "Microsoft.App/containerApps/labelHistory",
+ "properties": {
+ "records": [
+ {
+ "revision": "testContainerApp--1",
+ "start": "2024-10-15T05:45:08+00:00",
+ "stop": "2024-10-15T05:49:47+00:00"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_Create.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_Create.json
new file mode 100644
index 000000000000..e7c3bdf7cd7e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_Create.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "containerAppName": "testcontainerApp0",
+ "logicAppName": "testcontainerApp0",
+ "resource": {
+ "properties": {}
+ },
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/logicApps",
+ "properties": {}
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/logicApps",
+ "properties": {}
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_Delete.json
new file mode 100644
index 000000000000..21d03d044a92
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "containerAppName": "testcontainerApp0",
+ "logicAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_DeleteDeployWorkflowArtifacts.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_DeleteDeployWorkflowArtifacts.json
new file mode 100644
index 000000000000..0a9443ceb969
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_DeleteDeployWorkflowArtifacts.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "containerAppName": "testapp2",
+ "logicAppName": "testapp2",
+ "api-version": "2024-10-02-preview",
+ "workflowArtifacts": {
+ "filesToDelete": [
+ "test/workflow.json",
+ "test/"
+ ]
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_Get.json
new file mode 100644
index 000000000000..3c88a0b050e7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_Get.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "containerAppName": "testcontainerApp0",
+ "logicAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0",
+ "name": "testcontainerApp0",
+ "type": "Microsoft.App/logicApps",
+ "properties": {}
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_GetWorkflow.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_GetWorkflow.json
new file mode 100644
index 000000000000..148c3da6975c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_GetWorkflow.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "containerAppName": "testcontainerApp0",
+ "logicAppName": "testcontainerApp0",
+ "workflowName": "stateful1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0/workflows/stateful1",
+ "name": "testcontainerApp0/stateful1",
+ "type": "Microsoft.App/logicApps/workflows",
+ "kind": "Stateful",
+ "location": "East US",
+ "properties": {
+ "files": {
+ "workflow.json": {
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "actions": {},
+ "contentVersion": "1.0.0.0",
+ "outputs": {},
+ "parameters": {},
+ "triggers": {}
+ }
+ },
+ "connections.json": {
+ "managedApiConnections": {
+ "office365": {
+ "api": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/brazilsouth/managedApis/office365"
+ },
+ "connection": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/connections/office365-1"
+ },
+ "connectionRuntimeUrl": "string",
+ "authentication": {
+ "type": "Raw",
+ "scheme": "Key",
+ "parameter": "@appsetting('office365-connectionKey')"
+ }
+ }
+ }
+ }
+ },
+ "flowState": "Enabled",
+ "health": {
+ "state": "Healthy"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_ListCallbackURL.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_ListCallbackURL.json
new file mode 100644
index 000000000000..c0294944a90e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_ListCallbackURL.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "containerAppName": "testapp2",
+ "logicAppName": "testapp2",
+ "api-version": "2024-10-02-preview",
+ "x-ms-logicapps-proxy-path": "/runtime/webhooks/workflow/api/management/workflows/Stateful1/triggers/When_a_HTTP_request_is_received/listCallbackUrl",
+ "x-ms-logicapps-proxy-method": "POST"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://testapp2.livelyriver-730e4fd9.eastasia.azurecontainerapps.io:443/api/test/triggers/When_a_HTTP_request_is_received/invoke?api-version=2022-05-01&sp=%2Ftriggers%2FWhen_a_HTTP_request_is_received%2Frun&sv=1.0&sig= ",
+ "method": "POST",
+ "basePath": "https://testapp2.livelyriver-730e4fd9.eastasia.azurecontainerapps.io /api/test/triggers/When_a_HTTP_request_is_received/invoke",
+ "queries": {
+ "api-version": "2022-05-01",
+ "sp": "/triggers/When_a_HTTP_request_is_received/run",
+ "sv": "1.0",
+ "sig": "IxEQ_ygZf6WNEQCbjV0Vs6p6Y4DyNEJVAa86U5B4xhk"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_ListConnections.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_ListConnections.json
new file mode 100644
index 000000000000..76d078dfd533
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_ListConnections.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "containerAppName": "testapp2",
+ "logicAppName": "testapp2",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testapp2/providers/Microsoft.App/logicApps/testapp2/workflowconfigurations/connections",
+ "name": "testapp2/connections",
+ "type": "Microsoft.App/logicApps/workflowsconfiguration",
+ "location": "East US",
+ "properties": {
+ "files": {
+ "connections.json": {
+ "managedApiConnections": {
+ "office365": {
+ "api": {
+ "id": "string"
+ },
+ "connection": {
+ "id": "string"
+ },
+ "connectionRuntimeUrl": "string",
+ "authentication": {
+ "type": "Raw",
+ "scheme": "Key",
+ "parameter": "@appsetting('office365-connectionKey')"
+ }
+ }
+ }
+ }
+ },
+ "health": {
+ "state": "Healthy"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_ListWorkflows.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_ListWorkflows.json
new file mode 100644
index 000000000000..fb0f22c75226
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_ListWorkflows.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "containerAppName": "testcontainerApp0",
+ "logicAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0/workflows/a1",
+ "name": "testcontainerApp0/a1",
+ "type": "Microsoft.App/logicApps/workflows",
+ "location": "East US",
+ "kind": "Stateful",
+ "properties": {
+ "flowState": "Enabled",
+ "health": {
+ "state": "Healthy"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0/workflows/stateful2",
+ "name": "testcontainerApp0/stateful2",
+ "type": "Microsoft.App/logicApps/workflows",
+ "location": "East US",
+ "kind": "Stateful",
+ "properties": {
+ "flowState": "Enabled",
+ "health": {
+ "state": "Unhealthy",
+ "error": {
+ "code": "InvalidWorkflowJson",
+ "message": "Invalid character after parsing property name. Expected ':' but got: \". Path '', line 2, position 2."
+ }
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_PostDeployWorkflowArtifacts.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_PostDeployWorkflowArtifacts.json
new file mode 100644
index 000000000000..c6b7adacc586
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/LogicApps_PostDeployWorkflowArtifacts.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "containerAppName": "testapp2",
+ "logicAppName": "testapp2",
+ "api-version": "2024-10-02-preview",
+ "workflowArtifacts": {
+ "files": {
+ "test1/workflow.json": {
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "actions": {},
+ "contentVersion": "1.0.0.0",
+ "outputs": {},
+ "triggers": {
+ "When_events_are_available_in_Event_hub": {
+ "inputs": {
+ "parameters": {
+ "eventHubName": "test123"
+ },
+ "serviceProviderConfiguration": {
+ "connectionName": "eventHub",
+ "operationId": "receiveEvents",
+ "serviceProviderId": "/serviceProviders/eventHub"
+ }
+ },
+ "splitOn": "@triggerOutputs()?['body']",
+ "type": "ServiceProvider"
+ }
+ }
+ },
+ "kind": "Stateful"
+ },
+ "connections.json": {
+ "serviceProviderConnections": {
+ "eventHub": {
+ "parameterValues": {
+ "connectionString": "@appsetting('eventHub_connectionString')"
+ },
+ "serviceProvider": {
+ "id": "/serviceProviders/eventHub"
+ },
+ "displayName": "example1"
+ }
+ },
+ "managedApiConnections": {}
+ }
+ },
+ "appSettings": {
+ "eventHub_connectionString": "Endpoint=sb://example.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=EXAMPLE1a2b3c4d5e6fEXAMPLE="
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificate_CreateOrUpdate.json
new file mode 100644
index 000000000000..8807ffa3a53c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificate_CreateOrUpdate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "managedCertificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview",
+ "managedCertificateEnvelope": {
+ "location": "East US",
+ "properties": {
+ "subjectName": "my-subject-name.company.country.net",
+ "domainControlValidation": "CNAME"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/managedCertificates",
+ "location": "East US",
+ "properties": {
+ "subjectName": "CN=my-subject-name.company.country.net",
+ "provisioningState": "Succeeded",
+ "domainControlValidation": "CNAME"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/locations/eastus/managedCertificateOperationStatuses/dc27c9cd-370f-4623-95d4-827b6dc4120a?api-version=2022-06-01-preview&azureAsyncOperation=true"
+ },
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/managedCertificates",
+ "location": "East US",
+ "properties": {
+ "subjectName": "CN=my-subject-name.company.country.net",
+ "provisioningState": "Pending",
+ "domainControlValidation": "CNAME"
+ }
+ }
+ },
+ "400": {
+ "code": "ManagedCertNoUpdate",
+ "message": "Properties of managed certificates cannot be updated. Please delete the current resource and retry or use a different resource id."
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificate_Delete.json
new file mode 100644
index 000000000000..9731b2f20457
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificate_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "managedCertificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificate_Get.json
new file mode 100644
index 000000000000..267e5e59ae49
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificate_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "managedCertificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/managedCertificates",
+ "location": "East US",
+ "properties": {
+ "subjectName": "CN=my-subject-name.company.country.net",
+ "provisioningState": "Succeeded",
+ "domainControlValidation": "CNAME"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificates_ListByManagedEnvironment.json
new file mode 100644
index 000000000000..23eabd92cb53
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificates_ListByManagedEnvironment.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/managedCertificates",
+ "location": "East US",
+ "properties": {
+ "subjectName": "CN=my-subject-name.company.country.net",
+ "provisioningState": "Succeeded",
+ "domainControlValidation": "CNAME"
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name-root",
+ "type": "Microsoft.App/ManagedEnvironments/managedCertificates",
+ "location": "East US",
+ "properties": {
+ "subjectName": "CN=company.country.net",
+ "provisioningState": "Succeeded",
+ "domainControlValidation": "HTTP"
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name-txt",
+ "type": "Microsoft.App/ManagedEnvironments/managedCertificates",
+ "location": "East US",
+ "properties": {
+ "subjectName": "CN=txt.company.country.net",
+ "provisioningState": "Succeeded",
+ "domainControlValidation": "TXT"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificates_Patch.json
new file mode 100644
index 000000000000..9a020e1c5d40
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedCertificates_Patch.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "managedCertificateName": "certificate-firendly-name",
+ "api-version": "2024-10-02-preview",
+ "managedCertificateEnvelope": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/managedCertificates",
+ "location": "East US",
+ "properties": {
+ "subjectName": "CN=my-subject-name.company.country.net",
+ "provisioningState": "Succeeded",
+ "domainControlValidation": "CNAME"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentDiagnostics_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentDiagnostics_Get.json
new file mode 100644
index 000000000000..6c866cd28be2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentDiagnostics_Get.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6",
+ "resourceGroupName": "mikono-workerapp-test-rg",
+ "environmentName": "mikonokubeenv",
+ "detectorName": "ManagedEnvAvailabilityMetrics",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/managedEnvironments/mikonokubeenv/detectors/ManagedEnvAvailabilityMetrics",
+ "name": "ManagedEnvAvailabilityMetrics",
+ "type": "Microsoft.App/managedEnvironments/detectors",
+ "properties": {
+ "metadata": {
+ "id": "ManagedEnvAvailabilityMetrics",
+ "name": "Managed Env Netowrk Inbound and Outbound",
+ "description": "This detector shows the Managed Environment Network Inbound and Outbound.",
+ "author": "",
+ "category": "Availability and Performance",
+ "supportTopicList": [],
+ "type": "Detector",
+ "score": 0
+ },
+ "dataset": [
+ {
+ "table": {
+ "tableName": "",
+ "columns": [
+ {
+ "columnName": "TimeStamp",
+ "dataType": "DateTime"
+ },
+ {
+ "columnName": "Metric",
+ "dataType": "String"
+ },
+ {
+ "columnName": "Average",
+ "dataType": "Double"
+ }
+ ],
+ "rows": [
+ [
+ "2022-03-15T21:35:00",
+ "RxBytes",
+ 0
+ ]
+ ]
+ },
+ "renderingProperties": {
+ "type": 8,
+ "title": "Managed Environment Network Inbound ",
+ "description": "",
+ "isVisible": true
+ }
+ }
+ ],
+ "status": {
+ "statusId": 3
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentDiagnostics_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentDiagnostics_List.json
new file mode 100644
index 000000000000..9188b67c7ff7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentDiagnostics_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6",
+ "resourceGroupName": "mikono-workerapp-test-rg",
+ "environmentName": "mikonokubeenv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/managedEnvironments/mikonokubeenv/detectors/ManagedEnvAvailabilityMetrics",
+ "name": "ManagedEnvAvailabilityMetrics",
+ "type": "Microsoft.App/managedEnvironments/detectors",
+ "properties": {
+ "metadata": {
+ "id": "ManagedEnvAvailabilityMetrics",
+ "name": "Availability Metrics for Managed Environments",
+ "author": "",
+ "category": "Availability and Performance",
+ "supportTopicList": [],
+ "type": "Analysis",
+ "score": 0
+ },
+ "dataset": [],
+ "status": {
+ "statusId": 4
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate.json
new file mode 100644
index 000000000000..e0b000ba125b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "privateEndpointConnectionName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview",
+ "privateEndpointConnectionEnvelope": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "status": "Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments/privateEndpointConnections",
+ "properties": {
+ "groupIds": [
+ "managedEnvironments"
+ ],
+ "privateEndpoint": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments/privateEndpointConnections",
+ "properties": {
+ "groupIds": [
+ "managedEnvironments"
+ ],
+ "privateEndpoint": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "status": "Approved"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Delete.json
new file mode 100644
index 000000000000..7f811a50fa0a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "privateEndpointConnectionName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/localtions/eastus/operationResults/00000"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Get.json
new file mode 100644
index 000000000000..5c2da118ce33
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "privateEndpointConnectionName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments/privateEndpointConnections",
+ "properties": {
+ "groupIds": [
+ "managedEnvironments"
+ ],
+ "privateEndpoint": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "status": "Pending"
+ },
+ "provisioningState": "Waiting"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_List.json
new file mode 100644
index 000000000000..686e7d8cf3f0
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_List.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments/privateEndpointConnections",
+ "properties": {
+ "groupIds": [
+ "managedEnvironments"
+ ],
+ "privateEndpoint": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "status": "Pending"
+ },
+ "provisioningState": "Waiting"
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo2",
+ "name": "jlaw-demo2",
+ "type": "Microsoft.App/managedEnvironments/privateEndpointConnections",
+ "properties": {
+ "groupIds": [
+ "managedEnvironments"
+ ],
+ "privateEndpoint": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateLinkResources_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateLinkResources_List.json
new file mode 100644
index 000000000000..06acfb6c2cd3
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentPrivateLinkResources_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateLinkResources/managedEnvironments",
+ "name": "managedEnvironments",
+ "properties": {
+ "groupId": "managedEnvironments",
+ "requiredMembers": [
+ "managedEnvironments"
+ ],
+ "requiredZoneNames": [
+ "privatelink.northcentralusstage.azurecontainerapps.io"
+ ]
+ },
+ "type": "Microsoft.App/managedEnvironments/privateLinkResources"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentUsages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentUsages_List.json
new file mode 100644
index 000000000000..47e065f4e566
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentUsages_List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "examplerg",
+ "environmentName": "jlaw-demo1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": 0.5,
+ "limit": 10,
+ "name": {
+ "localizedValue": "Managed Environment Consumption Cores",
+ "value": "ManagedEnvironmentConsumptionCores"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_CreateOrUpdate.json
new file mode 100644
index 000000000000..221166cf3b02
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "rg1",
+ "environmentName": "managedEnv",
+ "configName": "default",
+ "api-version": "2024-10-02-preview",
+ "maintenanceConfigurationEnvelope": {
+ "properties": {
+ "scheduledEntries": [
+ {
+ "weekDay": "Sunday",
+ "startHourUtc": 12,
+ "durationHours": 9
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/rg1/providers/Microsoft.App/ManagedEnvironments/managedEnv/maintenanceConfigurations/default",
+ "name": "default",
+ "type": "Microsoft.App/ManagedEnvironments/maintenanceConfigurations",
+ "properties": {
+ "scheduledEntries": [
+ {
+ "weekDay": "Sunday",
+ "startHourUtc": 12,
+ "durationHours": 9
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/rg1/providers/Microsoft.App/ManagedEnvironments/managedEnv/maintenanceConfigurations/default",
+ "name": "default",
+ "type": "Microsoft.App/ManagedEnvironments/maintenanceConfigurations",
+ "properties": {
+ "scheduledEntries": [
+ {
+ "weekDay": "Sunday",
+ "startHourUtc": 12,
+ "durationHours": 9
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_Delete.json
new file mode 100644
index 000000000000..ff1128f19b73
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "rg1",
+ "environmentName": "managedEnv",
+ "configName": "default",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_Get.json
new file mode 100644
index 000000000000..6ac6e1b08359
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "rg1",
+ "environmentName": "managedEnv",
+ "configName": "default",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/rg1/providers/Microsoft.App/managedEnvironments/managedEnv/maintenanceConfigurations/default",
+ "name": "default",
+ "type": "Microsoft.App/ManagedEnvironments/MaintenanceConfigurations",
+ "properties": {
+ "scheduledEntries": [
+ {
+ "weekDay": "Sunday",
+ "startHourUtc": 12,
+ "durationHours": 9
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_List.json
new file mode 100644
index 000000000000..17a50d1c2560
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironment_MaintenanceConfigurations_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "rg1",
+ "environmentName": "managedEnv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/rg1/providers/Microsoft.App/managedEnvironments/managedEnv/maintenanceConfigurations/default",
+ "name": "default",
+ "type": "Microsoft.App/ManagedEnvironments/MaintenanceConfigurations",
+ "properties": {
+ "scheduledEntries": [
+ {
+ "weekDay": "Sunday",
+ "startHourUtc": 12,
+ "durationHours": 9
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json
new file mode 100644
index 000000000000..14f4cc478d4d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "storageName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview",
+ "storageEnvelope": {
+ "properties": {
+ "azureFile": {
+ "accountName": "account1",
+ "accountKey": "key",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments/storages",
+ "properties": {
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate_NfsAzureFile.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate_NfsAzureFile.json
new file mode 100644
index 000000000000..a4dacf86b5b3
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate_NfsAzureFile.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "storageName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview",
+ "storageEnvelope": {
+ "properties": {
+ "nfsAzureFile": {
+ "server": "server1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments/storages",
+ "properties": {
+ "nfsAzureFile": {
+ "server": "server1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_Delete.json
new file mode 100644
index 000000000000..93f36028fda6
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "storageName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_Get.json
new file mode 100644
index 000000000000..7e50939bca81
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "storageName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments/storages",
+ "properties": {
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_Get_NfsAzureFile.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_Get_NfsAzureFile.json
new file mode 100644
index 000000000000..ce70c1f16bc1
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_Get_NfsAzureFile.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "storageName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments/storages",
+ "properties": {
+ "nfsAzureFile": {
+ "server": "server1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_List.json
new file mode 100644
index 000000000000..2ea3266e5889
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironmentsStorages_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments/storages",
+ "properties": {
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo2",
+ "name": "jlaw-demo2",
+ "type": "Microsoft.App/managedEnvironments/storages",
+ "properties": {
+ "nfsAzureFile": {
+ "server": "server1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_CreateOrUpdate.json
new file mode 100644
index 000000000000..53af6310f383
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_CreateOrUpdate.json
@@ -0,0 +1,338 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2024-10-02-preview",
+ "environmentEnvelope": {
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-identity": {}
+ }
+ },
+ "properties": {
+ "daprAIConnectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/",
+ "appLogsConfiguration": {
+ "logAnalyticsConfiguration": {
+ "customerId": "string",
+ "sharedKey": "string",
+ "dynamicJsonColumns": true
+ }
+ },
+ "appInsightsConfiguration": {
+ "connectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://eastus-8.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus.livediagnostics.monitor.azure.com/"
+ },
+ "openTelemetryConfiguration": {
+ "destinationsConfiguration": {
+ "dataDogConfiguration": {
+ "site": "string",
+ "key": "000000000000000000000000"
+ },
+ "otlpConfigurations": [
+ {
+ "name": "dashboard",
+ "endpoint": "dashboard.k8s.region.azurecontainerapps.io:80",
+ "insecure": true,
+ "headers": [
+ {
+ "key": "api-key",
+ "value": "xxxxxxxxxxx"
+ }
+ ]
+ }
+ ]
+ },
+ "tracesConfiguration": {
+ "includeDapr": true,
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "logsConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "metricsConfiguration": {
+ "includeKeda": true,
+ "destinations": [
+ "dataDog"
+ ]
+ }
+ },
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "dnsSuffix": "www.my-name.com",
+ "certificateValue": "Y2VydA==",
+ "certificatePassword": "1234"
+ },
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "peerAuthentication": {
+ "mtls": {
+ "enabled": true
+ }
+ },
+ "peerTrafficConfiguration": {
+ "encryption": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv",
+ "name": "testcontainerenv",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-identity": {
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "testcontainerenv.k4apps.io",
+ "staticIp": "1.2.3.4",
+ "appLogsConfiguration": {
+ "logAnalyticsConfiguration": {
+ "customerId": "string",
+ "dynamicJsonColumns": true
+ }
+ },
+ "openTelemetryConfiguration": {
+ "destinationsConfiguration": {
+ "dataDogConfiguration": {
+ "site": "datadoghq.com",
+ "key": null
+ },
+ "otlpConfigurations": [
+ {
+ "name": "dashboard",
+ "endpoint": "dashboard.k8s.region.azurecontainerapps.io:80",
+ "insecure": true
+ }
+ ]
+ },
+ "tracesConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "logsConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "metricsConfiguration": {
+ "destinations": [
+ "dataDog"
+ ]
+ }
+ },
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "appInsightsConfiguration": null,
+ "infrastructureResourceGroup": "capp-svc-testcontainerenv-eastus",
+ "peerAuthentication": {
+ "mtls": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv",
+ "name": "testcontainerenv",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-identity": {
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "InitializationInProgress",
+ "deploymentErrors": null,
+ "defaultDomain": "testcontainerenv.k4apps.io",
+ "staticIp": "1.2.3.4",
+ "appLogsConfiguration": {
+ "logAnalyticsConfiguration": {
+ "customerId": "string"
+ }
+ },
+ "openTelemetryConfiguration": {
+ "destinationsConfiguration": {
+ "dataDogConfiguration": {
+ "site": "datadoghq.com",
+ "key": null
+ },
+ "otlpConfigurations": [
+ {
+ "name": "dashboard",
+ "endpoint": "dashboard.k8s.region.azurecontainerapps.io:80",
+ "insecure": true
+ }
+ ]
+ },
+ "tracesConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "logsConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "metricsConfiguration": {
+ "destinations": [
+ "dataDog"
+ ]
+ }
+ },
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "appInsightsConfiguration": null,
+ "infrastructureResourceGroup": "capp-svc-testcontainerenv-eastus",
+ "peerAuthentication": {
+ "mtls": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json
new file mode 100644
index 000000000000..1af5794be6e3
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2024-10-02-preview",
+ "environmentEnvelope": {
+ "location": "East US",
+ "properties": {
+ "daprAIConnectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/",
+ "appLogsConfiguration": {
+ "logAnalyticsConfiguration": {
+ "customerId": "string",
+ "sharedKey": "string"
+ }
+ },
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "dnsSuffix": "www.my-name.com",
+ "certificateValue": "Y2VydA==",
+ "certificatePassword": "1234"
+ },
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "infrastructureResourceGroup": "myInfrastructureRgName"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv",
+ "name": "testcontainerenv",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "testcontainerenv.k4apps.io",
+ "staticIp": "1.2.3.4",
+ "appLogsConfiguration": {
+ "logAnalyticsConfiguration": {
+ "customerId": "string"
+ }
+ },
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "infrastructureResourceGroup": "myInfrastructureRgName"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv",
+ "name": "testcontainerenv",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "InitializationInProgress",
+ "deploymentErrors": null,
+ "defaultDomain": "testcontainerenv.k4apps.io",
+ "staticIp": "1.2.3.4",
+ "appLogsConfiguration": {
+ "logAnalyticsConfiguration": {
+ "customerId": "string"
+ }
+ },
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "infrastructureResourceGroup": "myInfrastructureRgName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_Delete.json
new file mode 100644
index 000000000000..be955525bfd9
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_Delete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "examplekenv",
+ "api-version": "2024-10-02-preview",
+ "location": "East US"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/localtions/eastus/operationResults/00000"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_Get.json
new file mode 100644
index 000000000000..2e670da20c8f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_Get.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "North Central US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "jlaw-demo1.k4apps.io",
+ "staticIp": "20.42.33.145",
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "kedaConfiguration": {
+ "version": "2.8.1"
+ },
+ "daprConfiguration": {
+ "version": "1.9"
+ },
+ "infrastructureResourceGroup": "capp-svc-jlaw-demo1-northcentralus",
+ "peerAuthentication": {
+ "mtls": {
+ "enabled": true
+ }
+ },
+ "peerTrafficConfiguration": {
+ "encryption": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_GetAuthToken.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_GetAuthToken.json
new file mode 100644
index 000000000000..1c2bc9d1f981
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_GetAuthToken.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "rg",
+ "environmentName": "testenv",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testenv",
+ "name": "testenv",
+ "type": "Microsoft.App/environments/accesstoken",
+ "location": "East US",
+ "properties": {
+ "token": "testToken",
+ "expires": "2022-07-14T19:22:50.3080223Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_ListByResourceGroup.json
new file mode 100644
index 000000000000..46a8be2a5c59
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_ListByResourceGroup.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "North Central US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "jlaw-demo1.k4apps.io",
+ "staticIp": "20.42.33.145",
+ "appLogsConfiguration": null,
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "infrastructureResourceGroup": "capp-svc-jlaw-demo1-northcentralus"
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/demo1",
+ "name": "demo1",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "North Central US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "demo1.k4apps.io",
+ "staticIp": "52.142.21.61",
+ "appLogsConfiguration": null,
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name2.com",
+ "subjectName": "CN=www.my-name2.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "infrastructureResourceGroup": "capp-svc-demo1-northcentralus"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_ListBySubscription.json
new file mode 100644
index 000000000000..6bf972ac1705
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_ListBySubscription.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "North Central US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "jlaw-demo1.k4apps.io",
+ "staticIp": "20.42.33.145",
+ "appLogsConfiguration": null,
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "infrastructureResourceGroup": "capp-svc-jlaw-demo1-northcentralus"
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.App/managedEnvironments/demo1",
+ "name": "demo1",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "North Central US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "demo1.k4apps.io",
+ "staticIp": "52.142.21.61",
+ "appLogsConfiguration": {
+ "destination": "log-analytics",
+ "logAnalyticsConfiguration": {
+ "customerId": "9ccccd4a-268f-4a9a-8d03-9bfe77c3fbd2",
+ "dynamicJsonColumns": true
+ }
+ },
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name2.com",
+ "subjectName": "CN=www.my-name2.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "infrastructureResourceGroup": "capp-svc-demo1-northcentralus"
+ }
+ },
+ {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.App/managedEnvironments/pl1",
+ "name": "pl1",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "North Central US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "pl1.k4apps.io",
+ "privateLinkDefaultDomain": "privatelink.pl1.k4apps.io",
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.Network/privateEndpoints/96101496-ed84-44f9-a28c-d4798f053023"
+ },
+ "groupIds": [
+ "managedEnvironments"
+ ],
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "please approve",
+ "actionsRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.App/managedEnvironments/pl1/privateEndpointConnections/96101496-ed84-44f9-a28c-d4798f053023-d1908429-ca41-48a0-a026-6a4014e6e615",
+ "name": "96101496-ed84-44f9-a28c-d4798f053023-d1908429-ca41-48a0-a026-6a4014e6e615",
+ "type": "Microsoft.App/managedEnvironments/privateEndpointConnections"
+ }
+ ],
+ "staticIp": "52.142.21.61",
+ "appLogsConfiguration": {
+ "destination": "log-analytics",
+ "logAnalyticsConfiguration": {
+ "customerId": "9ccccd4a-268f-4a9a-8d03-9bfe77c3fbd2",
+ "dynamicJsonColumns": true
+ }
+ },
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "vnetConfiguration": {
+ "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"
+ },
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name2.com",
+ "subjectName": "CN=www.my-name2.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_ListWorkloadProfileStates.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_ListWorkloadProfileStates.json
new file mode 100644
index 000000000000..4ba58e564900
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_ListWorkloadProfileStates.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "jlaw-demo1",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/workloadProfileStates/GP1",
+ "name": "GP1",
+ "type": "/providers/Microsoft.App/workloadProfileStates",
+ "properties": {
+ "minimumCount": 3,
+ "maximumCount": 10,
+ "currentCount": 3
+ }
+ },
+ {
+ "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/workloadProfileStates/MO3",
+ "name": "MO3",
+ "type": "/providers/Microsoft.App/workloadProfileStates",
+ "properties": {
+ "minimumCount": 0,
+ "maximumCount": 2,
+ "currentCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_Patch.json
new file mode 100644
index 000000000000..c503765b4945
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/ManagedEnvironments_Patch.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2024-10-02-preview",
+ "environmentEnvelope": {
+ "location": "East US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1",
+ "name": "jlaw-demo1",
+ "type": "Microsoft.App/managedEnvironments",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "jlaw-demo1.k4apps.io",
+ "staticIp": "20.42.33.145",
+ "zoneRedundant": true,
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "customDomainConfiguration": {
+ "customDomainVerificationId": "custom domain verification id",
+ "dnsSuffix": "www.my-name.com",
+ "subjectName": "CN=www.my-name.com",
+ "expirationDate": "2022-11-06T04:00:00Z",
+ "thumbprint": "CERTIFICATE_THUMBPRINT"
+ },
+ "eventStreamEndpoint": "testEndpoint",
+ "workloadProfiles": [
+ {
+ "name": "My-GP-01",
+ "enableFips": true,
+ "workloadProfileType": "GeneralPurpose",
+ "minimumCount": 3,
+ "maximumCount": 12
+ },
+ {
+ "name": "My-MO-01",
+ "workloadProfileType": "MemoryOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-CO-01",
+ "workloadProfileType": "ComputeOptimized",
+ "minimumCount": 3,
+ "maximumCount": 6
+ },
+ {
+ "name": "My-consumption-01",
+ "workloadProfileType": "Consumption"
+ }
+ ],
+ "infrastructureResourceGroup": "capp-svc-jlaw-demo1-northcentralus"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/managedEnvironmentOperationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Operations_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..1cc372b9cd4a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Operations_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.App/containerApps/Read",
+ "display": {
+ "provider": "Microsoft Apps",
+ "resource": "Container App",
+ "operation": "Get Container App",
+ "description": "Get the properties of a Container App"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Replicas_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Replicas_Get.json
new file mode 100644
index 000000000000..3f4904a75454
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Replicas_Get.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "myapp",
+ "revisionName": "myapp--0wlqy09",
+ "replicaName": "myapp--0wlqy09-5d9774cff-5wnd8",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8",
+ "name": "myapp--0wlqy09-5d9774cff-5wnd8",
+ "type": "Microsoft.Web/containerapps/revisions/replicas",
+ "properties": {
+ "createdTime": "2022-01-25T19:42:45Z",
+ "runningState": "Running",
+ "runningStateDetails": "testDetail",
+ "containers": [
+ {
+ "name": "hello92",
+ "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54",
+ "ready": true,
+ "started": true,
+ "restartCount": 0,
+ "runningState": "Running",
+ "runningStateDetails": "testDetail",
+ "logStreamEndpoint": "testLogStreamEndpoint",
+ "execEndpoint": "testExecEndpoint",
+ "debugEndpoint": "wss://eastasia.azurecontainerapps.dev/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8/debug?targetContainer=hello92"
+ }
+ ],
+ "initContainers": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Replicas_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Replicas_List.json
new file mode 100644
index 000000000000..1cff89123462
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Replicas_List.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "myapp",
+ "revisionName": "myapp--0wlqy09",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8",
+ "name": "myapp--0wlqy09-5d9774cff-5wnd8",
+ "type": "Microsoft.Web/containerapps/revisions/replicas",
+ "properties": {
+ "createdTime": "2022-01-25T19:42:45Z",
+ "runningState": "Running",
+ "runningStateDetails": "testDetail",
+ "containers": [
+ {
+ "name": "hello92",
+ "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54",
+ "ready": true,
+ "started": true,
+ "restartCount": 0,
+ "runningState": "Running",
+ "runningStateDetails": "testDetail",
+ "logStreamEndpoint": "testLogStreamEndpoint",
+ "execEndpoint": "testExecEndpoint",
+ "debugEndpoint": "wss://eastasia.azurecontainerapps.dev/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8/debug?targetContainer=hello92"
+ }
+ ],
+ "initContainers": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Activate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Activate.json
new file mode 100644
index 000000000000..5146b9ca9e28
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Activate.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "revisionName": "testcontainerApp0-pjxhsye",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Deactivate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Deactivate.json
new file mode 100644
index 000000000000..5146b9ca9e28
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Deactivate.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "revisionName": "testcontainerApp0-pjxhsye",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Get.json
new file mode 100644
index 000000000000..fd08656ea032
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Get.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "revisionName": "testcontainerApp0-pjxhsye",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye",
+ "name": "testcontainerApp0-pjxhsye",
+ "type": "Microsoft.App/containerApps/revisions",
+ "properties": {
+ "createdTime": "2021-05-24T21:24:22+00:00",
+ "lastActiveTime": "2021-05-24T21:24:22+00:00",
+ "fqdn": "testcontainerApp0-pjxhsye.politehill-ab123456.eastus.azurecontainerapps.io",
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v2",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "trafficWeight": 80,
+ "active": true,
+ "replicas": 1,
+ "runningState": "Running",
+ "labels": [
+ "production"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_List.json
new file mode 100644
index 000000000000..b8edb31a58c4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_List.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye",
+ "name": "testcontainerApp0-pjxhsye",
+ "type": "Microsoft.App/containerApps/revisions",
+ "properties": {
+ "createdTime": "2021-05-24T21:24:22+00:00",
+ "lastActiveTime": "2021-05-24T21:24:22+00:00",
+ "fqdn": "testcontainerApp0-pjxhsye.politehill-ab123456.eastus.azurecontainerapps.io",
+ "template": {
+ "containers": [
+ {
+ "image": "repo/testcontainerApp0:v2",
+ "name": "testcontainerApp0",
+ "resources": {
+ "cpu": 0.2,
+ "memory": "100Mi"
+ }
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "trafficWeight": 80,
+ "active": true,
+ "replicas": 1
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Restart.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Restart.json
new file mode 100644
index 000000000000..ff834fc458cb
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Revisions_Restart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testStaticSite0",
+ "revisionName": "testcontainerApp0-pjxhsye",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_CreateOrUpdate.json
new file mode 100644
index 000000000000..4cb24e91786a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_CreateOrUpdate.json
@@ -0,0 +1,187 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "sessionPoolName": "testsessionpool",
+ "api-version": "2024-10-02-preview",
+ "sessionPoolEnvelope": {
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "poolManagementType": "Dynamic",
+ "containerType": "CustomContainer",
+ "scaleConfiguration": {
+ "maxConcurrentSessions": 500,
+ "readySessionInstances": 100
+ },
+ "dynamicPoolConfiguration": {
+ "executionType": "Timed",
+ "cooldownPeriodInSeconds": 600
+ },
+ "customContainerTemplate": {
+ "containers": [
+ {
+ "image": "repo/testcontainer:v4",
+ "name": "testinitcontainer",
+ "resources": {
+ "cpu": 0.25,
+ "memory": "0.5Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "ingress": {
+ "targetPort": 80
+ },
+ "registryCredentials": {
+ "server": "test.azurecr.io",
+ "identity": "/subscriptions/7a497526-bb8d-4816-9795-db1418a1f977/resourcegroups/test/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testSP"
+ }
+ },
+ "sessionNetworkConfiguration": {
+ "status": "EgressEnabled"
+ },
+ "managedIdentitySettings": [
+ {
+ "identity": "system",
+ "lifecycle": "Main"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool",
+ "name": "testsessionpool",
+ "type": "Microsoft.App/sessionPools",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "poolManagementType": "Dynamic",
+ "nodeCount": 1,
+ "containerType": "CustomContainer",
+ "scaleConfiguration": {
+ "maxConcurrentSessions": 500,
+ "readySessionInstances": 100
+ },
+ "dynamicPoolConfiguration": {
+ "executionType": "Timed",
+ "cooldownPeriodInSeconds": 600
+ },
+ "customContainerTemplate": {
+ "containers": [
+ {
+ "image": "repo/testcontainer:v4",
+ "name": "testinitcontainer",
+ "resources": {
+ "cpu": 0.25,
+ "memory": "0.5Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "ingress": {
+ "targetPort": 80
+ },
+ "registryCredentials": {
+ "server": "test.azurecr.io",
+ "identity": "/subscriptions/7a497526-bb8d-4816-9795-db1418a1f977/resourcegroups/test/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testSP"
+ }
+ },
+ "sessionNetworkConfiguration": {
+ "status": "EgressEnabled"
+ },
+ "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "bce8c037-3d10-44a4-a970-25f799611fc6",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool",
+ "name": "testsessionpool",
+ "type": "Microsoft.App/sessionPools",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "InProgress",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "poolManagementType": "Dynamic",
+ "containerType": "CustomContainer",
+ "scaleConfiguration": {
+ "maxConcurrentSessions": 500,
+ "readySessionInstances": 100
+ },
+ "dynamicPoolConfiguration": {
+ "executionType": "Timed",
+ "cooldownPeriodInSeconds": 600
+ },
+ "customContainerTemplate": {
+ "containers": [
+ {
+ "image": "repo/testcontainer:v4",
+ "name": "testinitcontainer",
+ "resources": {
+ "cpu": 0.25,
+ "memory": "0.5Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "ingress": {
+ "targetPort": 80
+ },
+ "registryCredentials": {
+ "server": "test.azurecr.io",
+ "identity": "/subscriptions/7a497526-bb8d-4816-9795-db1418a1f977/resourcegroups/test/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testSP"
+ }
+ },
+ "sessionNetworkConfiguration": {
+ "status": "EgressEnabled"
+ },
+ "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io",
+ "managedIdentitySettings": [
+ {
+ "identity": "system",
+ "lifecycle": "Main"
+ }
+ ]
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "bce8c037-3d10-44a4-a970-25f799611fc6",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_Delete.json
new file mode 100644
index 000000000000..877f414af189
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "sessionPoolName": "testsessionpool",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/operationResults/amF3YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-10-02-preview"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_Get.json
new file mode 100644
index 000000000000..2ae1d79b3996
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_Get.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "sessionPoolName": "testsessionpool",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool",
+ "name": "testsessionpool",
+ "type": "Microsoft.App/sessionPools",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "poolManagementType": "Dynamic",
+ "containerType": "CustomContainer",
+ "nodeCount": 1,
+ "scaleConfiguration": {
+ "maxConcurrentSessions": 500,
+ "readySessionInstances": 100
+ },
+ "dynamicPoolConfiguration": {
+ "executionType": "Timed",
+ "cooldownPeriodInSeconds": 600
+ },
+ "customContainerTemplate": {
+ "containers": [
+ {
+ "image": "repo/testcontainer:v4",
+ "name": "testinitcontainer",
+ "resources": {
+ "cpu": 0.25,
+ "memory": "0.5Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "ingress": {
+ "targetPort": 80
+ },
+ "registryCredentials": {
+ "server": "test.azurecr.io",
+ "identity": "/subscriptions/7a497526-bb8d-4816-9795-db1418a1f977/resourcegroups/test/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testSP"
+ }
+ },
+ "sessionNetworkConfiguration": {
+ "status": "EgressEnabled"
+ },
+ "managedIdentitySettings": [
+ {
+ "identity": "system",
+ "lifecycle": "Main"
+ }
+ ],
+ "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "bce8c037-3d10-44a4-a970-25f799611fc6",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_ListByResourceGroup.json
new file mode 100644
index 000000000000..d06b263d790b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_ListByResourceGroup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool",
+ "name": "testsessionpool",
+ "type": "Microsoft.App/sessionPools",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "poolManagementType": "Dynamic",
+ "containerType": "CustomContainer",
+ "nodeCount": 1,
+ "scaleConfiguration": {
+ "maxConcurrentSessions": 500,
+ "readySessionInstances": 100
+ },
+ "dynamicPoolConfiguration": {
+ "executionType": "Timed",
+ "cooldownPeriodInSeconds": 600
+ },
+ "customContainerTemplate": {
+ "containers": [
+ {
+ "image": "repo/testcontainer:v4",
+ "name": "testinitcontainer",
+ "resources": {
+ "cpu": 0.25,
+ "memory": "0.5Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "ingress": {
+ "targetPort": 80
+ }
+ },
+ "sessionNetworkConfiguration": {
+ "status": "EgressEnabled"
+ },
+ "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_ListBySubscription.json
new file mode 100644
index 000000000000..4420d0a9457a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_ListBySubscription.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool",
+ "name": "testsessionpool",
+ "type": "Microsoft.App/sessionPools",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "poolManagementType": "Dynamic",
+ "containerType": "CustomContainer",
+ "nodeCount": 1,
+ "scaleConfiguration": {
+ "maxConcurrentSessions": 500,
+ "readySessionInstances": 100
+ },
+ "dynamicPoolConfiguration": {
+ "executionType": "Timed",
+ "cooldownPeriodInSeconds": 600
+ },
+ "customContainerTemplate": {
+ "containers": [
+ {
+ "image": "repo/testcontainer:v4",
+ "name": "testinitcontainer",
+ "resources": {
+ "cpu": 0.25,
+ "memory": "0.5Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "ingress": {
+ "targetPort": 80
+ }
+ },
+ "sessionNetworkConfiguration": {
+ "status": "EgressEnabled"
+ },
+ "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_Patch.json
new file mode 100644
index 000000000000..f4c44785e4ae
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SessionPools_Patch.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "sessionPoolName": "testsessionpool",
+ "api-version": "2024-10-02-preview",
+ "sessionPoolEnvelope": {
+ "properties": {
+ "scaleConfiguration": {
+ "maxConcurrentSessions": 500,
+ "readySessionInstances": 100
+ },
+ "dynamicPoolConfiguration": {
+ "executionType": "Timed",
+ "cooldownPeriodInSeconds": 600
+ },
+ "customContainerTemplate": {
+ "containers": [
+ {
+ "image": "repo/testcontainer:v4",
+ "name": "testinitcontainer",
+ "resources": {
+ "cpu": 0.25,
+ "memory": "0.5Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "ingress": {
+ "targetPort": 80
+ }
+ },
+ "sessionNetworkConfiguration": {
+ "status": "EgressEnabled"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool",
+ "name": "testsessionpool",
+ "type": "Microsoft.App/sessionPools",
+ "location": "East US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
+ "poolManagementType": "Dynamic",
+ "containerType": "CustomContainer",
+ "nodeCount": 1,
+ "scaleConfiguration": {
+ "maxConcurrentSessions": 500,
+ "readySessionInstances": 100
+ },
+ "dynamicPoolConfiguration": {
+ "executionType": "Timed",
+ "cooldownPeriodInSeconds": 600
+ },
+ "customContainerTemplate": {
+ "containers": [
+ {
+ "image": "repo/testcontainer:v4",
+ "name": "testinitcontainer",
+ "resources": {
+ "cpu": 0.25,
+ "memory": "0.5Gi"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "ingress": {
+ "targetPort": 80
+ }
+ },
+ "sessionNetworkConfiguration": {
+ "status": "EgressEnabled"
+ },
+ "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/operationResults/amF3YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-10-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_CreateOrUpdate.json
new file mode 100644
index 000000000000..382b10da11c1
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_CreateOrUpdate.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "sourceControlName": "current",
+ "x-ms-github-auxiliary": "githubaccesstoken",
+ "api-version": "2024-10-02-preview",
+ "sourceControlEnvelope": {
+ "properties": {
+ "repoUrl": "https://github.com/xwang971/ghatest",
+ "branch": "master",
+ "githubActionConfiguration": {
+ "registryInfo": {
+ "registryUrl": "test-registry.azurecr.io",
+ "registryUserName": "test-registry",
+ "registryPassword": ""
+ },
+ "azureCredentials": {
+ "clientId": "",
+ "clientSecret": "",
+ "tenantId": "",
+ "kind": "feaderated"
+ },
+ "contextPath": "./",
+ "dockerfilePath": "./Dockerfile",
+ "image": "image/tag",
+ "buildEnvironmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ],
+ "githubPersonalAccessToken": "test"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current",
+ "name": "current",
+ "type": "Microsoft.App/containerapps/sourcecontrols",
+ "properties": {
+ "operationState": "InProgress",
+ "repoUrl": "https://github.com/xwang971/ghatest",
+ "branch": "master",
+ "githubActionConfiguration": {
+ "registryInfo": {
+ "registryUrl": "test-registry.azurecr.io",
+ "registryUserName": "testreg"
+ },
+ "contextPath": "./",
+ "image": "image/tag",
+ "buildEnvironmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/5a7f31af-8ae5-489b-a67e-f0a2d11df796?api-version=2021-03-01"
+ },
+ "body": {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current",
+ "name": "current",
+ "type": "Microsoft.App/containerapps/sourcecontrols",
+ "properties": {
+ "operationState": "InProgress",
+ "repoUrl": "https://github.com/xwang971/ghatest",
+ "branch": "master",
+ "githubActionConfiguration": {
+ "registryInfo": {
+ "registryUrl": "test-registry.azurecr.io",
+ "registryUserName": "test-registry"
+ },
+ "contextPath": "./",
+ "image": "image/tag",
+ "buildEnvironmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_Delete.json
new file mode 100644
index 000000000000..51ef96de3389
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_Delete.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "sourceControlName": "current",
+ "x-ms-github-auxiliary": "githubaccesstoken",
+ "ignoreWorkflowDeletionFailure": false,
+ "deleteWorkflow": false,
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/14a787ee-c65f-462d-8a8b-897f69a2ab4f?api-version=2021-03-01"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_Get.json
new file mode 100644
index 000000000000..6efafa308165
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_Get.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "sourceControlName": "current",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current",
+ "name": "current",
+ "type": "Microsoft.App/containerapps/sourcecontrols",
+ "properties": {
+ "repoUrl": "https://github.com/xwang971/ghatest",
+ "branch": "master",
+ "githubActionConfiguration": {
+ "registryInfo": {
+ "registryUrl": "xwang971reg.azurecr.io",
+ "registryUserName": "xwang971reg"
+ },
+ "contextPath": "./",
+ "dockerfilePath": "./Dockerfile",
+ "image": "image/tag",
+ "buildEnvironmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_ListByContainer.json
new file mode 100644
index 000000000000..ec916a2b05ae
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/SourceControls_ListByContainer.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current",
+ "name": "current",
+ "type": "Microsoft.App/containerapps/sourcecontrols",
+ "properties": {
+ "repoUrl": "https://github.com/xwang971/ghatest",
+ "branch": "master",
+ "githubActionConfiguration": {
+ "registryInfo": {
+ "registryUrl": "xwang971reg.azurecr.io",
+ "registryUserName": "xwang971reg"
+ },
+ "contextPath": "./",
+ "dockerfilePath": "./Dockerfile",
+ "image": "image/tag",
+ "buildEnvironmentVariables": [
+ {
+ "name": "foo1",
+ "value": "bar1"
+ },
+ {
+ "name": "foo2",
+ "value": "bar2"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Subscriptions_GetCustomDomainVerificationId.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Subscriptions_GetCustomDomainVerificationId.json
new file mode 100644
index 000000000000..4b35cca1e271
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Subscriptions_GetCustomDomainVerificationId.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "d27c3573-f76e-4b26-b871-0ccd2203d08c",
+ "api-version": "2024-10-02-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "5B406D5E790BBD224468CE0AA814C396203C7CE755F135A80E35D41865E51967"
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Usages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Usages_List.json
new file mode 100644
index 000000000000..a69fe848056a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2024-10-02-preview/examples/Usages_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2024-10-02-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": 5,
+ "limit": 10,
+ "name": {
+ "localizedValue": "ManagedEnvironmentCount",
+ "value": "ManagedEnvironmentCount"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3,
+ "limit": 20,
+ "name": {
+ "localizedValue": "ManagedEnvironmentCores",
+ "value": "ManagedEnvironmentCores"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/readme.md b/specification/app/resource-manager/readme.md
index 8c1d1a5636b5..03c855782c13 100644
--- a/specification/app/resource-manager/readme.md
+++ b/specification/app/resource-manager/readme.md
@@ -26,7 +26,64 @@ These are the global settings for the app.
``` yaml
openapi-type: arm
-tag: package-preview-2024-08
+tag: package-preview-2024-10
+```
+
+### Suppression
+
+``` yaml
+directive:
+ - suppress: PatchBodyParametersSchema
+ from: JavaComponents.json
+ reason: |
+ Java Component is using componentType as the discriminator. While the discriminator is a required property, this rule prevent it being present in the patch request body.
+```
+
+### Tag: package-preview-2024-10
+
+These settings apply only when `--tag=package-preview-2024-10` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2024-10'
+input-file:
+ - Microsoft.App/preview/2024-10-02-preview/AppResiliency.json
+ - Microsoft.App/preview/2024-10-02-preview/AuthConfigs.json
+ - Microsoft.App/preview/2024-10-02-preview/AvailableWorkloadProfiles.json
+ - Microsoft.App/preview/2024-10-02-preview/BillingMeters.json
+ - Microsoft.App/preview/2024-10-02-preview/Builders.json
+ - Microsoft.App/preview/2024-10-02-preview/Builds.json
+ - Microsoft.App/preview/2024-10-02-preview/CommonDefinitions.json
+ - Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironments.json
+ - Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsCertificates.json
+ - Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsDaprComponents.json
+ - Microsoft.App/preview/2024-10-02-preview/ConnectedEnvironmentsStorages.json
+ - Microsoft.App/preview/2024-10-02-preview/ContainerApps.json
+ - Microsoft.App/preview/2024-10-02-preview/ContainerAppsBuilds.json
+ - Microsoft.App/preview/2024-10-02-preview/ContainerAppsPatches.json
+ - Microsoft.App/preview/2024-10-02-preview/ContainerAppsLabelHistory.json
+ - Microsoft.App/preview/2024-10-02-preview/ContainerAppsRevisions.json
+ - Microsoft.App/preview/2024-10-02-preview/Diagnostics.json
+ - Microsoft.App/preview/2024-10-02-preview/DotNetComponents.json
+ - Microsoft.App/preview/2024-10-02-preview/FunctionsExtension.json
+ - Microsoft.App/preview/2024-10-02-preview/Global.json
+ - Microsoft.App/preview/2024-10-02-preview/JavaComponents.json
+ - Microsoft.App/preview/2024-10-02-preview/Jobs.json
+ - Microsoft.App/preview/2024-10-02-preview/LogicAppsExtension.json
+ - Microsoft.App/preview/2024-10-02-preview/ManagedEnvironments.json
+ - Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json
+ - Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprComponents.json
+ - Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsDaprSubscriptions.json
+ - Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsHttpRouteConfig.json
+ - Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsMaintenanceConfigurations.json
+ - Microsoft.App/preview/2024-10-02-preview/ManagedEnvironmentsStorages.json
+ - Microsoft.App/preview/2024-10-02-preview/SessionPools.json
+ - Microsoft.App/preview/2024-10-02-preview/SourceControls.json
+ - Microsoft.App/preview/2024-10-02-preview/Subscriptions.json
+ - Microsoft.App/preview/2024-10-02-preview/Usages.json
+directive:
+ - suppress: PatchBodyParametersSchema
+ from: SessionPools.json
+ reason: |
+ Session Pool is using componentType as the discriminator. While the discriminator is a required property, this rule prevent it being present in the patch request body.
```
### Tag: package-preview-2024-08
diff --git a/specification/app/resource-manager/sdk-suppressions.yaml b/specification/app/resource-manager/sdk-suppressions.yaml
index 921074abea6c..8be6c72312b8 100644
--- a/specification/app/resource-manager/sdk-suppressions.yaml
+++ b/specification/app/resource-manager/sdk-suppressions.yaml
@@ -13,3 +13,10 @@ suppressions:
- The 'JobsOperations' method 'proxy_get' had its parameter 'api_name' of kind 'positional_or_keyword' deleted or renamed in the current version
- The 'JobsOperations' method 'proxy_get' had its parameter 'api_name' of kind 'positional_or_keyword' deleted or renamed in the current version
- Method `JobsOperations.proxy_get` deleted or renamed its parameter `api_name` of kind `positional_or_keyword`
+ - Deleted or renamed method `ConnectedEnvironmentsCertificatesOperations.create_or_update`
+ - Deleted or renamed method `ConnectedEnvironmentsCertificatesOperations.delete`
+ - Deleted or renamed method `ConnectedEnvironmentsCertificatesOperations.update`
+ - Deleted or renamed method `ConnectedEnvironmentsDaprComponentsOperations.create_or_update`
+ - Deleted or renamed method `ConnectedEnvironmentsDaprComponentsOperations.delete`
+ - Deleted or renamed method `ConnectedEnvironmentsStoragesOperations.create_or_update`
+ - Deleted or renamed method `ConnectedEnvironmentsStoragesOperations.delete`