diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_CreateOrUpdate.json
index 665953cbf672..1471473382c2 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_CreateOrUpdate.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_CreateOrUpdate.json
@@ -17,7 +17,7 @@
"daprAIConnectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/",
"customDomainConfiguration": {
"dnsSuffix": "www.my-name.com",
- "certificateValue": "PFX-or-PEM-blob",
+ "certificateValue": "Y2VydA==",
"certificatePassword": "private key password"
}
}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_Delete.json
index e8156387da39..bf69f5682b38 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_Delete.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_Delete.json
@@ -13,7 +13,11 @@
},
"responses": {
"200": {},
- "202": {},
+ "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/2022-06-01-preview/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_Get.json
index c29fa2fb291e..6805cbfb270c 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_Get.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-06-01-preview/examples/ConnectedEnvironments_Get.json
@@ -14,9 +14,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/kubeEnvironments/examplekenv",
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/examplekenv",
"name": "examplekenv",
- "type": "Microsoft.App/kubeEnvironments",
+ "type": "Microsoft.App/connectedEnvironments",
"location": "North Central US",
"extendedLocation": {
"name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-11-01-preview/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-11-01-preview/examples/ConnectedEnvironments_Get.json
index 2525a2b5bac0..b72920988341 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-11-01-preview/examples/ConnectedEnvironments_Get.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-11-01-preview/examples/ConnectedEnvironments_Get.json
@@ -14,9 +14,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/kubeEnvironments/examplekenv",
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/examplekenv",
"name": "examplekenv",
- "type": "Microsoft.App/kubeEnvironments",
+ "type": "Microsoft.App/connectedEnvironments",
"location": "North Central US",
"extendedLocation": {
"name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/examples/ConnectedEnvironments_Get.json
index fd3587f3b0c4..544315b8873d 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/examples/ConnectedEnvironments_Get.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/examples/ConnectedEnvironments_Get.json
@@ -14,9 +14,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/kubeEnvironments/examplekenv",
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/examplekenv",
"name": "examplekenv",
- "type": "Microsoft.App/kubeEnvironments",
+ "type": "Microsoft.App/connectedEnvironments",
"location": "North Central US",
"extendedLocation": {
"name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-05-02-preview/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-05-02-preview/examples/ConnectedEnvironments_Get.json
index 32653a99135c..e4134f31894a 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2023-05-02-preview/examples/ConnectedEnvironments_Get.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-05-02-preview/examples/ConnectedEnvironments_Get.json
@@ -14,9 +14,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/kubeEnvironments/examplekenv",
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/examplekenv",
"name": "examplekenv",
- "type": "Microsoft.App/kubeEnvironments",
+ "type": "Microsoft.App/connectedEnvironments",
"location": "North Central US",
"extendedLocation": {
"name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/AppResiliency.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/AppResiliency.json
new file mode 100644
index 000000000000..190d86d14c46
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/AppResiliency.json
@@ -0,0 +1,312 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2023-08-01-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/2023-08-01-preview/AuthConfigs.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/AuthConfigs.json
new file mode 100644
index 000000000000..e18187da100f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/AuthConfigs.json
@@ -0,0 +1,1034 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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"
+ }
+ }
+ },
+ "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/v3/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",
+ "required": [
+ "sasUrlSettingName"
+ ],
+ "properties": {
+ "sasUrlSettingName": {
+ "description": "The name of the app secrets containing the SAS URL of the blob storage containing the tokens.",
+ "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/2023-08-01-preview/AvailableWorkloadProfiles.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/AvailableWorkloadProfiles.json
new file mode 100644
index 000000000000..f42252183f06
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/AvailableWorkloadProfiles.json
@@ -0,0 +1,149 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/v3/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/v3/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/2023-08-01-preview/BillingMeters.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/BillingMeters.json
new file mode 100644
index 000000000000..801c0015d252
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/BillingMeters.json
@@ -0,0 +1,118 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "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/2023-08-01-preview/Builders.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Builders.json
new file mode 100644
index 000000000000..29a2525c43f3
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Builders.json
@@ -0,0 +1,491 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2023-08-01-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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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/v3/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/v3/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/v3/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/2023-08-01-preview/Builds.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Builds.json
new file mode 100644
index 000000000000..e39ada78af64
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Builds.json
@@ -0,0 +1,556 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerApps API Client",
+ "version": "2023-08-01-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": "Builds_ListByBuilderResource",
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "Builds_ListAuthToken",
+ "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": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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": "#/definitions/EnvironmentVariable"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "description": "List of environment variables to be passed to the build and application runtime."
+ },
+ "preBuildSteps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/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": "#/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/v3/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
+ }
+ },
+ "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"
+ ]
+ },
+ "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
+ }
+ }
+ },
+ "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"
+ ]
+ },
+ "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"
+ ]
+ },
+ "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": "#/definitions/HttpGet",
+ "description": "Http get request to send before the build.",
+ "x-ms-identifiers": []
+ }
+ },
+ "description": "Model representing a pre-build step."
+ },
+ "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/2023-08-01-preview/CommonDefinitions.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/CommonDefinitions.json
new file mode 100644
index 000000000000..2d8678c70ad4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/CommonDefinitions.json
@@ -0,0 +1,1730 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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"
+ },
+ "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
+ }
+ }
+ },
+ "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
+ }
+ }
+ }
+ },
+ "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"
+ ]
+ }
+ }
+ },
+ "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"
+ ]
+ },
+ "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
+ }
+ }
+ },
+ "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"
+ ]
+ }
+ }
+ },
+ "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"
+ ]
+ }
+ }
+ },
+ "QueueScaleRule": {
+ "description": "Container App container Azure Queue based scaling rule.",
+ "type": "object",
+ "properties": {
+ "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"
+ ]
+ }
+ }
+ },
+ "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
+ },
+ "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"
+ ],
+ "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 AzureFile. 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
+ }
+ }
+ },
+ "DaprComponent": {
+ "description": "Dapr Component.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "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"
+ ]
+ }
+ },
+ "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/v3/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"
+ }
+ },
+ "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/v3/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"
+ }
+ }
+ },
+ "Certificate": {
+ "description": "Certificate used for Custom Domain bindings of Container Apps in a Managed Environment",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/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
+ }
+ },
+ "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/v3/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/v3/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
+ }
+ }
+ }
+ },
+ "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/2023-08-01-preview/ConnectedEnvironments.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironments.json
new file mode 100644
index 000000000000..6f451127d7af
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironments.json
@@ -0,0 +1,469 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/v3/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/2023-08-01-preview/ConnectedEnvironmentsCertificates.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironmentsCertificates.json
new file mode 100644
index 000000000000..bf2ab14566be
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironmentsCertificates.json
@@ -0,0 +1,315 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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",
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Certificate": {
+ "$ref": "./examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConnectedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Deletes the specified Certificate.",
+ "operationId": "ConnectedEnvironmentsCertificates_Delete",
+ "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": "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/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",
+ "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"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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/2023-08-01-preview/ConnectedEnvironmentsDaprComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironmentsDaprComponents.json
new file mode 100644
index 000000000000..75ee01edd6ed
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironmentsDaprComponents.json
@@ -0,0 +1,307 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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": "./CommonDefinitions.json#/definitions/DaprComponentsCollection"
+ }
+ },
+ "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": "./CommonDefinitions.json#/definitions/DaprComponent"
+ }
+ },
+ "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",
+ "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": "./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": {
+ "$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",
+ "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": "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/ConnectedEnvironmentsDaprComponents_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "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/2023-08-01-preview/ConnectedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironmentsStorages.json
new file mode 100644
index 000000000000..97771dbd71c1
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironmentsStorages.json
@@ -0,0 +1,290 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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",
+ "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"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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",
+ "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"
+ },
+ "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/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/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Storage properties",
+ "type": "object",
+ "properties": {
+ "azureFile": {
+ "$ref": "./CommonDefinitions.json#/definitions/AzureFileProperties",
+ "description": "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/2023-08-01-preview/ContainerApps.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ContainerApps.json
new file mode 100644
index 000000000000..e380a663eaff
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ContainerApps.json
@@ -0,0 +1,1400 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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 On A Connected Environment": {
+ "$ref": "./examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.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- Multiple: multiple revisions can be active.
- Single: Only one revision can be active at a time. Revision weights can not be used in this mode. If no value if provided, this is the default.
",
+ "enum": [
+ "Multiple",
+ "Single"
+ ],
+ "type": "string",
+ "default": "Single",
+ "x-ms-enum": {
+ "name": "ActiveRevisionsMode",
+ "modelAsString": true
+ }
+ },
+ "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."
+ },
+ "maxInactiveRevisions": {
+ "format": "int32",
+ "description": "Optional. Max inactive revisions a Container App can have.",
+ "type": "integer"
+ },
+ "service": {
+ "$ref": "#/definitions/Service",
+ "description": "Container App to be a dev Container App Service"
+ }
+ }
+ },
+ "ContainerApp": {
+ "description": "Container App.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/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/v3/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."
+ },
+ "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
+ }
+ },
+ "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."
+ },
+ "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"
+ }
+ }
+ },
+ "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": "#/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"
+ ]
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ ],
+ "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"
+ }
+ }
+ },
+ "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/v3/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/2023-08-01-preview/ContainerAppsRevisions.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ContainerAppsRevisions.json
new file mode 100644
index 000000000000..f15d93923637
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ContainerAppsRevisions.json
@@ -0,0 +1,677 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/v3/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
+ },
+ "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/v3/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
+ }
+ }
+ }
+ },
+ "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/2023-08-01-preview/Diagnostics.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Diagnostics.json
new file mode 100644
index 000000000000..56b4b4396366
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Diagnostics.json
@@ -0,0 +1,870 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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"
+ }
+ }
+ }
+ },
+ "/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,
+ "enum": [
+ "rootApi"
+ ],
+ "type": "string",
+ "pattern": "^[-\\w\\._]+$",
+ "x-ms-enum": {
+ "name": "ApiName",
+ "modelAsString": false
+ }
+ },
+ {
+ "$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/v3/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/2023-08-01-preview/Global.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Global.json
new file mode 100644
index 000000000000..4779d31a7ce8
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Global.json
@@ -0,0 +1,140 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/2023-08-01-preview/Jobs.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Jobs.json
new file mode 100644
index 000000000000..7f8da3b0a9c3
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Jobs.json
@@ -0,0 +1,1201 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ ]
+ }
+ }
+ },
+ "Job": {
+ "type": "object",
+ "description": "Container App Job",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/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/v3/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
+ }
+ },
+ "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/v3/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"
+ }
+ }
+ }
+ },
+ "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 Type.",
+ "type": "string"
+ },
+ "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"
+ }
+ }
+ },
+ "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/2023-08-01-preview/ManagedEnvironments.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironments.json
new file mode 100644
index 000000000000..bbd5e269b274
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironments.json
@@ -0,0 +1,1547 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "TracesConfiguration": {
+ "description": "Configuration of Open Telemetry traces",
+ "type": "object",
+ "properties": {
+ "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": {
+ "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/v3/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Kind of the Environment."
+ },
+ "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
+ },
+ "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\napp logs to a destination. Currently only \"log-analytics\" is\nsupported"
+ },
+ "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"
+ ]
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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/v3/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."
+ },
+ "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/v3/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/2023-08-01-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json
new file mode 100644
index 000000000000..7a150ac27f55
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json
@@ -0,0 +1,302 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/2023-08-01-preview/ManagedEnvironmentsDaprComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsDaprComponents.json
new file mode 100644
index 000000000000..5a18d60aec7c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsDaprComponents.json
@@ -0,0 +1,313 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/2023-08-01-preview/ManagedEnvironmentsDaprSubscriptions.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsDaprSubscriptions.json
new file mode 100644
index 000000000000..b8e3432beb61
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsDaprSubscriptions.json
@@ -0,0 +1,276 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/2023-08-01-preview/ManagedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsStorages.json
new file mode 100644
index 000000000000..42bd21969bea
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsStorages.json
@@ -0,0 +1,290 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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 properties by subscription": {
+ "$ref": "./examples/ManagedEnvironmentsStorages_Get.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"
+ }
+ }
+ },
+ "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/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Storage properties",
+ "type": "object",
+ "properties": {
+ "azureFile": {
+ "$ref": "./CommonDefinitions.json#/definitions/AzureFileProperties",
+ "description": "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/2023-08-01-preview/SourceControls.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/SourceControls.json
new file mode 100644
index 000000000000..bfa8a752d500
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/SourceControls.json
@@ -0,0 +1,446 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/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/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/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": "sourceControlName",
+ "in": "path",
+ "description": "Name of the Container App SourceControl.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/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/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": "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"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/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/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": "sourceControlName",
+ "in": "path",
+ "description": "Name of the Container App SourceControl.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/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/v3/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"
+ },
+ "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"
+ }
+ }
+ },
+ "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/2023-08-01-preview/Subscriptions.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Subscriptions.json
new file mode 100644
index 000000000000..d740047ce3b3
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Subscriptions.json
@@ -0,0 +1,80 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/2023-08-01-preview/Usages.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Usages.json
new file mode 100644
index 000000000000..770fd9b0ac89
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/Usages.json
@@ -0,0 +1,188 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-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/2023-08-01-preview/examples/AppResiliency_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AppResiliency_CreateOrUpdate.json
new file mode 100644
index 000000000000..662954881d97
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/AppResiliency_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AppResiliency_Delete.json
new file mode 100644
index 000000000000..b60f5e246bb7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AppResiliency_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AppResiliency_Get.json
new file mode 100644
index 000000000000..89f79d55a0c8
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/AppResiliency_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AppResiliency_List.json
new file mode 100644
index 000000000000..c61bc4c2f060
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AppResiliency_List.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "appName": "testcontainerApp0",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/AppResiliency_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AppResiliency_Patch.json
new file mode 100644
index 000000000000..d775cb2d8a6e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/AuthConfigs_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AuthConfigs_CreateOrUpdate.json
new file mode 100644
index 000000000000..8cfc4c565026
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/AuthConfigs_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AuthConfigs_Delete.json
new file mode 100644
index 000000000000..6dc41bd88e9a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AuthConfigs_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AuthConfigs_Get.json
new file mode 100644
index 000000000000..fa2081716a31
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/AuthConfigs_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AuthConfigs_ListByContainer.json
new file mode 100644
index 000000000000..19f5526fad3c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AuthConfigs_ListByContainer.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/AvailableWorkloadProfiles_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AvailableWorkloadProfiles_Get.json
new file mode 100644
index 000000000000..19bbac9e5d01
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/AvailableWorkloadProfiles_Get.json
@@ -0,0 +1,159 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "location": "East US",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/BillingMeters_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/BillingMeters_Get.json
new file mode 100644
index 000000000000..bcfc780e7cfd
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/BillingMeters_Get.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "location": "East US",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Builders_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_CreateOrUpdate.json
new file mode 100644
index 000000000000..b2132ab648f1
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/Builders_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_Delete.json
new file mode 100644
index 000000000000..a771dca6d009
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_Delete.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "Builders_Delete",
+ "title": "Builders_Delete_0",
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Builders_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_Get.json
new file mode 100644
index 000000000000..d021e20bc935
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_Get.json
@@ -0,0 +1,56 @@
+{
+ "operationId": "Builders_Get",
+ "title": "Builders_Get_0",
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Builders_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_ListByResourceGroup.json
new file mode 100644
index 000000000000..7647614ac9c5
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_ListByResourceGroup.json
@@ -0,0 +1,102 @@
+{
+ "operationId": "Builders_ListByResourceGroup",
+ "title": "Builders_ListByResourceGroup_0",
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Builders_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_ListBySubscription.json
new file mode 100644
index 000000000000..107eef7a67b5
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_ListBySubscription.json
@@ -0,0 +1,101 @@
+{
+ "operationId": "Builders_ListBySubscription",
+ "title": "Builders_ListBySubscription_0",
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Builders_Update.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_Update.json
new file mode 100644
index 000000000000..be1bc9ed0b25
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builders_Update.json
@@ -0,0 +1,66 @@
+{
+ "operationId": "Builders_Update",
+ "title": "Builders_Update_0",
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Builds_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_CreateOrUpdate.json
new file mode 100644
index 000000000000..85f15e2fa672
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/Builds_CreateOrUpdate_NoConfig.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_CreateOrUpdate_NoConfig.json
new file mode 100644
index 000000000000..f7fea424d3a0
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/Builds_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_Delete.json
new file mode 100644
index 000000000000..c1c1b1df45af
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_Delete.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "Builds_Delete",
+ "title": "Builds_Delete_0",
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Builds_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_Get.json
new file mode 100644
index 000000000000..3ef36970c998
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_Get.json
@@ -0,0 +1,85 @@
+{
+ "operationId": "Builds_Get",
+ "title": "Builds_Get_0",
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Builds_ListAuthToken.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_ListAuthToken.json
new file mode 100644
index 000000000000..1f7fe5092cc9
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_ListAuthToken.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "Builds_ListAuthToken",
+ "title": "Builds_ListAuthToken_0",
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Builds_ListByBuilderResource.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_ListByBuilderResource.json
new file mode 100644
index 000000000000..e7622c718611
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Builds_ListByBuilderResource.json
@@ -0,0 +1,159 @@
+{
+ "operationId": "Builds_ListByBuilderResource",
+ "title": "Builds_ListByBuilderResource_0",
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Certificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Certificate_CreateOrUpdate.json
new file mode 100644
index 000000000000..9c18e52ac266
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/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/2023-08-01-preview/examples/Certificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Certificate_Delete.json
new file mode 100644
index 000000000000..9a535a86dd70
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Certificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Certificate_Get.json
new file mode 100644
index 000000000000..631f57df174b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/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/2023-08-01-preview/examples/Certificates_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Certificates_CheckNameAvailability.json
new file mode 100644
index 000000000000..f4104dcf24a5
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Certificates_CheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Certificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Certificates_ListByManagedEnvironment.json
new file mode 100644
index 000000000000..1e47292c1f6a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Certificates_ListByManagedEnvironment.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/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/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/2023-08-01-preview/examples/Certificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Certificates_Patch.json
new file mode 100644
index 000000000000..ad079b2bf342
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/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/2023-08-01-preview/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json
new file mode 100644
index 000000000000..d9a7ae5b79ef
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2023-08-01-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/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/2023-08-01-preview/examples/ConnectedEnvironmentsCertificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificate_Delete.json
new file mode 100644
index 000000000000..b67c4da818d1
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificate_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificate_Get.json
new file mode 100644
index 000000000000..82b90134da8b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/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/2023-08-01-preview/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json
new file mode 100644
index 000000000000..42b3b9cd1942
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json
new file mode 100644
index 000000000000..f92872a1e940
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/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/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/2023-08-01-preview/examples/ConnectedEnvironmentsCertificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificates_Patch.json
new file mode 100644
index 000000000000..fc1323e909b7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsCertificates_Patch.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testcontainerenv",
+ "certificateName": "certificate-firendly-name",
+ "api-version": "2023-08-01-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/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
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json
new file mode 100644
index 000000000000..258adac5bab4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2023-08-01-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": {
+ "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/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_Delete.json
new file mode 100644
index 000000000000..77ce14b0b11b
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_Get.json
new file mode 100644
index 000000000000..66652e39ad46
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_Get.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2023-08-01-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": {
+ "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/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_List.json
new file mode 100644
index 000000000000..52fb3445f3e4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_List.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "api-version": "2023-08-01-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": {
+ "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/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json
new file mode 100644
index 000000000000..815f1bd1a840
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "secret1",
+ "value": "value1"
+ },
+ {
+ "name": "secret2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json
new file mode 100644
index 000000000000..687b669f42bf
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "env",
+ "storageName": "jlaw-demo1",
+ "api-version": "2023-08-01-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": {
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_Delete.json
new file mode 100644
index 000000000000..6121f4e150bb
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "env",
+ "storageName": "jlaw-demo1",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_Get.json
new file mode 100644
index 000000000000..379aa5486c3f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "env",
+ "storageName": "jlaw-demo1",
+ "api-version": "2023-08-01-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": {
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_List.json
new file mode 100644
index 000000000000..c84c97b52693
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironmentsStorages_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "managedEnv",
+ "api-version": "2023-08-01-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": {
+ "azureFile": {
+ "accountName": "account1",
+ "shareName": "share1",
+ "accessMode": "ReadOnly"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_CreateOrUpdate.json
new file mode 100644
index 000000000000..0cb2f1fd447e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_CreateOrUpdate.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testenv",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ConnectedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_Delete.json
new file mode 100644
index 000000000000..8d6936570564
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_Delete.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "examplekenv",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_Get.json
new file mode 100644
index 000000000000..76b2ec700031
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_Get.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "examplekenv",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ConnectedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_ListByResourceGroup.json
new file mode 100644
index 000000000000..b15f343f9e14
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_ListByResourceGroup.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ConnectedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_ListBySubscription.json
new file mode 100644
index 000000000000..6faa338a8a9c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_ListBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ConnectedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_Patch.json
new file mode 100644
index 000000000000..4de65a12e1a0
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ConnectedEnvironments_Patch.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "connectedEnvironmentName": "testenv",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ContainerAppsDiagnostics_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerAppsDiagnostics_Get.json
new file mode 100644
index 000000000000..c8c301143f45
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ContainerAppsDiagnostics_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerAppsDiagnostics_List.json
new file mode 100644
index 000000000000..da8946bb158e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ContainerApps_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_CheckNameAvailability.json
new file mode 100644
index 000000000000..2318b6c7413a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_CheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ContainerApps_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_CreateOrUpdate.json
new file mode 100644
index 000000000000..968532b8c538
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_CreateOrUpdate.json
@@ -0,0 +1,402 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2023-08-01-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,
+ "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"
+ },
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ]
+ }
+ ],
+ "scale": {
+ "minReplicas": 1,
+ "maxReplicas": 5,
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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",
+ "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"
+ }
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ }
+ },
+ "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,
+ "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",
+ "properties": {
+ "provisioningState": "InProgress",
+ "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"
+ }
+ ]
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ }
+ },
+ "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,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json
new file mode 100644
index 000000000000..fab93cc06989
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json
@@ -0,0 +1,399 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2023-08-01-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
+ },
+ "maxInactiveRevisions": 10
+ },
+ "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,
+ "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",
+ "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"
+ }
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ }
+ },
+ "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,
+ "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",
+ "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"
+ }
+ ]
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30
+ }
+ },
+ "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,
+ "rules": [
+ {
+ "name": "httpscalingrule",
+ "http": {
+ "metadata": {
+ "concurrentRequests": "50"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "eventStreamEndpoint": "testEndpoint"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Delete.json
new file mode 100644
index 000000000000..e8feab8aab78
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testWorkerApp0",
+ "api-version": "2023-08-01-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=2023-08-01-preview"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Get.json
new file mode 100644
index 000000000000..34fb614112f5
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Get.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2023-08-01-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",
+ "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"
+ }
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "maxInactiveRevisions": 10,
+ "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,
+ "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"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_GetAuthToken.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_GetAuthToken.json
new file mode 100644
index 000000000000..54796f6f11b9
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_GetAuthToken.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ContainerApps_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ListByResourceGroup.json
new file mode 100644
index 000000000000..3817a8abb23d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ListByResourceGroup.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "api-version": "2023-08-01-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",
+ "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"
+ }
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "maxInactiveRevisions": 10
+ },
+ "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"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ListBySubscription.json
new file mode 100644
index 000000000000..567cfb6cbb43
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ListBySubscription.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-08-01-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",
+ "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"
+ }
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "maxInactiveRevisions": 10,
+ "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,
+ "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/2023-08-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json
new file mode 100644
index 000000000000..20a28a77a8b0
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ContainerApps_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ListSecrets.json
new file mode 100644
index 000000000000..4b309ac9902e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ListSecrets.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "secret1"
+ },
+ {
+ "name": "secret2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ManagedBy_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ManagedBy_CreateOrUpdate.json
new file mode 100644
index 000000000000..b93aea9f5ba6
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_ManagedBy_CreateOrUpdate.json
@@ -0,0 +1,204 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerAppManagedBy",
+ "api-version": "2023-08-01-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,
+ "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",
+ "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,
+ "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",
+ "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,
+ "rules": [
+ {
+ "name": "tcpscalingrule",
+ "tcp": {
+ "metadata": {
+ "concurrentConnections": "50"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Patch.json
new file mode 100644
index 000000000000..49559100a717
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Patch.json
@@ -0,0 +1,247 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2023-08-01-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
+ },
+ "maxInactiveRevisions": 10,
+ "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,
+ "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",
+ "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"
+ }
+ ]
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "maxInactiveRevisions": 10
+ },
+ "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": {
+ "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=2023-08-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Start.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Start.json
new file mode 100644
index 000000000000..af8df4ed7566
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Start.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testWorkerApp0",
+ "api-version": "2023-08-01-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",
+ "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"
+ }
+ ]
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "maxInactiveRevisions": 10
+ },
+ "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=2023-08-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Stop.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Stop.json
new file mode 100644
index 000000000000..af8df4ed7566
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_Stop.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testWorkerApp0",
+ "api-version": "2023-08-01-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",
+ "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"
+ }
+ ]
+ },
+ "dapr": {
+ "enabled": true,
+ "appPort": 3000,
+ "appProtocol": "http",
+ "httpReadBufferSize": 30,
+ "httpMaxRequestSize": 10,
+ "logLevel": "debug",
+ "enableApiLogging": true
+ },
+ "maxInactiveRevisions": 10
+ },
+ "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=2023-08-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_TcpApp_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_TcpApp_CreateOrUpdate.json
new file mode 100644
index 000000000000..89b8aea117bb
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ContainerApps_TcpApp_CreateOrUpdate.json
@@ -0,0 +1,201 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerAppTcp",
+ "api-version": "2023-08-01-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,
+ "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",
+ "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,
+ "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",
+ "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,
+ "rules": [
+ {
+ "name": "tcpscalingrule",
+ "tcp": {
+ "metadata": {
+ "concurrentConnections": "50"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicies_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicies_Delete.json
new file mode 100644
index 000000000000..595dafbded11
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicies_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicies_Get.json
new file mode 100644
index 000000000000..4b0675300a1d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicies_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "name": "myresiliencypolicy",
+ "api-version": "2023-08-01-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
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicies_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicies_List.json
new file mode 100644
index 000000000000..47fcbaabefc8
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicies_List.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "api-version": "2023-08-01-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
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json
new file mode 100644
index 000000000000..6a1b4bcab0f7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "name": "myresiliencypolicy",
+ "api-version": "2023-08-01-preview",
+ "daprComponentResiliencyPolicyEnvelope": {
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 15,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "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": 15,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "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": 15,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 30
+ }
+ },
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json
new file mode 100644
index 000000000000..0f0df7062858
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "name": "myresiliencypolicy",
+ "api-version": "2023-08-01-preview",
+ "daprComponentResiliencyPolicyEnvelope": {
+ "properties": {
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "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": {
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "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": {
+ "outboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 100,
+ "maxIntervalInMilliseconds": 30000
+ }
+ },
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json
new file mode 100644
index 000000000000..29a779d05176
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "mydaprcomponent",
+ "name": "myresiliencypolicy",
+ "api-version": "2023-08-01-preview",
+ "daprComponentResiliencyPolicyEnvelope": {
+ "properties": {
+ "inboundPolicy": {
+ "httpRetryPolicy": {
+ "maxRetries": 5,
+ "retryBackOff": {
+ "initialDelayInMilliseconds": 2000,
+ "maxIntervalInMilliseconds": 5500
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "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
+ }
+ },
+ "outboundPolicy": {
+ "timeoutPolicy": {
+ "responseTimeoutInSeconds": 12
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json
new file mode 100644
index 000000000000..07925fd102a4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprComponents_CreateOrUpdate_Secrets.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_CreateOrUpdate_Secrets.json
new file mode 100644
index 000000000000..1bd53a91f7a3
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_Delete.json
new file mode 100644
index 000000000000..84e2ebdf9c5e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_Get_SecretStoreComponent.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_Get_SecretStoreComponent.json
new file mode 100644
index 000000000000..c2b1160b516d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprComponents_Get_Secrets.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_Get_Secrets.json
new file mode 100644
index 000000000000..6381263245e1
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_List.json
new file mode 100644
index 000000000000..10d73f09794d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_List.json
@@ -0,0 +1,152 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/DaprComponents_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_ListSecrets.json
new file mode 100644
index 000000000000..b046c6e2679c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprComponents_ListSecrets.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "componentName": "reddog",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "secret1"
+ },
+ {
+ "name": "secret2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json
new file mode 100644
index 000000000000..29585f457b0d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json
new file mode 100644
index 000000000000..7e39dcabdcb0
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json
new file mode 100644
index 000000000000..538bae5f8fbf
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprSubscriptions_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_Delete.json
new file mode 100644
index 000000000000..e46f82750f66
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "name": "mysubscription",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json
new file mode 100644
index 000000000000..2f866d8ff737
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprSubscriptions_Get_DefaultRoute.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_Get_DefaultRoute.json
new file mode 100644
index 000000000000..98cb35b9b07c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json
new file mode 100644
index 000000000000..3f58ddaef5a7
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/DaprSubscriptions_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_List.json
new file mode 100644
index 000000000000..84800d3d38ad
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/DaprSubscriptions_List.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "myenvironment",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Job_CreateorUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_CreateorUpdate.json
new file mode 100644
index 000000000000..e77ed058ecad
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_CreateorUpdate.json
@@ -0,0 +1,207 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2023-08-01-preview",
+ "JobEnvelope": {
+ "location": "East US",
+ "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"
+ },
+ "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",
+ "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"
+ },
+ "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",
+ "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"
+ },
+ "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/2023-08-01-preview/examples/Job_CreateorUpdate_ConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_CreateorUpdate_ConnectedEnvironment.json
new file mode 100644
index 000000000000..62179dbdbf9a
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_CreateorUpdate_ConnectedEnvironment.json
@@ -0,0 +1,219 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Job_CreateorUpdate_EventTrigger.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_CreateorUpdate_EventTrigger.json
new file mode 100644
index 000000000000..418540a0cec4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_CreateorUpdate_EventTrigger.json
@@ -0,0 +1,199 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2023-08-01-preview",
+ "JobEnvelope": {
+ "location": "East US",
+ "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"
+ }
+ }
+ ]
+ }
+ },
+ "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",
+ "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": "githubscalingrule",
+ "type": "github-runner",
+ "metadata": {
+ "githubAPIURL": "https://api.github.com"
+ }
+ }
+ ]
+ }
+ },
+ "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",
+ "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"
+ }
+ }
+ ]
+ }
+ },
+ "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/2023-08-01-preview/examples/Job_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Delete.json
new file mode 100644
index 000000000000..1822598c1cce
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testWorkerContainerAppsJob0",
+ "api-version": "2023-08-01-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=2023-08-01-preview"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Execution_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Execution_Get.json
new file mode 100644
index 000000000000..201dbb87fa56
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Execution_Get.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "jobExecutionName": "jobExecution1",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "jobExecution1",
+ "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.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"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Executions_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Executions_Get.json
new file mode 100644
index 000000000000..d7b1f0bba873
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Executions_Get.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "testcontainerAppJob-27944454",
+ "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.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"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Get.json
new file mode 100644
index 000000000000..65d39d92fffe
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Get.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2023-08-01-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",
+ "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/2023-08-01-preview/examples/Job_GetDetector.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_GetDetector.json
new file mode 100644
index 000000000000..e1b334918362
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/Job_ListDetectors.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_ListDetectors.json
new file mode 100644
index 000000000000..0f079e99fac4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/Job_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_ListSecrets.json
new file mode 100644
index 000000000000..4d602302fce2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_ListSecrets.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "secret1"
+ },
+ {
+ "name": "secret2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Patch.json
new file mode 100644
index 000000000000..d2215ca0f257
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Patch.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "api-version": "2023-08-01-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=2023-08-01-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/2023-08-01-preview/examples/Job_ProxyGet.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_ProxyGet.json
new file mode 100644
index 000000000000..8f1800436018
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_ProxyGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "apiName": "rootApi",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Job_Start.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Start.json
new file mode 100644
index 000000000000..041a5964047e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/Job_Stop_Execution.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Stop_Execution.json
new file mode 100644
index 000000000000..835247cf7019
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "location"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Stop_Multiple.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Stop_Multiple.json
new file mode 100644
index 000000000000..40fc541673dc
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Job_Stop_Multiple.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "jobName": "testcontainerAppsJob0",
+ "jobExecutionName": {
+ "value": [
+ {
+ "name": "jobExecution-27944453"
+ },
+ {
+ "name": "jobExecution-27944452"
+ },
+ {
+ "name": "jobExecution-27944451"
+ }
+ ]
+ },
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "jobExecution-27944453",
+ "status": "Stopped",
+ "startTime": "2023-02-13T20:37:30+00:00",
+ "endTime": "2023-02-13T20:47:30+00:00"
+ },
+ {
+ "name": "jobExecution-27944452",
+ "status": "Stopped",
+ "startTime": "2023-02-13T20:37:30+00:00",
+ "endTime": "2023-02-13T20:47:30+00:00"
+ },
+ {
+ "name": "jobExecution-27944453",
+ "status": "Failed",
+ "startTime": "2023-02-13T20:37:30+00:00",
+ "endTime": "2023-02-13T20:47:30+00:00"
+ }
+ ],
+ "nextLink": null
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "location"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Jobs_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Jobs_ListByResourceGroup.json
new file mode 100644
index 000000000000..2352b1501169
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Jobs_ListByResourceGroup.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Jobs_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Jobs_ListBySubscription.json
new file mode 100644
index 000000000000..85de258d4be5
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Jobs_ListBySubscription.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ManagedCertificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedCertificate_CreateOrUpdate.json
new file mode 100644
index 000000000000..c402c0cbbe7f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ManagedCertificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedCertificate_Delete.json
new file mode 100644
index 000000000000..ef1a441bc7cd
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedCertificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedCertificate_Get.json
new file mode 100644
index 000000000000..e616e1b03d9e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ManagedCertificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedCertificates_ListByManagedEnvironment.json
new file mode 100644
index 000000000000..9b45e9e56305
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedCertificates_ListByManagedEnvironment.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ManagedCertificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedCertificates_Patch.json
new file mode 100644
index 000000000000..ccb50afe2488
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ManagedEnvironmentDiagnostics_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentDiagnostics_Get.json
new file mode 100644
index 000000000000..145b90c52824
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ManagedEnvironmentDiagnostics_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentDiagnostics_List.json
new file mode 100644
index 000000000000..17a4f1e0c886
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ManagedEnvironmentUsages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentUsages_List.json
new file mode 100644
index 000000000000..e0bac47f2c09
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentUsages_List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json
new file mode 100644
index 000000000000..adf8411b0b8e
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ManagedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentsStorages_Delete.json
new file mode 100644
index 000000000000..3f9ade7d88f9
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentsStorages_Get.json
new file mode 100644
index 000000000000..25c353caa975
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-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/2023-08-01-preview/examples/ManagedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentsStorages_List.json
new file mode 100644
index 000000000000..93f49bf984be
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironmentsStorages_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "managedEnv",
+ "api-version": "2023-08-01-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"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_CreateOrUpdate.json
new file mode 100644
index 000000000000..9b5540d53d78
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_CreateOrUpdate.json
@@ -0,0 +1,258 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2023-08-01-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",
+ "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"
+ }
+ },
+ "tracesConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "logsConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "metricsConfiguration": {
+ "destinations": [
+ "dataDog"
+ ]
+ }
+ },
+ "zoneRedundant": true,
+ "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",
+ "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
+ }
+ }
+ }
+ }
+ },
+ "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",
+ "dynamicJsonColumns": true
+ }
+ },
+ "openTelemetryConfiguration": {
+ "destinationsConfiguration": {
+ "dataDogConfiguration": {
+ "site": "datadoghq.com",
+ "key": null
+ }
+ },
+ "tracesConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "logsConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "metricsConfiguration": {
+ "destinations": [
+ "dataDog"
+ ]
+ }
+ },
+ "zoneRedundant": true,
+ "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",
+ "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",
+ "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
+ }
+ },
+ "tracesConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "logsConfiguration": {
+ "destinations": [
+ "appInsights"
+ ]
+ },
+ "metricsConfiguration": {
+ "destinations": [
+ "dataDog"
+ ]
+ }
+ },
+ "zoneRedundant": true,
+ "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",
+ "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/2023-08-01-preview/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json
new file mode 100644
index 000000000000..e81164dd1b32
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2023-08-01-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,
+ "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",
+ "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,
+ "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",
+ "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,
+ "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",
+ "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/2023-08-01-preview/examples/ManagedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_Delete.json
new file mode 100644
index 000000000000..0d29f909855d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_Delete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "examplekenv",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ManagedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_Get.json
new file mode 100644
index 000000000000..1101cc40767d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_Get.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "jlaw-demo1",
+ "api-version": "2023-08-01-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,
+ "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",
+ "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
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_GetAuthToken.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_GetAuthToken.json
new file mode 100644
index 000000000000..5f40ce140ef4
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_GetAuthToken.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "rg",
+ "environmentName": "testenv",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ManagedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_ListByResourceGroup.json
new file mode 100644
index 000000000000..37990d2a44c5
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_ListByResourceGroup.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "api-version": "2023-08-01-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,
+ "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",
+ "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,
+ "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/2023-08-01-preview/examples/ManagedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_ListBySubscription.json
new file mode 100644
index 000000000000..c6c091c303f2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_ListBySubscription.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "api-version": "2023-08-01-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,
+ "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",
+ "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,
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_ListWorkloadProfileStates.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_ListWorkloadProfileStates.json
new file mode 100644
index 000000000000..5a41c3fe73aa
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_ListWorkloadProfileStates.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9",
+ "resourceGroupName": "examplerg",
+ "environmentName": "jlaw-demo1",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/ManagedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_Patch.json
new file mode 100644
index 000000000000..71639e76c0e9
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/ManagedEnvironments_Patch.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "environmentName": "testcontainerenv",
+ "api-version": "2023-08-01-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": "North Central US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentErrors": null,
+ "defaultDomain": "jlaw-demo1.k4apps.io",
+ "staticIp": "20.42.33.145",
+ "zoneRedundant": true,
+ "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",
+ "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=2023-08-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Operations_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..9549729b76f5
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Operations_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Replicas_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Replicas_Get.json
new file mode 100644
index 000000000000..9920f10b1793
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Replicas_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "myapp",
+ "revisionName": "myapp--0wlqy09",
+ "replicaName": "myapp--0wlqy09-5d9774cff-5wnd8",
+ "api-version": "2023-08-01-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"
+ }
+ ],
+ "initContainers": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Replicas_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Replicas_List.json
new file mode 100644
index 000000000000..1977967f547d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Replicas_List.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "myapp",
+ "revisionName": "myapp--0wlqy09",
+ "api-version": "2023-08-01-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"
+ }
+ ],
+ "initContainers": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_Activate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_Activate.json
new file mode 100644
index 000000000000..3faabb00cda6
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_Deactivate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_Deactivate.json
new file mode 100644
index 000000000000..3faabb00cda6
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_Get.json
new file mode 100644
index 000000000000..ebcaa66f469d
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_Get.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "revisionName": "testcontainerApp0-pjxhsye",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppcontainerApps/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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_List.json
new file mode 100644
index 000000000000..e2ba0a76ce7f
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_List.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/Revisions_Restart.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Revisions_Restart.json
new file mode 100644
index 000000000000..0ceb8b92d4ec
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-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": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_CreateOrUpdate.json
new file mode 100644
index 000000000000..bd00bc3379f2
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_CreateOrUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "sourceControlName": "current",
+ "api-version": "2023-08-01-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": "./",
+ "image": "image/tag",
+ "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"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_Delete.json
new file mode 100644
index 000000000000..30be1e50de41
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_Delete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "sourceControlName": "current",
+ "api-version": "2023-08-01-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/2023-08-01-preview/examples/SourceControls_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_Get.json
new file mode 100644
index 000000000000..9bb6e0762217
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "sourceControlName": "current",
+ "api-version": "2023-08-01-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": "./",
+ "image": "image/tag"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_ListByContainer.json
new file mode 100644
index 000000000000..838e47282c99
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/SourceControls_ListByContainer.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744",
+ "resourceGroupName": "workerapps-rg-xj",
+ "containerAppName": "testcanadacentral",
+ "api-version": "2023-08-01-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": "./",
+ "image": "image/tag"
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Subscriptions_GetCustomDomainVerificationId.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Subscriptions_GetCustomDomainVerificationId.json
new file mode 100644
index 000000000000..8afe07601143
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Subscriptions_GetCustomDomainVerificationId.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "d27c3573-f76e-4b26-b871-0ccd2203d08c",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "5B406D5E790BBD224468CE0AA814C396203C7CE755F135A80E35D41865E51967"
+ }
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Usages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Usages_List.json
new file mode 100644
index 000000000000..ae8989c90feb
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2023-08-01-preview/examples/Usages_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2023-08-01-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/Microsoft.App/stable/2022-10-01/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-10-01/examples/ConnectedEnvironments_Get.json
index 97da2270b358..586e72c777cc 100644
--- a/specification/app/resource-manager/Microsoft.App/stable/2022-10-01/examples/ConnectedEnvironments_Get.json
+++ b/specification/app/resource-manager/Microsoft.App/stable/2022-10-01/examples/ConnectedEnvironments_Get.json
@@ -10,9 +10,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/kubeEnvironments/examplekenv",
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/examplekenv",
"name": "examplekenv",
- "type": "Microsoft.App/kubeEnvironments",
+ "type": "Microsoft.App/connectedEnvironments",
"location": "North Central US",
"extendedLocation": {
"name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Get.json
index 8642e9ed07d9..d2dec445c0e5 100644
--- a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Get.json
+++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Get.json
@@ -14,9 +14,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/kubeEnvironments/examplekenv",
+ "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/examplekenv",
"name": "examplekenv",
- "type": "Microsoft.App/kubeEnvironments",
+ "type": "Microsoft.App/connectedEnvironments",
"location": "North Central US",
"extendedLocation": {
"name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
diff --git a/specification/app/resource-manager/readme.md b/specification/app/resource-manager/readme.md
index f066ec6edb63..45326a11f02f 100644
--- a/specification/app/resource-manager/readme.md
+++ b/specification/app/resource-manager/readme.md
@@ -26,14 +26,62 @@ These are the global settings for the app.
``` yaml
openapi-type: arm
-tag: package-2023-05
+tag: package-preview-2023-08
```
+
+### Tag: package-preview-2023-08
+
+These settings apply only when `--tag=package-preview-2023-08` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2023-08'
+input-file:
+ - Microsoft.App/preview/2023-08-01-preview/AppResiliency.json
+ - Microsoft.App/preview/2023-08-01-preview/AuthConfigs.json
+ - Microsoft.App/preview/2023-08-01-preview/AvailableWorkloadProfiles.json
+ - Microsoft.App/preview/2023-08-01-preview/BillingMeters.json
+ - Microsoft.App/preview/2023-08-01-preview/Builders.json
+ - Microsoft.App/preview/2023-08-01-preview/Builds.json
+ - Microsoft.App/preview/2023-08-01-preview/CommonDefinitions.json
+ - Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironments.json
+ - Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironmentsCertificates.json
+ - Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironmentsDaprComponents.json
+ - Microsoft.App/preview/2023-08-01-preview/ConnectedEnvironmentsStorages.json
+ - Microsoft.App/preview/2023-08-01-preview/ContainerApps.json
+ - Microsoft.App/preview/2023-08-01-preview/ContainerAppsRevisions.json
+ - Microsoft.App/preview/2023-08-01-preview/Diagnostics.json
+ - Microsoft.App/preview/2023-08-01-preview/Global.json
+ - Microsoft.App/preview/2023-08-01-preview/Jobs.json
+ - Microsoft.App/preview/2023-08-01-preview/ManagedEnvironments.json
+ - Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsDaprComponents.json
+ - Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json
+ - Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsDaprSubscriptions.json
+ - Microsoft.App/preview/2023-08-01-preview/ManagedEnvironmentsStorages.json
+ - Microsoft.App/preview/2023-08-01-preview/SourceControls.json
+ - Microsoft.App/preview/2023-08-01-preview/Subscriptions.json
+ - Microsoft.App/preview/2023-08-01-preview/Usages.json
+directive:
+ - suppress: OperationIdNounVerb
+ from: Builds.json
+ reason: |
+ The linting thinks that 'Builder' in 'Builds_ListByBuilderResource' is a noun, while it
+ is really the parent.
+ - suppress: LroErrorContent
+ from: Builds.json
+ reason: |
+ We are not using the common error response for these new resources to promote consistency
+ with the rest of the Microsoft.App RP, as it also doesn't use the common-types error.
+ - suppress: LroErrorContent
+ from: Builders.json
+ reason: |
+ We are not using the common error response for these new resources to promote consistency
+ with the rest of the Microsoft.App RP, as it also doesn't use the common-types error.
+```
### Tag: package-preview-2023-05
These settings apply only when `--tag=package-preview-2023-05` is specified on the command line.
-```yaml $(tag) == 'package-preview-2023-05'
+``` yaml $(tag) == 'package-preview-2023-05'
input-file:
- Microsoft.App/preview/2023-05-02-preview/AuthConfigs.json
- Microsoft.App/preview/2023-05-02-preview/AvailableWorkloadProfiles.json
@@ -60,7 +108,7 @@ input-file:
These settings apply only when `--tag=package-2023-05` is specified on the command line.
-```yaml $(tag) == 'package-2023-05'
+``` yaml $(tag) == 'package-2023-05'
input-file:
- Microsoft.App/stable/2023-05-01/AuthConfigs.json
- Microsoft.App/stable/2023-05-01/AvailableWorkloadProfiles.json
@@ -80,6 +128,7 @@ input-file:
- Microsoft.App/stable/2023-05-01/ManagedEnvironmentsStorages.json
- Microsoft.App/stable/2023-05-01/SourceControls.json
```
+
### Tag: package-preview-2023-04
These settings apply only when `--tag=package-preview-2023-04` is specified on the command line.