-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Microsof.app 2022 01 01 preview/add custom domains #17385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 16 commits
98de6eb
8f6cb60
925c9c6
6e3b5a4
b716fd1
d47481b
436f0b7
b00c1f0
e4b0d0f
86c094e
3fce21c
7609023
b37c3ac
b9f3846
8c1cd8b
34300f3
5d9fe2c
b1f5004
8da8fa5
0fbec14
4ccd72d
a98ac1a
755f670
1a697d0
cbb2b95
64dab7a
72b90e7
3ecab2b
e9b4877
cdb52dd
6792d83
7eddc6e
37c0880
1ee5c24
cdb9674
2058c97
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -309,6 +309,58 @@ | |
| } | ||
| } | ||
| } | ||
| }, | ||
| "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/analyzeCustomHostName": { | ||
| "post": { | ||
| "tags": [ | ||
| "ContainerApps" | ||
| ], | ||
| "summary": "Analyzes a custom hostname for a Container App", | ||
| "operationId": "ContainerAppsRevisions_AnalyzeCustomHostName", | ||
| "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": { | ||
| "Patch Container App": { | ||
vinisoto marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "$ref": "./examples/ContainerAppsRevisions_AnalyzeCustomHostName.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,13 @@ | |
| "revisionName" | ||
| ] | ||
| }, | ||
| "customDomains": { | ||
| "description": "custom domain bindings for Container Apps' hostnames.", | ||
| "type": "array", | ||
| "items": { | ||
| "$ref": "#/definitions/CustomDomain" | ||
| } | ||
vinisoto marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| }, | ||
| "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 +615,129 @@ | |
| "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", | ||
vinisoto marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| "SniEnabled", | ||
| "IpBasedEnabled" | ||
|
||
| ], | ||
| "type": "string", | ||
| "x-ms-enum": { | ||
| "name": "bindingType", | ||
| "modelAsString": false | ||
ruslany marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| } | ||
| }, | ||
| "virtualIP": { | ||
| "description": "Virtual IP address assigned to the hostname if IP based binding is enabled.", | ||
| "type": "string" | ||
| }, | ||
vinisoto marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "certificateName": { | ||
| "description": "Name 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/TrackedResource" | ||
| } | ||
| ], | ||
| "properties": { | ||
| "properties": { | ||
| "description": "CustomHostnameAnalysisResult resource specific properties", | ||
| "type": "object", | ||
| "properties": { | ||
| "hostName": { | ||
| "description": "Host name that was analyzed", | ||
| "type": "string", | ||
| "readOnly": true | ||
| }, | ||
| "isHostnameAlreadyVerified": { | ||
| "description": "<code>true</code> if hostname is already verified; otherwise, <code>false</code>.", | ||
| "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": "<code>true</code> if there is a conflict on the Container App's managed environment; otherwise, <code>false</code>.", | ||
| "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": { | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any reason you are not choosing to name with list* something like .. listCustomHostProperties or something .
The reason I ask is since in ARM templates only list* operations are supported so you could do operations using the output values of this call. #Resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See examples here : https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-functions-resource#list
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@raosuhas For context: This API will check if a certain hostname (e.g., my-app.com) is valid for the app by performing a number of checks (e.g., hostname not being used by another app, customer owns the domain, etc.) and returning the results. I think analyze... describes better what the API actually does but I can see the merit on having it available for ARM templates. @ruslany what do you think?