diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json
index 3546171f470c..eeb88222661a 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json
@@ -309,6 +309,58 @@
}
}
}
+ },
+ "/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"
+ }
+ }
+ }
}
},
"definitions": {
@@ -400,6 +452,11 @@
"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."
@@ -489,6 +546,16 @@
"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"
@@ -551,6 +618,124 @@
"type": "boolean"
}
}
+ },
+ "CustomDomain": {
+ "description": "Custom Domain of a Container App",
+ "type": "object",
+ "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"
+ }
+ }
+ },
+ "CustomHostnameAnalysisResult": {
+ "description": "Custom domain analysis.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "CustomHostnameAnalysisResult resource specific properties",
+ "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": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse",
+ "description": "Raw failure information if DNS verification fails.",
+ "readOnly": true
+ },
+ "hasConflictOnManagedEnvironment": {
+ "description": "true
if there is a conflict on the Container App's managed environment; 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
+ }
+ }
}
},
"securityDefinitions": {
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json
index 840bd906a7df..232f057b1778 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json
@@ -308,6 +308,284 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}/certificates": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Get the Certificates in a given managed environment.",
+ "operationId": "Certificates_ListByManagedEnvironment",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "managedEnvironmentName",
+ "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/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/{managedEnvironmentName}/certificates/{name}": {
+ "get": {
+ "tags": [
+ "ManagedEnvironments",
+ "Certificates"
+ ],
+ "summary": "Get the specified Certificate.",
+ "operationId": "Certificate_GetByName",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "managedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "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": "#/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": "Certificate_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "managedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the Certificate.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateEnvelope",
+ "in": "body",
+ "description": "Certificate to be created or updated",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/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": "Certificate_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "managedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "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": "managedEnvironmentName",
+ "in": "path",
+ "description": "Name of the Managed Environment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "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": "#/definitions/CertificatePatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Container App updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Certificate": {
+ "$ref": "./examples/Certificates_Patch.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -381,7 +659,7 @@
],
"properties": {
"properties": {
- "description": "Environment resource specific properties",
+ "description": "Managed environment resource specific properties",
"type": "object",
"properties": {
"provisioningState": {
@@ -501,6 +779,112 @@
"x-ms-secret": true
}
}
+ },
+ "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": {
+ "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
+ },
+ "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
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
}
},
"securityDefinitions": {
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_CreateOrUpdate.json
new file mode 100644
index 000000000000..7f2020bbde18
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_CreateOrUpdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "managedEnvironmentName": "testcontainerenv",
+ "name": "certificate-firendly-name",
+ "api-version": "2022-01-01-preview",
+ "certificateEnvelope": {
+ "location": "East US",
+ "properties": {
+ "password": "private key password",
+ "value": "PFX-or-PEM-blob"
+ }
+ }
+ },
+ "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": {
+ "subjectName": "my-subject-name.company.country.net",
+ "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/2022-01-01-preview/examples/Certificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Delete.json
new file mode 100644
index 000000000000..a94acec7bb08
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "managedEnvironmentName": "testcontainerenv",
+ "name": "certificate-firendly-name",
+ "api-version": "2022-01-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Get.json
new file mode 100644
index 000000000000..bdb732bd2d6c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "managedEnvironmentName": "testcontainerenv",
+ "name": "certificate-firendly-name",
+ "api-version": "2022-01-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": {
+ "subjectName": "my-subject-name.company.country.net",
+ "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/2022-01-01-preview/examples/Certificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_ListByManagedEnvironment.json
new file mode 100644
index 000000000000..b2c49403e21c
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_ListByManagedEnvironment.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "managedEnvironmentName": "testcontainerenv",
+ "api-version": "2022-01-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": {
+ "subjectName": "my-subject-name.company.country.net",
+ "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/managedEnvironments/testcontainerenv/certificate-firendly-name",
+ "name": "certificate-firendly-name",
+ "type": "Microsoft.App/ManagedEnvironments/Certificates",
+ "location": "East US",
+ "properties": {
+ "subjectName": "my-subject-name.company.country.net",
+ "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/2022-01-01-preview/examples/Certificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_Patch.json
new file mode 100644
index 000000000000..f26a38744f41
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_Patch.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "examplerg",
+ "managedEnvironmentName": "testcontainerenv",
+ "name": "certificate-firendly-name",
+ "api-version": "2022-01-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": {
+ "subjectName": "my-subject-name.company.country.net",
+ "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/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json
index 1b05daa84158..b0c13e993503 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json
@@ -11,7 +11,19 @@
"configuration": {
"ingress": {
"external": true,
- "targetPort": 3000
+ "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"
+ }
+ ]
}
},
"template": {
@@ -61,7 +73,19 @@
"fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
- "transport": "auto"
+ "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"
+ }
+ ]
}
},
"template": {
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json
index 2194863d1c4b..eda7d97e4c09 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json
@@ -22,7 +22,19 @@
"fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
- "transport": "auto"
+ "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"
+ }
+ ]
}
},
"template": {
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json
index 85c441949e13..16216da219e6 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json
@@ -23,7 +23,19 @@
"fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
- "transport": "auto"
+ "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"
+ }
+ ]
}
},
"template": {
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json
index 2e9fd134a9aa..cdc204f34756 100644
--- a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json
@@ -22,7 +22,19 @@
"fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
- "transport": "auto"
+ "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"
+ }
+ ]
}
},
"template": {
diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json
new file mode 100644
index 000000000000..21f55a593221
--- /dev/null
+++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "rg",
+ "containerAppName": "testcontainerApp0",
+ "customHostname": "my.name.corp",
+ "api-version": "2022-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0",
+ "properties": {
+ "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"
+ ]
+ }
+ }
+ }
+ }
+}