diff --git a/scripts/ci/credscan/CredScanSuppressions.json b/scripts/ci/credscan/CredScanSuppressions.json index cb45a80aeb5..79576301ceb 100644 --- a/scripts/ci/credscan/CredScanSuppressions.json +++ b/scripts/ci/credscan/CredScanSuppressions.json @@ -132,15 +132,17 @@ "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_env_dapr_components.yaml", "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_env_e2e.yaml", "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_env_storage.yaml", - "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_identity_e2e.yaml", "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_identity_system.yaml", - "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_identity_user.yaml", "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_ingress_e2e.yaml", "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_ingress_traffic_e2e.yaml", "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_logstream.yaml", "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_update.yaml", "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_dapr_e2e.yaml", - "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_up_image_e2e.yaml" + "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_up_image_e2e.yaml", + "src\\containerapp\\azext_containerapp\\tests\\latest\\recordings\\test_containerapp_custom_domains_e2e.yaml", + "src\\containerapp\\azext_containerapp\\tests\\latest\\cert.pfx", + "src\\containerapp\\azext_containerapp\\tests\\latest\\test_containerapp_commands.py", + "src\\containerapp\\azext_containerapp\\tests\\latest\test_containerapp_env_commands.py" ], "_justification": "Dummy resources' keys left during testing Microsoft.App (required for log-analytics to create managedEnvironments)" } diff --git a/src/containerapp/HISTORY.rst b/src/containerapp/HISTORY.rst index 7e9f3e9e2d8..8d14caf9feb 100644 --- a/src/containerapp/HISTORY.rst +++ b/src/containerapp/HISTORY.rst @@ -3,6 +3,15 @@ Release History =============== +0.3.5 +++++++ +* Add parameter --zone-redundant to 'az containerapp env create' +* Added 'az containerapp env certificate' to manage certificates in a container app environment +* Added 'az containerapp hostname' to manage hostnames in a container app +* Added 'az containerapp ssl upload' to upload a certificate, add a hostname and the binding to a container app +* Added 'az containerapp auth' to manage AuthConfigs for a containerapp +* Require Azure CLI version of at least 2.37.0 + 0.3.4 ++++++ * BREAKING CHANGE: 'az containerapp up' and 'az containerapp github-action add' now use the github repo's default branch instead of "main" diff --git a/src/containerapp/azext_containerapp/_clients.py b/src/containerapp/azext_containerapp/_clients.py index 0b250ec51e8..b562fb71e2e 100644 --- a/src/containerapp/azext_containerapp/_clients.py +++ b/src/containerapp/azext_containerapp/_clients.py @@ -415,6 +415,22 @@ def get_auth_token(cls, cmd, resource_group_name, name): r = send_raw_request(cmd.cli_ctx, "POST", request_url) return r.json() + @classmethod + def validate_domain(cls, cmd, resource_group_name, name, hostname): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/listCustomHostNameAnalysis?api-version={}&customHostname={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + STABLE_API_VERSION, + hostname) + + r = send_raw_request(cmd.cli_ctx, "POST", request_url) + return r.json() + class ManagedEnvironmentClient(): @classmethod @@ -584,6 +600,94 @@ def list_by_resource_group(cls, cmd, resource_group_name, formatter=lambda x: x) return env_list + @classmethod + def show_certificate(cls, cmd, resource_group_name, name, certificate_name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = STABLE_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/certificates/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + certificate_name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url, body=None) + return r.json() + + @classmethod + def list_certificates(cls, cmd, resource_group_name, name, formatter=lambda x: x): + certs_list = [] + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = STABLE_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/certificates?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url, body=None) + j = r.json() + for cert in j["value"]: + formatted = formatter(cert) + certs_list.append(formatted) + return certs_list + + @classmethod + def create_or_update_certificate(cls, cmd, resource_group_name, name, certificate_name, certificate): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = STABLE_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/certificates/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + certificate_name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "PUT", request_url, body=json.dumps(certificate)) + return r.json() + + @classmethod + def delete_certificate(cls, cmd, resource_group_name, name, certificate_name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = STABLE_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/certificates/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + certificate_name, + api_version) + + return send_raw_request(cmd.cli_ctx, "DELETE", request_url, body=None) + + @classmethod + def check_name_availability(cls, cmd, resource_group_name, name, name_availability_request): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = STABLE_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/checkNameAvailability?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "POST", request_url, body=json.dumps(name_availability_request)) + return r.json() + class GitHubActionClient(): @classmethod @@ -900,3 +1004,59 @@ def list(cls, cmd, resource_group_name, env_name, formatter=lambda x: x): env_list.append(formatted) return env_list + + +class AuthClient(): + @classmethod + def create_or_update(cls, cmd, resource_group_name, container_app_name, auth_config_name, auth_config_envelope, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = STABLE_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + request_url = f"{management_hostname}subscriptions/{sub_id}/resourceGroups/{resource_group_name}/providers/Microsoft.App/containerApps/{container_app_name}/authConfigs/{auth_config_name}?api-version={api_version}" + + if "properties" not in auth_config_envelope: # sdk does this for us + temp_env = auth_config_envelope + auth_config_envelope = {} + auth_config_envelope["properties"] = temp_env + + r = send_raw_request(cmd.cli_ctx, "PUT", request_url, body=json.dumps(auth_config_envelope)) + + if no_wait: + return r.json() + elif r.status_code == 201: + request_url = f"{management_hostname}subscriptions/{sub_id}/resourceGroups/{resource_group_name}/providers/Microsoft.App/containerApps/{container_app_name}/authConfigs/{auth_config_name}?api-version={api_version}" + return poll(cmd, request_url, "waiting") + + return r.json() + + @classmethod + def delete(cls, cmd, resource_group_name, container_app_name, auth_config_name, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = STABLE_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + request_url = f"{management_hostname}subscriptions/{sub_id}/resourceGroups/{resource_group_name}/providers/Microsoft.App/containerApps/{container_app_name}/authConfigs/{auth_config_name}?api-version={api_version}" + + r = send_raw_request(cmd.cli_ctx, "DELETE", request_url) + + if no_wait: + return # API doesn't return JSON (it returns no content) + elif r.status_code in [200, 201, 202, 204]: + request_url = f"{management_hostname}subscriptions/{sub_id}/resourceGroups/{resource_group_name}/providers/Microsoft.App/containerApps/{container_app_name}/authConfigs/{auth_config_name}?api-version={api_version}" + if r.status_code == 200: # 200 successful delete, 204 means storage not found + from azure.cli.core.azclierror import ResourceNotFoundError + try: + poll(cmd, request_url, "scheduledfordelete") + except ResourceNotFoundError: + pass + logger.warning('Containerapp AuthConfig successfully deleted') + return + + @classmethod + def get(cls, cmd, resource_group_name, container_app_name, auth_config_name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = STABLE_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + request_url = f"{management_hostname}subscriptions/{sub_id}/resourceGroups/{resource_group_name}/providers/Microsoft.App/containerApps/{container_app_name}/authConfigs/{auth_config_name}?api-version={api_version}" + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + return r.json() diff --git a/src/containerapp/azext_containerapp/_constants.py b/src/containerapp/azext_containerapp/_constants.py index 62e655754b0..1ba84998feb 100644 --- a/src/containerapp/azext_containerapp/_constants.py +++ b/src/containerapp/azext_containerapp/_constants.py @@ -10,5 +10,17 @@ LONG_POLLING_INTERVAL_SECS = 10 LOG_ANALYTICS_RP = "Microsoft.OperationalInsights" +CONTAINER_APPS_RP = "Microsoft.App" MAX_ENV_PER_LOCATION = 2 + +MICROSOFT_SECRET_SETTING_NAME = "microsoft-provider-authentication-secret" +FACEBOOK_SECRET_SETTING_NAME = "facebook-provider-authentication-secret" +GITHUB_SECRET_SETTING_NAME = "github-provider-authentication-secret" +GOOGLE_SECRET_SETTING_NAME = "google-provider-authentication-secret" +MSA_SECRET_SETTING_NAME = "msa-provider-authentication-secret" +TWITTER_SECRET_SETTING_NAME = "twitter-provider-authentication-secret" +APPLE_SECRET_SETTING_NAME = "apple-provider-authentication-secret" +UNAUTHENTICATED_CLIENT_ACTION = ['RedirectToLoginPage', 'AllowAnonymous', 'RejectWith401', 'RejectWith404'] +FORWARD_PROXY_CONVENTION = ['NoProxy', 'Standard', 'Custom'] +CHECK_CERTIFICATE_NAME_AVAILABILITY_TYPE = "Microsoft.App/managedEnvironments/certificates" diff --git a/src/containerapp/azext_containerapp/_help.py b/src/containerapp/azext_containerapp/_help.py index d5db7171bdf..bbe07960a82 100644 --- a/src/containerapp/azext_containerapp/_help.py +++ b/src/containerapp/azext_containerapp/_help.py @@ -423,6 +423,56 @@ az containerapp env storage remove -g MyResourceGroup --storage-name MyStorageName -n MyEnvironment """ +# Certificates Commands +helps['containerapp env certificate'] = """ + type: group + short-summary: Commands to manage certificates for the Container Apps environment. +""" + +helps['containerapp env certificate list'] = """ + type: command + short-summary: List certificates for an environment. + examples: + - name: List certificates for an environment. + text: | + az containerapp env certificate list -g MyResourceGroup --name MyEnvironment + - name: List certificates by certificate id. + text: | + az containerapp env certificate list -g MyResourceGroup --name MyEnvironment --certificate MyCertificateId + - name: List certificates by certificate name. + text: | + az containerapp env certificate list -g MyResourceGroup --name MyEnvironment --certificate MyCertificateName + - name: List certificates by certificate thumbprint. + text: | + az containerapp env certificate list -g MyResourceGroup --name MyEnvironment --thumbprint MyCertificateThumbprint +""" + +helps['containerapp env certificate upload'] = """ + type: command + short-summary: Add or update a certificate. + examples: + - name: Add or update a certificate. + text: | + az containerapp env certificate upload -g MyResourceGroup --name MyEnvironment --certificate-file MyFilepath + - name: Add or update a certificate with a user-provided certificate name. + text: | + az containerapp env certificate upload -g MyResourceGroup --name MyEnvironment --certificate-file MyFilepath --certificate-name MyCertificateName +""" + +helps['containerapp env certificate delete'] = """ + type: command + short-summary: Delete a certificate from the Container Apps environment. + examples: + - name: Delete a certificate from the Container Apps environment by certificate name + text: | + az containerapp env certificate delete -g MyResourceGroup --name MyEnvironment --certificate MyCertificateName + - name: Delete a certificate from the Container Apps environment by certificate id + text: | + az containerapp env certificate delete -g MyResourceGroup --name MyEnvironment --certificate MyCertificateId + - name: Delete a certificate from the Container Apps environment by certificate thumbprint + text: | + az containerapp env certificate delete -g MyResourceGroup --name MyEnvironment --thumbprint MyCertificateThumbprint +""" # Identity Commands helps['containerapp identity'] = """ @@ -714,3 +764,267 @@ text: | az containerapp dapr disable -n MyContainerapp -g MyResourceGroup """ + +# custom domain Commands +helps['containerapp ssl'] = """ + type: group + short-summary: Upload certificate to a managed environment, add hostname to an app in that environment, and bind the certificate to the hostname +""" + +helps['containerapp ssl upload'] = """ + type: command + short-summary: Upload certificate to a managed environment, add hostname to an app in that environment, and bind the certificate to the hostname +""" + +helps['containerapp hostname'] = """ + type: group + short-summary: Commands to manage hostnames of a container app. +""" + +helps['containerapp hostname bind'] = """ + type: command + short-summary: Add or update the hostname and binding with an existing certificate. + examples: + - name: Add or update hostname and binding. + text: | + az containerapp hostname bind -n MyContainerapp -g MyResourceGroup --hostname MyHostname --certificate MyCertificateId +""" + +helps['containerapp hostname delete'] = """ + type: command + short-summary: Delete hostnames from a container app. + examples: + - name: Delete secrets from a container app. + text: | + az containerapp hostname delete -n MyContainerapp -g MyResourceGroup --hostname MyHostname +""" + +helps['containerapp hostname list'] = """ + type: command + short-summary: List the hostnames of a container app. + examples: + - name: List the hostnames of a container app. + text: | + az containerapp hostname list -n MyContainerapp -g MyResourceGroup +""" + +# Auth commands +helps['containerapp auth'] = """ +type: group +short-summary: Manage containerapp authentication and authorization. +""" + +helps['containerapp auth show'] = """ +type: command +short-summary: Show the authentication settings for the containerapp. +examples: + - name: Show the authentication settings for the containerapp. + text: az containerapp auth show --name MyContainerapp --resource-group MyResourceGroup +""" + +helps['containerapp auth update'] = """ +type: command +short-summary: Update the authentication settings for the containerapp. +examples: + - name: Update the client ID of the AAD provider already configured. + text: | + az containerapp auth update -g myResourceGroup --name MyContainerapp --set identityProviders.azureActiveDirectory.registration.clientId=my-client-id + - name: Configure the app with file based authentication by setting the config file path. + text: | + az containerapp auth update -g myResourceGroup --name MyContainerapp --config-file-path D:\\home\\site\\wwwroot\\auth.json + - name: Configure the app to allow unauthenticated requests to hit the app. + text: | + az containerapp auth update -g myResourceGroup --name MyContainerapp --unauthenticated-client-action AllowAnonymous + - name: Configure the app to redirect unauthenticated requests to the Facebook provider. + text: | + az containerapp auth update -g myResourceGroup --name MyContainerapp --redirect-provider Facebook + - name: Configure the app to listen to the forward headers X-FORWARDED-HOST and X-FORWARDED-PROTO. + text: | + az containerapp auth update -g myResourceGroup --name MyContainerapp --proxy-convention Standard +""" + +helps['containerapp auth apple'] = """ +type: group +short-summary: Manage containerapp authentication and authorization of the Apple identity provider. +""" + +helps['containerapp auth apple show'] = """ +type: command +short-summary: Show the authentication settings for the Apple identity provider. +examples: + - name: Show the authentication settings for the Apple identity provider. + text: az containerapp auth apple show --name MyContainerapp --resource-group MyResourceGroup +""" + +helps['containerapp auth apple update'] = """ +type: command +short-summary: Update the client id and client secret for the Apple identity provider. +examples: + - name: Update the client id and client secret for the Apple identity provider. + text: | + az containerapp auth apple update -g myResourceGroup --name MyContainerapp \\ + --client-id my-client-id --client-secret very_secret_password +""" + +helps['containerapp auth facebook'] = """ +type: group +short-summary: Manage containerapp authentication and authorization of the Facebook identity provider. +""" + +helps['containerapp auth facebook show'] = """ +type: command +short-summary: Show the authentication settings for the Facebook identity provider. +examples: + - name: Show the authentication settings for the Facebook identity provider. + text: az containerapp auth facebook show --name MyContainerapp --resource-group MyResourceGroup +""" + +helps['containerapp auth facebook update'] = """ +type: command +short-summary: Update the app id and app secret for the Facebook identity provider. +examples: + - name: Update the app id and app secret for the Facebook identity provider. + text: | + az containerapp auth facebook update -g myResourceGroup --name MyContainerapp \\ + --app-id my-client-id --app-secret very_secret_password +""" + +helps['containerapp auth github'] = """ +type: group +short-summary: Manage containerapp authentication and authorization of the GitHub identity provider. +""" + +helps['containerapp auth github show'] = """ +type: command +short-summary: Show the authentication settings for the GitHub identity provider. +examples: + - name: Show the authentication settings for the GitHub identity provider. + text: az containerapp auth github show --name MyContainerapp --resource-group MyResourceGroup +""" + +helps['containerapp auth github update'] = """ +type: command +short-summary: Update the client id and client secret for the GitHub identity provider. +examples: + - name: Update the client id and client secret for the GitHub identity provider. + text: | + az containerapp auth github update -g myResourceGroup --name MyContainerapp \\ + --client-id my-client-id --client-secret very_secret_password +""" + +helps['containerapp auth google'] = """ +type: group +short-summary: Manage containerapp authentication and authorization of the Google identity provider. +""" + +helps['containerapp auth google show'] = """ +type: command +short-summary: Show the authentication settings for the Google identity provider. +examples: + - name: Show the authentication settings for the Google identity provider. + text: az containerapp auth google show --name MyContainerapp --resource-group MyResourceGroup +""" + +helps['containerapp auth google update'] = """ +type: command +short-summary: Update the client id and client secret for the Google identity provider. +examples: + - name: Update the client id and client secret for the Google identity provider. + text: | + az containerapp auth google update -g myResourceGroup --name MyContainerapp \\ + --client-id my-client-id --client-secret very_secret_password +""" + +helps['containerapp auth microsoft'] = """ +type: group +short-summary: Manage containerapp authentication and authorization of the Microsoft identity provider. +""" + +helps['containerapp auth microsoft show'] = """ +type: command +short-summary: Show the authentication settings for the Azure Active Directory identity provider. +examples: + - name: Show the authentication settings for the Azure Active Directory identity provider. + text: az containerapp auth microsoft show --name MyContainerapp --resource-group MyResourceGroup +""" + +helps['containerapp auth microsoft update'] = """ +type: command +short-summary: Update the client id and client secret for the Azure Active Directory identity provider. +examples: + - name: Update the open id issuer, client id and client secret for the Azure Active Directory identity provider. + text: | + az containerapp auth microsoft update -g myResourceGroup --name MyContainerapp \\ + --client-id my-client-id --client-secret very_secret_password \\ + --issuer https://sts.windows.net/54826b22-38d6-4fb2-bad9-b7983a3e9c5a/ +""" + +helps['containerapp auth openid-connect'] = """ +type: group +short-summary: Manage containerapp authentication and authorization of the custom OpenID Connect identity providers. +""" + +helps['containerapp auth openid-connect show'] = """ +type: command +short-summary: Show the authentication settings for the custom OpenID Connect identity provider. +examples: + - name: Show the authentication settings for the custom OpenID Connect identity provider. + text: az containerapp auth openid-connect show --name MyContainerapp --resource-group MyResourceGroup \\ + --provider-name myOpenIdConnectProvider +""" + +helps['containerapp auth openid-connect add'] = """ +type: command +short-summary: Configure a new custom OpenID Connect identity provider. +examples: + - name: Configure a new custom OpenID Connect identity provider. + text: | + az containerapp auth openid-connect add -g myResourceGroup --name MyContainerapp \\ + --provider-name myOpenIdConnectProvider --client-id my-client-id \\ + --client-secret-name MY_SECRET_APP_SETTING \\ + --openid-configuration https://myopenidprovider.net/.well-known/openid-configuration +""" + +helps['containerapp auth openid-connect update'] = """ +type: command +short-summary: Update the client id and client secret setting name for an existing custom OpenID Connect identity provider. +examples: + - name: Update the client id and client secret setting name for an existing custom OpenID Connect identity provider. + text: | + az containerapp auth openid-connect update -g myResourceGroup --name MyContainerapp \\ + --provider-name myOpenIdConnectProvider --client-id my-client-id \\ + --client-secret-name MY_SECRET_APP_SETTING +""" + +helps['containerapp auth openid-connect remove'] = """ +type: command +short-summary: Removes an existing custom OpenID Connect identity provider. +examples: + - name: Removes an existing custom OpenID Connect identity provider. + text: | + az containerapp auth openid-connect remove --name MyContainerapp --resource-group MyResourceGroup \\ + --provider-name myOpenIdConnectProvider +""" + +helps['containerapp auth twitter'] = """ +type: group +short-summary: Manage containerapp authentication and authorization of the Twitter identity provider. +""" + +helps['containerapp auth twitter show'] = """ +type: command +short-summary: Show the authentication settings for the Twitter identity provider. +examples: + - name: Show the authentication settings for the Twitter identity provider. + text: az containerapp auth twitter show --name MyContainerapp --resource-group MyResourceGroup +""" + +helps['containerapp auth twitter update'] = """ +type: command +short-summary: Update the consumer key and consumer secret for the Twitter identity provider. +examples: + - name: Update the consumer key and consumer secret for the Twitter identity provider. + text: | + az containerapp auth twitter update -g myResourceGroup --name MyContainerapp \\ + --consumer-key my-client-id --consumer-secret very_secret_password +""" diff --git a/src/containerapp/azext_containerapp/_models.py b/src/containerapp/azext_containerapp/_models.py index 02e5bcb916a..cf4b9841cca 100644 --- a/src/containerapp/azext_containerapp/_models.py +++ b/src/containerapp/azext_containerapp/_models.py @@ -181,6 +181,14 @@ "tags": None } +ContainerAppCertificateEnvelope = { + "location": None, + "properties": { + "password": None, + "value": None + } +} + DaprComponent = { "properties": { "componentType": None, # String @@ -232,6 +240,22 @@ "subscriptionId": None # str } +ContainerAppCustomDomainEnvelope = { + "properties": { + "configuration": { + "ingress": { + "customDomains": None + } + } + } +} + +ContainerAppCustomDomain = { + "name": None, + "bindingType": "SniEnabled", + "certificateId": None +} + AzureFileProperties = { "accountName": None, "accountKey": None, diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index ffc21858791..83b0ea33504 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -6,6 +6,7 @@ from knack.arguments import CLIArgumentType +from azure.cli.core.commands.validators import get_default_location_from_resource_group from azure.cli.core.commands.parameters import (resource_group_name_type, get_location_type, file_type, get_three_state_flag, get_enum_type, tags_type) @@ -13,6 +14,7 @@ from ._validators import (validate_memory, validate_cpu, validate_managed_env_name_or_id, validate_registry_server, validate_registry_user, validate_registry_pass, validate_target_port, validate_ingress) +from ._constants import UNAUTHENTICATED_CLIENT_ACTION, FORWARD_PROXY_CONVENTION def load_arguments(self, _): @@ -130,12 +132,14 @@ def load_arguments(self, _): c.argument('instrumentation_key', options_list=['--dapr-instrumentation-key'], help='Application Insights instrumentation key used by Dapr to export Service to Service communication telemetry') with self.argument_context('containerapp env', arg_group='Virtual Network') as c: - c.argument('infrastructure_subnet_resource_id', options_list=['--infrastructure-subnet-resource-id'], help='Resource ID of a subnet for infrastructure components and user app containers.') + c.argument('infrastructure_subnet_resource_id', options_list=['--infrastructure-subnet-resource-id', '-s'], help='Resource ID of a subnet for infrastructure components and user app containers.') c.argument('app_subnet_resource_id', options_list=['--app-subnet-resource-id'], help='Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetResourceId.') c.argument('docker_bridge_cidr', options_list=['--docker-bridge-cidr'], help='CIDR notation IP range assigned to the Docker bridge. It must not overlap with any Subnet IP ranges or the IP range defined in Platform Reserved CIDR, if defined') c.argument('platform_reserved_cidr', options_list=['--platform-reserved-cidr'], help='IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. It must not overlap with any other Subnet IP ranges') c.argument('platform_reserved_dns_ip', options_list=['--platform-reserved-dns-ip'], help='An IP address from the IP range defined by Platform Reserved CIDR that will be reserved for the internal DNS server.') c.argument('internal_only', arg_type=get_three_state_flag(), options_list=['--internal-only'], help='Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource, therefore must provide infrastructureSubnetResourceId if enabling this property') + with self.argument_context('containerapp env create') as c: + c.argument('zone_redundant', options_list=["--zone-redundant", "-z"], help="Enable zone redundancy on the environment. Cannot be used without --infrastructure-subnet-resource-id. If used with --location, the subnet's location must match") with self.argument_context('containerapp env update') as c: c.argument('name', name_type, help='Name of the Container Apps environment.') @@ -147,6 +151,20 @@ def load_arguments(self, _): with self.argument_context('containerapp env show') as c: c.argument('name', name_type, help='Name of the Container Apps Environment.') + with self.argument_context('containerapp env certificate upload') as c: + c.argument('certificate_file', options_list=['--certificate-file', '-f'], help='The filepath of the .pfx or .pem file') + c.argument('certificate_name', options_list=['--certificate-name', '-c'], help='Name of the certificate which should be unique within the Container Apps environment.') + c.argument('certificate_password', options_list=['--password', '-p'], help='The certificate file password') + + with self.argument_context('containerapp env certificate list') as c: + c.argument('name', id_part=None) + c.argument('certificate', options_list=['--certificate', '-c'], help='Name or resource id of the certificate.') + c.argument('thumbprint', options_list=['--thumbprint', '-t'], help='Thumbprint of the certificate.') + + with self.argument_context('containerapp env certificate delete') as c: + c.argument('certificate', options_list=['--certificate', '-c'], help='Name or resource id of the certificate.') + c.argument('thumbprint', options_list=['--thumbprint', '-t'], help='Thumbprint of the certificate.') + with self.argument_context('containerapp env storage') as c: c.argument('name', id_part=None) c.argument('storage_name', help="Name of the storage.") @@ -207,6 +225,7 @@ def load_arguments(self, _): c.argument('secret_name', help="The name of the secret to show.") c.argument('secret_names', nargs='+', help="A list of secret(s) for the container app. Space-separated secret values names.") c.argument('show_values', help='Show the secret values.') + c.ignore('disable_max_length') with self.argument_context('containerapp env dapr-component') as c: c.argument('dapr_app_id', help="The Dapr app ID.") @@ -255,3 +274,59 @@ def load_arguments(self, _): c.argument('service_principal_client_id', help='The service principal client ID. Used by Github Actions to authenticate with Azure.', options_list=["--service-principal-client-id", "--sp-cid"]) c.argument('service_principal_client_secret', help='The service principal client secret. Used by Github Actions to authenticate with Azure.', options_list=["--service-principal-client-secret", "--sp-sec"]) c.argument('service_principal_tenant_id', help='The service principal tenant ID. Used by Github Actions to authenticate with Azure.', options_list=["--service-principal-tenant-id", "--sp-tid"]) + + with self.argument_context('containerapp auth') as c: + # subgroup update + c.argument('client_id', help='The Client ID of the app used for login.') + c.argument('client_secret', help='The client secret.') + c.argument('client_secret_setting_name', options_list=['--client-secret-name'], help='The app secret name that contains the client secret of the relying party application.') + c.argument('issuer', help='The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.') + c.argument('allowed_token_audiences', options_list=['--allowed-token-audiences', '--allowed-audiences'], help='The configuration settings of the allowed list of audiences from which to validate the JWT token.') + c.argument('client_secret_certificate_thumbprint', options_list=['--thumbprint', '--client-secret-certificate-thumbprint'], help='Alternative to AAD Client Secret, thumbprint of a certificate used for signing purposes') + c.argument('client_secret_certificate_san', options_list=['--san', '--client-secret-certificate-san'], help='Alternative to AAD Client Secret and thumbprint, subject alternative name of a certificate used for signing purposes') + c.argument('client_secret_certificate_issuer', options_list=['--certificate-issuer', '--client-secret-certificate-issuer'], help='Alternative to AAD Client Secret and thumbprint, issuer of a certificate used for signing purposes') + c.argument('yes', options_list=['--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') + c.argument('tenant_id', help='The tenant id of the application.') + c.argument('app_id', help='The App ID of the app used for login.') + c.argument('app_secret', help='The app secret.') + c.argument('app_secret_setting_name', options_list=['--app-secret-name', '--secret-name'], help='The app secret name that contains the app secret.') + c.argument('graph_api_version', help='The version of the Facebook api to be used while logging in.') + c.argument('scopes', help='A list of the scopes that should be requested while authenticating.') + c.argument('consumer_key', help='The OAuth 1.0a consumer key of the Twitter application used for sign-in.') + c.argument('consumer_secret', help='The consumer secret.') + c.argument('consumer_secret_setting_name', options_list=['--consumer-secret-name', '--secret-name'], help='The consumer secret name that contains the app secret.') + c.argument('provider_name', required=True, help='The name of the custom OpenID Connect provider.') + c.argument('openid_configuration', help='The endpoint that contains all the configuration endpoints for the provider.') + # auth update + c.argument('set_string', options_list=['--set'], help='Value of a specific field within the configuration settings for the Azure App Service Authentication / Authorization feature.') + c.argument('config_file_path', help='The path of the config file containing auth settings if they come from a file.') + c.argument('unauthenticated_client_action', options_list=['--unauthenticated-client-action', '--action'], arg_type=get_enum_type(UNAUTHENTICATED_CLIENT_ACTION), help='The action to take when an unauthenticated client attempts to access the app.') + c.argument('redirect_provider', help='The default authentication provider to use when multiple providers are configured.') + c.argument('enable_token_store', arg_type=get_three_state_flag(), help='true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.') + c.argument('require_https', arg_type=get_three_state_flag(), help='false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true.') + c.argument('proxy_convention', arg_type=get_enum_type(FORWARD_PROXY_CONVENTION), help='The convention used to determine the url of the request made.') + c.argument('proxy_custom_host_header', options_list=['--proxy-custom-host-header', '--custom-host-header'], help='The name of the header containing the host of the request.') + c.argument('proxy_custom_proto_header', options_list=['--proxy-custom-proto-header', '--custom-proto-header'], help='The name of the header containing the scheme of the request.') + c.argument('excluded_paths', help='The list of paths that should be excluded from authentication rules.') + c.argument('enabled', arg_type=get_three_state_flag(), help='true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.') + c.argument('runtime_version', help='The RuntimeVersion of the Authentication / Authorization feature in use for the current app.') + + with self.argument_context('containerapp ssl upload') as c: + c.argument('hostname', help='The custom domain name.') + c.argument('environment', options_list=['--environment', '-e'], help='Name or resource id of the Container App environment.') + c.argument('certificate_file', options_list=['--certificate-file', '-f'], help='The filepath of the .pfx or .pem file') + c.argument('certificate_password', options_list=['--password', '-p'], help='The certificate file password') + c.argument('certificate_name', options_list=['--certificate-name', '-c'], help='Name of the certificate which should be unique within the Container Apps environment.') + + with self.argument_context('containerapp hostname bind') as c: + c.argument('hostname', help='The custom domain name.') + c.argument('thumbprint', options_list=['--thumbprint', '-t'], help='Thumbprint of the certificate.') + c.argument('certificate', options_list=['--certificate', '-c'], help='Name or resource id of the certificate.') + c.argument('environment', options_list=['--environment', '-e'], help='Name or resource id of the Container App environment.') + + with self.argument_context('containerapp hostname list') as c: + c.argument('name', id_part=None) + c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + + with self.argument_context('containerapp hostname delete') as c: + c.argument('hostname', help='The custom domain name.') diff --git a/src/containerapp/azext_containerapp/_up_utils.py b/src/containerapp/azext_containerapp/_up_utils.py index 304ee4686d2..a81de528bbf 100644 --- a/src/containerapp/azext_containerapp/_up_utils.py +++ b/src/containerapp/azext_containerapp/_up_utils.py @@ -38,16 +38,15 @@ _get_default_containerapps_location, safe_get, is_int, - create_service_principal_for_rbac, + create_service_principal_for_github_action, repo_url_to_name, get_container_app_if_exists, trigger_workflow, _ensure_location_allowed, - _is_resource_provider_registered, - _register_resource_provider + register_provider_if_needed ) -from ._constants import MAXIMUM_SECRET_LENGTH, LOG_ANALYTICS_RP +from ._constants import MAXIMUM_SECRET_LENGTH, LOG_ANALYTICS_RP, CONTAINER_APPS_RP from .custom import ( create_managed_environment, @@ -196,8 +195,7 @@ def create_if_needed(self, app_name): def create(self): self.location = validate_environment_location(self.cmd, self.location) - if not _is_resource_provider_registered(self.cmd, LOG_ANALYTICS_RP): - _register_resource_provider(self.cmd, LOG_ANALYTICS_RP) + register_provider_if_needed(self.cmd, LOG_ANALYTICS_RP) env = create_managed_environment( self.cmd, self.name, @@ -216,7 +214,7 @@ def get_rid(self): rid = resource_id( subscription=get_subscription_id(self.cmd.cli_ctx), resource_group=self.resource_group.name, - namespace="Microsoft.App", + namespace=CONTAINER_APPS_RP, type="managedEnvironments", name=self.name, ) @@ -352,9 +350,9 @@ def _create_service_principal(cmd, resource_group_name, env_resource_group_name) scopes.append( f"/subscriptions/{get_subscription_id(cmd.cli_ctx)}/resourceGroups/{env_resource_group_name}" ) - sp = create_service_principal_for_rbac(cmd, scopes=scopes, role="contributor") + sp = create_service_principal_for_github_action(cmd, scopes=scopes, role="contributor") - logger.warning(f"Created service principal: {sp['displayName']} with ID {sp['appId']}") + logger.warning(f"Created service principal with ID {sp['appId']}") return sp["appId"], sp["password"], sp["tenant"] @@ -828,7 +826,7 @@ def validate_environment_location(cmd, location): if location: try: - _ensure_location_allowed(cmd, location, "Microsoft.App", "managedEnvironments") + _ensure_location_allowed(cmd, location, CONTAINER_APPS_RP, "managedEnvironments") except Exception as e: # pylint: disable=broad-except raise ValidationError("You cannot create a Containerapp environment in location {}. List of eligible locations: {}.".format(location, allowed_locs)) from e @@ -846,7 +844,7 @@ def validate_environment_location(cmd, location): def list_environment_locations(cmd): from ._utils import providers_client_factory providers_client = providers_client_factory(cmd.cli_ctx, get_subscription_id(cmd.cli_ctx)) - resource_types = getattr(providers_client.get("Microsoft.App"), 'resource_types', []) + resource_types = getattr(providers_client.get(CONTAINER_APPS_RP), 'resource_types', []) res_locations = [] for res in resource_types: if res and getattr(res, 'resource_type', "") == "managedEnvironments": @@ -859,7 +857,7 @@ def list_environment_locations(cmd): def check_env_name_on_rg(cmd, managed_env, resource_group_name, location): if location: - _ensure_location_allowed(cmd, location, "Microsoft.App", "managedEnvironments") + _ensure_location_allowed(cmd, location, CONTAINER_APPS_RP, "managedEnvironments") if managed_env and resource_group_name and location: env_def = None try: diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 93c6c79328d..b291d6da9ee 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -12,147 +12,126 @@ from datetime import datetime from dateutil.relativedelta import relativedelta from azure.cli.core.azclierror import (ValidationError, RequiredArgumentMissingError, CLIInternalError, - ResourceNotFoundError, ArgumentUsageError) + ResourceNotFoundError, ArgumentUsageError, FileOperationError, CLIError) from azure.cli.core.commands.client_factory import get_subscription_id +from azure.cli.command_modules.appservice.utils import _normalize_location +from azure.cli.command_modules.network._client_factory import network_client_factory + from knack.log import get_logger from msrestazure.tools import parse_resource_id, is_valid_resource_id, resource_id -from ._clients import ContainerAppClient +from ._clients import ContainerAppClient, ManagedEnvironmentClient from ._client_factory import handle_raw_exception, providers_client_factory, cf_resource_groups, log_analytics_client_factory, log_analytics_shared_key_client_factory from ._constants import (MAXIMUM_CONTAINER_APP_NAME_LENGTH, SHORT_POLLING_INTERVAL_SECS, LONG_POLLING_INTERVAL_SECS, - LOG_ANALYTICS_RP) + LOG_ANALYTICS_RP, CONTAINER_APPS_RP, CHECK_CERTIFICATE_NAME_AVAILABILITY_TYPE) +from ._models import (ContainerAppCustomDomainEnvelope as ContainerAppCustomDomainEnvelopeModel) logger = get_logger(__name__) +def register_provider_if_needed(cmd, rp_name): + if not _is_resource_provider_registered(cmd, rp_name): + _register_resource_provider(cmd, rp_name) + + def validate_container_app_name(name): if name and len(name) > MAXIMUM_CONTAINER_APP_NAME_LENGTH: raise ValidationError(f"Container App names cannot be longer than {MAXIMUM_CONTAINER_APP_NAME_LENGTH}. " f"Please shorten {name}") -# original implementation at azure.cli.command_modules.role.custom.create_service_principal_for_rbac -# reimplemented to remove incorrect warning statements -def create_service_principal_for_rbac( # pylint:disable=too-many-statements,too-many-locals, too-many-branches, unused-argument, inconsistent-return-statements - cmd, name=None, years=None, create_cert=False, cert=None, scopes=None, role=None, - show_auth_for_sdk=None, skip_assignment=False, keyvault=None): - from azure.cli.command_modules.role.custom import (_graph_client_factory, TZ_UTC, _process_service_principal_creds, - _validate_app_dates, create_application, - _create_service_principal, _create_role_assignment, - _error_caused_by_role_assignment_exists) +def retry_until_success(operation, err_txt, retry_limit, *args, **kwargs): + while True: + try: + return operation(*args, **kwargs) + except Exception as e: + retry_limit -= 1 + if retry_limit <= 0: + raise CLIInternalError(err_txt) from e + time.sleep(5) + logger.info(f"Encountered error: {e}. Retrying...") - if role and not scopes or not role and scopes: - raise ArgumentUsageError("Usage error: To create role assignments, specify both --role and --scopes.") - graph_client = _graph_client_factory(cmd.cli_ctx) +def get_vnet_location(cmd, subnet_resource_id): + parsed_rid = parse_resource_id(subnet_resource_id) + vnet_client = network_client_factory(cmd.cli_ctx) + location = vnet_client.virtual_networks.get(resource_group_name=parsed_rid.get("resource_group"), + virtual_network_name=parsed_rid.get("name")).location + return _normalize_location(cmd, location) - years = years or 1 - _RETRY_TIMES = 36 - existing_sps = None - if not name: - # No name is provided, create a new one - app_display_name = 'azure-cli-' + datetime.utcnow().strftime('%Y-%m-%d-%H-%M-%S') - else: - app_display_name = name - # patch existing app with the same displayName to make the command idempotent - query_exp = "displayName eq '{}'".format(name) - existing_sps = list(graph_client.service_principals.list(filter=query_exp)) - - app_start_date = datetime.now(TZ_UTC) - app_end_date = app_start_date + relativedelta(years=years or 1) - - password, public_cert_string, cert_file, cert_start_date, cert_end_date = \ - _process_service_principal_creds(cmd.cli_ctx, years, app_start_date, app_end_date, cert, create_cert, - None, keyvault) - - app_start_date, app_end_date, cert_start_date, cert_end_date = \ - _validate_app_dates(app_start_date, app_end_date, cert_start_date, cert_end_date) - - aad_application = create_application(cmd, - display_name=app_display_name, - available_to_other_tenants=False, - password=password, - key_value=public_cert_string, - start_date=app_start_date, - end_date=app_end_date, - credential_description='rbac') - # pylint: disable=no-member - app_id = aad_application.app_id - - # retry till server replication is done - aad_sp = existing_sps[0] if existing_sps else None - if not aad_sp: - for retry_time in range(0, _RETRY_TIMES): - try: - aad_sp = _create_service_principal(cmd.cli_ctx, app_id, resolve_app=False) - break - except Exception as ex: # pylint: disable=broad-except - err_msg = str(ex) - if retry_time < _RETRY_TIMES and ( - ' does not reference ' in err_msg or - ' does not exist ' in err_msg or - 'service principal being created must in the local tenant' in err_msg): - logger.warning("Creating service principal failed with error '%s'. Retrying: %s/%s", - err_msg, retry_time + 1, _RETRY_TIMES) - time.sleep(5) - else: - logger.warning( - "Creating service principal failed for '%s'. Trace followed:\n%s", - app_id, ex.response.headers - if hasattr(ex, 'response') else ex) # pylint: disable=no-member - raise - sp_oid = aad_sp.object_id - - if role: - for scope in scopes: - # logger.warning("Creating '%s' role assignment under scope '%s'", role, scope) - # retry till server replication is done - for retry_time in range(0, _RETRY_TIMES): - try: - _create_role_assignment(cmd.cli_ctx, role, sp_oid, None, scope, resolve_assignee=False, - assignee_principal_type='ServicePrincipal') - break - except Exception as ex: - if retry_time < _RETRY_TIMES and ' does not exist in the directory ' in str(ex): - time.sleep(5) - logger.warning(' Retrying role assignment creation: %s/%s', retry_time + 1, - _RETRY_TIMES) - continue - if _error_caused_by_role_assignment_exists(ex): - logger.warning(' Role assignment already exists.\n') - break - - # dump out history for diagnoses - logger.warning(' Role assignment creation failed.\n') - if getattr(ex, 'response', None) is not None: - logger.warning(' role assignment response headers: %s\n', - ex.response.headers) # pylint: disable=no-member - raise - - if show_auth_for_sdk: - from azure.cli.core._profile import Profile - profile = Profile(cli_ctx=cmd.cli_ctx) - result = profile.get_sp_auth_info(scopes[0].split('/')[2] if scopes else None, - app_id, password, cert_file) - # sdk-auth file should be in json format all the time, hence the print - print(json.dumps(result, indent=2)) - return +def _create_application(client, display_name): + from azure.cli.command_modules.role.custom import GraphError + body = {"displayName": display_name, "keyCredentials": []} - result = { - 'appId': app_id, - 'password': password, - 'displayName': app_display_name, - 'tenant': graph_client.config.tenant_id - } - if cert_file: - logger.warning( - "Please copy %s to a safe place. When you run 'az login', provide the file path in the --password argument", - cert_file) - result['fileWithCertAndPrivateKey'] = cert_file + try: + result = client.application_create(body) + except GraphError as ex: + if 'insufficient privileges' in str(ex).lower(): + link = 'https://docs.microsoft.com/azure/azure-resource-manager/resource-group-create-service-principal-portal' # pylint: disable=line-too-long + raise ValidationError("Directory permission is needed for the current user to register the application. " + "For how to configure, please refer '{}'. Original error: {}".format(link, ex)) + raise return result +def _create_service_principal(client, app_id): + return client.service_principal_create({"appId": app_id, "accountEnabled": True}) + + +def _create_role_assignment(cli_ctx, role, assignee, scope=None): + import uuid + from azure.cli.core.profiles import ResourceType, get_sdk, supported_api_version + from azure.cli.core.commands.client_factory import get_mgmt_service_client + + auth_client = get_mgmt_service_client(cli_ctx, ResourceType.MGMT_AUTHORIZATION) + assignments_client = auth_client.role_assignments + definitions_client = auth_client.role_definitions + + assignment_name = uuid.uuid4() + role_defs = list(definitions_client.list(scope, "roleName eq '{}'".format(role))) + role_id = role_defs[0].id + + api_version = supported_api_version(cli_ctx, resource_type=ResourceType.MGMT_AUTHORIZATION, max_api='2015-07-01') + RoleAssignmentCreateParameters = get_sdk(cli_ctx, ResourceType.MGMT_AUTHORIZATION, + 'RoleAssignmentProperties' if api_version else 'RoleAssignmentCreateParameters', + mod='models', operation_group='role_assignments') + parameters = RoleAssignmentCreateParameters(role_definition_id=role_id, principal_id=assignee) + parameters.principal_type = "ServicePrincipal" + return assignments_client.create(scope, assignment_name, parameters) + + +def create_service_principal_for_github_action(cmd, scopes=None, role="contributor"): + from azure.cli.command_modules.role import graph_client_factory + + SP_CREATION_ERR_TXT = "Failed to create service principal." + RETRY_LIMIT = 36 + + client = graph_client_factory(cmd.cli_ctx) + now = datetime.utcnow() + app_display_name = 'azure-cli-' + now.strftime('%Y-%m-%d-%H-%M-%S') + app = retry_until_success(_create_application, SP_CREATION_ERR_TXT, RETRY_LIMIT, client, display_name=app_display_name) + sp = retry_until_success(_create_service_principal, SP_CREATION_ERR_TXT, RETRY_LIMIT, client, app_id=app["appId"]) + for scope in scopes: + retry_until_success(_create_role_assignment, SP_CREATION_ERR_TXT, RETRY_LIMIT, cmd.cli_ctx, role=role, assignee=sp["id"], scope=scope) + service_principal = retry_until_success(client.service_principal_get, SP_CREATION_ERR_TXT, RETRY_LIMIT, sp["id"]) + + body = { + "passwordCredential": { + "displayName": None, + "startDateTime": now.strftime('%Y-%m-%dT%H:%M:%SZ'), + "endDateTime": (now + relativedelta(years=1)).strftime('%Y-%m-%dT%H:%M:%SZ'), + } + } + add_password_result = retry_until_success(client.service_principal_add_password, SP_CREATION_ERR_TXT, RETRY_LIMIT, service_principal["id"], body) + + return { + 'appId': service_principal['appId'], + 'password': add_password_result['secretText'], + 'tenant': client.tenant + } + + def is_int(s): try: int(s) @@ -496,7 +475,7 @@ def _get_default_containerapps_location(cmd, location=None): providers_client = None try: providers_client = providers_client_factory(cmd.cli_ctx, get_subscription_id(cmd.cli_ctx)) - resource_types = getattr(providers_client.get("Microsoft.App"), 'resource_types', []) + resource_types = getattr(providers_client.get(CONTAINER_APPS_RP), 'resource_types', []) res_locations = [] for res in resource_types: if res and getattr(res, 'resource_type', "") == "workspaces": @@ -1000,6 +979,15 @@ def get_randomized_name(prefix, name=None, initial="rg"): return default +def generate_randomized_cert_name(thumbprint, prefix, initial="rg"): + from random import randint + cert_name = "{}-{}-{}-{:04}".format(prefix[:14], initial[:14], thumbprint[:4].lower(), randint(0, 9999)) + for c in cert_name: + if not (c.isalnum() or c == '-' or c == '.'): + cert_name.replace(c, '-') + return cert_name.lower() + + def _set_webapp_up_default_args(cmd, resource_group_name, location, name, registry_server): from azure.cli.core.util import ConfiguredDefaultSetter with ConfiguredDefaultSetter(cmd.cli_ctx.config, True): @@ -1165,3 +1153,159 @@ def create_new_acr(cmd, registry_name, resource_group_name, location=None, sku=" lro_poller = client.begin_create(resource_group_name, registry_name, registry) acr = LongRunningOperation(cmd.cli_ctx)(lro_poller) return acr + + +def set_field_in_auth_settings(auth_settings, set_string): + if set_string is not None: + split1 = set_string.split("=") + fieldName = split1[0] + fieldValue = split1[1] + split2 = fieldName.split(".") + auth_settings = set_field_in_auth_settings_recursive(split2, fieldValue, auth_settings) + return auth_settings + + +def set_field_in_auth_settings_recursive(field_name_split, field_value, auth_settings): + if len(field_name_split) == 1: + if not field_value.startswith('[') or not field_value.endswith(']'): + auth_settings[field_name_split[0]] = field_value + else: + field_value_list_string = field_value[1:-1] + auth_settings[field_name_split[0]] = field_value_list_string.split(",") + return auth_settings + + remaining_field_names = field_name_split[1:] + if field_name_split[0] not in auth_settings: + auth_settings[field_name_split[0]] = {} + auth_settings[field_name_split[0]] = set_field_in_auth_settings_recursive(remaining_field_names, + field_value, + auth_settings[field_name_split[0]]) + return auth_settings + + +def update_http_settings_in_auth_settings(auth_settings, require_https, proxy_convention, + proxy_custom_host_header, proxy_custom_proto_header): + if require_https is not None: + if "httpSettings" not in auth_settings: + auth_settings["httpSettings"] = {} + auth_settings["httpSettings"]["requireHttps"] = require_https + + if proxy_convention is not None: + if "httpSettings" not in auth_settings: + auth_settings["httpSettings"] = {} + if "forwardProxy" not in auth_settings["httpSettings"]: + auth_settings["httpSettings"]["forwardProxy"] = {} + auth_settings["httpSettings"]["forwardProxy"]["convention"] = proxy_convention + + if proxy_custom_host_header is not None: + if "httpSettings" not in auth_settings: + auth_settings["httpSettings"] = {} + if "forwardProxy" not in auth_settings["httpSettings"]: + auth_settings["httpSettings"]["forwardProxy"] = {} + auth_settings["httpSettings"]["forwardProxy"]["customHostHeaderName"] = proxy_custom_host_header + + if proxy_custom_proto_header is not None: + if "httpSettings" not in auth_settings: + auth_settings["httpSettings"] = {} + if "forwardProxy" not in auth_settings["httpSettings"]: + auth_settings["httpSettings"]["forwardProxy"] = {} + auth_settings["httpSettings"]["forwardProxy"]["customProtoHeaderName"] = proxy_custom_proto_header + + return auth_settings + + +def get_oidc_client_setting_app_setting_name(provider_name): + provider_name_prefix = provider_name.lower()[:10] # secret names can't be too long + return provider_name_prefix + "-authentication-secret" + + +# only accept .pfx or .pem file +def load_cert_file(file_path, cert_password=None): + from base64 import b64encode + from OpenSSL import crypto + import os + + cert_data = None + thumbprint = None + blob = None + try: + with open(file_path, "rb") as f: + if os.path.splitext(file_path)[1] in ['.pem']: + cert_data = f.read() + x509 = crypto.load_certificate(crypto.FILETYPE_PEM, cert_data) + digest_algorithm = 'sha256' + thumbprint = x509.digest(digest_algorithm).decode("utf-8").replace(':', '') + blob = b64encode(cert_data).decode("utf-8") + elif os.path.splitext(file_path)[1] in ['.pfx']: + cert_data = f.read() + try: + p12 = crypto.load_pkcs12(cert_data, cert_password) + except Exception as e: + raise FileOperationError('Failed to load the certificate file. This may be due to an incorrect or missing password. Please double check and try again.\nError: {}'.format(e)) from e + x509 = p12.get_certificate() + digest_algorithm = 'sha256' + thumbprint = x509.digest(digest_algorithm).decode("utf-8").replace(':', '') + pem_data = crypto.dump_certificate(crypto.FILETYPE_PEM, x509) + blob = b64encode(pem_data).decode("utf-8") + else: + raise FileOperationError('Not a valid file type. Only .PFX and .PEM files are supported.') + except Exception as e: + raise CLIInternalError(e) from e + return blob, thumbprint + + +def check_cert_name_availability(cmd, resource_group_name, name, cert_name): + name_availability_request = {} + name_availability_request["name"] = cert_name + name_availability_request["type"] = CHECK_CERTIFICATE_NAME_AVAILABILITY_TYPE + try: + r = ManagedEnvironmentClient.check_name_availability(cmd, resource_group_name, name, name_availability_request) + except CLIError as e: + handle_raw_exception(e) + return r["nameAvailable"] + + +def validate_hostname(cmd, resource_group_name, name, hostname): + passed = False + message = None + try: + r = ContainerAppClient.validate_domain(cmd, resource_group_name, name, hostname) + passed = r["customDomainVerificationTest"] == "Passed" and not r["hasConflictOnManagedEnvironment"] + if "customDomainVerificationFailureInfo" in r: + message = r["customDomainVerificationFailureInfo"]["message"] + elif r["hasConflictOnManagedEnvironment"] and ("conflictingContainerAppResourceId" in r): + message = "Custom Domain {} Conflicts on the same environment with {}.".format(hostname, r["conflictingContainerAppResourceId"]) + except CLIError as e: + handle_raw_exception(e) + return passed, message + + +def patch_new_custom_domain(cmd, resource_group_name, name, new_custom_domains): + envelope = ContainerAppCustomDomainEnvelopeModel + envelope["properties"]["configuration"]["ingress"]["customDomains"] = new_custom_domains + try: + r = ContainerAppClient.update(cmd, resource_group_name, name, envelope) + except CLIError as e: + handle_raw_exception(e) + if "customDomains" in r["properties"]["configuration"]["ingress"]: + return list(r["properties"]["configuration"]["ingress"]["customDomains"]) + else: + return [] + + +def get_custom_domains(cmd, resource_group_name, name, location=None, environment=None): + try: + app = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + if location: + _ensure_location_allowed(cmd, location, "Microsoft.App", "containerApps") + if _normalize_location(cmd, app["location"]) != _normalize_location(cmd, location): + raise ResourceNotFoundError('Container app {} is not in location {}.'.format(name, location)) + if environment and (_get_name(environment) != _get_name(app["properties"]["managedEnvironmentId"])): + raise ResourceNotFoundError('Container app {} is not under environment {}.'.format(name, environment)) + if "ingress" in app["properties"]["configuration"] and "customDomains" in app["properties"]["configuration"]["ingress"]: + custom_domains = app["properties"]["configuration"]["ingress"]["customDomains"] + else: + custom_domains = [] + except CLIError as e: + handle_raw_exception(e) + return custom_domains diff --git a/src/containerapp/azext_containerapp/azext_metadata.json b/src/containerapp/azext_containerapp/azext_metadata.json index d7b2b115bf9..6ebadd7e64d 100644 --- a/src/containerapp/azext_containerapp/azext_metadata.json +++ b/src/containerapp/azext_containerapp/azext_metadata.json @@ -1,5 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.15.0", - "azext.maxCliCoreVersion": "2.36.0" + "azext.minCliCoreVersion": "2.37.0" } diff --git a/src/containerapp/azext_containerapp/commands.py b/src/containerapp/azext_containerapp/commands.py index 3ef540e70bf..f485af2fdda 100644 --- a/src/containerapp/azext_containerapp/commands.py +++ b/src/containerapp/azext_containerapp/commands.py @@ -44,7 +44,7 @@ def transform_revision_list_output(revs): def load_command_table(self, _): - with self.command_group('containerapp', is_preview=True) as g: + with self.command_group('containerapp') as g: g.custom_show_command('show', 'show_containerapp', table_transformer=transform_containerapp_output) g.custom_command('list', 'list_containerapp', table_transformer=transform_containerapp_list_output) g.custom_command('create', 'create_containerapp', supports_no_wait=True, exception_handler=ex_handler_factory(), table_transformer=transform_containerapp_output) @@ -54,11 +54,11 @@ def load_command_table(self, _): g.custom_command('up', 'containerapp_up', supports_no_wait=False, exception_handler=ex_handler_factory()) g.custom_command('browse', 'open_containerapp_in_browser') - with self.command_group('containerapp replica', is_preview=True) as g: + with self.command_group('containerapp replica') as g: g.custom_show_command('show', 'get_replica') # TODO implement the table transformer g.custom_command('list', 'list_replicas') - with self.command_group('containerapp logs', is_preview=True) as g: + with self.command_group('containerapp logs') as g: g.custom_show_command('show', 'stream_containerapp_logs', validator=validate_ssh) with self.command_group('containerapp env') as g: @@ -73,7 +73,12 @@ def load_command_table(self, _): g.custom_command('set', 'create_or_update_dapr_component') g.custom_command('remove', 'remove_dapr_component') - with self.command_group('containerapp env storage') as g: + with self.command_group('containerapp env certificate') as g: + g.custom_command('list', 'list_certificates') + g.custom_command('upload', 'upload_certificate') + g.custom_command('delete', 'delete_certificate', confirmation=True, exception_handler=ex_handler_factory()) + + with self.command_group('containerapp env storage', is_preview=True) as g: g.custom_show_command('show', 'show_storage') g.custom_command('list', 'list_storage') g.custom_command('set', 'create_or_update_storage', supports_no_wait=True, exception_handler=ex_handler_factory()) @@ -126,3 +131,45 @@ def load_command_table(self, _): with self.command_group('containerapp dapr') as g: g.custom_command('enable', 'enable_dapr', exception_handler=ex_handler_factory()) g.custom_command('disable', 'disable_dapr', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp auth') as g: + g.custom_show_command('show', 'show_auth_config') + g.custom_command('update', 'update_auth_config', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp auth microsoft') as g: + g.custom_show_command('show', 'get_aad_settings') + g.custom_command('update', 'update_aad_settings', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp auth facebook') as g: + g.custom_show_command('show', 'get_facebook_settings') + g.custom_command('update', 'update_facebook_settings', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp auth github') as g: + g.custom_show_command('show', 'get_github_settings') + g.custom_command('update', 'update_github_settings', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp auth google') as g: + g.custom_show_command('show', 'get_google_settings') + g.custom_command('update', 'update_google_settings', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp auth twitter') as g: + g.custom_show_command('show', 'get_twitter_settings') + g.custom_command('update', 'update_twitter_settings', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp auth apple') as g: + g.custom_show_command('show', 'get_apple_settings') + g.custom_command('update', 'update_apple_settings', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp auth openid-connect') as g: + g.custom_show_command('show', 'get_openid_connect_provider_settings') + g.custom_command('add', 'add_openid_connect_provider_settings', exception_handler=ex_handler_factory()) + g.custom_command('update', 'update_openid_connect_provider_settings', exception_handler=ex_handler_factory()) + g.custom_command('remove', 'remove_openid_connect_provider_settings', confirmation=True) + + with self.command_group('containerapp ssl') as g: + g.custom_command('upload', 'upload_ssl', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp hostname') as g: + g.custom_command('bind', 'bind_hostname', exception_handler=ex_handler_factory()) + g.custom_command('list', 'list_hostname') + g.custom_command('delete', 'delete_hostname', confirmation=True, exception_handler=ex_handler_factory()) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index f4fe046f9a3..a32d50cbba8 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -16,16 +16,19 @@ ResourceNotFoundError, CLIError, CLIInternalError, - InvalidArgumentValueError) + InvalidArgumentValueError, + ArgumentUsageError) from azure.cli.core.commands.client_factory import get_subscription_id from azure.cli.core.util import open_page_in_browser +from azure.cli.command_modules.appservice.utils import _normalize_location from knack.log import get_logger +from knack.prompting import prompt_y_n from msrestazure.tools import parse_resource_id, is_valid_resource_id from msrest.exceptions import DeserializationError from ._client_factory import handle_raw_exception -from ._clients import ManagedEnvironmentClient, ContainerAppClient, GitHubActionClient, DaprComponentClient, StorageClient +from ._clients import ManagedEnvironmentClient, ContainerAppClient, GitHubActionClient, DaprComponentClient, StorageClient, AuthClient from ._github_oauth import get_github_access_token from ._models import ( ManagedEnvironment as ManagedEnvironmentModel, @@ -46,6 +49,8 @@ AzureCredentials as AzureCredentialsModel, SourceControl as SourceControlModel, ManagedServiceIdentity as ManagedServiceIdentityModel, + ContainerAppCertificateEnvelope as ContainerAppCertificateEnvelopeModel, + ContainerAppCustomDomain as ContainerAppCustomDomainModel, AzureFileProperties as AzureFilePropertiesModel) from ._utils import (_validate_subscription_registered, _get_location_from_resource_group, _ensure_location_allowed, parse_secret_flags, store_as_secret_and_return_secret_ref, parse_env_var_flags, @@ -55,11 +60,14 @@ _get_app_from_revision, raise_missing_token_suggestion, _infer_acr_credentials, _remove_registry_secret, _remove_secret, _ensure_identity_resource_id, _remove_dapr_readonly_attributes, _remove_env_vars, _validate_traffic_sum, _update_revision_env_secretrefs, _get_acr_cred, safe_get, await_github_action, repo_url_to_name, - validate_container_app_name, _update_weights) + validate_container_app_name, _update_weights, get_vnet_location, register_provider_if_needed, + generate_randomized_cert_name, _get_name, load_cert_file, check_cert_name_availability, + validate_hostname, patch_new_custom_domain, get_custom_domains) from ._ssh_utils import (SSH_DEFAULT_ENCODING, WebSocketConnection, read_ssh, get_stdin_writer, SSH_CTRL_C_MSG, SSH_BACKUP_ENCODING) -from ._constants import MAXIMUM_SECRET_LENGTH +from ._constants import (MAXIMUM_SECRET_LENGTH, MICROSOFT_SECRET_SETTING_NAME, FACEBOOK_SECRET_SETTING_NAME, GITHUB_SECRET_SETTING_NAME, + GOOGLE_SECRET_SETTING_NAME, TWITTER_SECRET_SETTING_NAME, APPLE_SECRET_SETTING_NAME, CONTAINER_APPS_RP) logger = get_logger(__name__) @@ -308,7 +316,7 @@ def create_containerapp(cmd, system_assigned=False, disable_warnings=False, user_assigned=None): - _validate_subscription_registered(cmd, "Microsoft.App") + register_provider_if_needed(cmd, CONTAINER_APPS_RP) validate_container_app_name(name) if yaml: @@ -340,7 +348,7 @@ def create_containerapp(cmd, raise ValidationError("The environment '{}' does not exist. Specify a valid environment".format(managed_env)) location = managed_env_info["location"] - _ensure_location_allowed(cmd, location, "Microsoft.App", "containerApps") + _ensure_location_allowed(cmd, location, CONTAINER_APPS_RP, "containerApps") external_ingress = None if ingress is not None: @@ -491,7 +499,7 @@ def update_containerapp_logic(cmd, tags=None, no_wait=False, from_revision=None): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) if yaml: if image or min_replicas or max_replicas or\ @@ -684,7 +692,7 @@ def update_containerapp(cmd, args=None, tags=None, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) return update_containerapp_logic(cmd, name, @@ -708,7 +716,7 @@ def update_containerapp(cmd, def show_containerapp(cmd, name, resource_group_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: return ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) @@ -717,7 +725,7 @@ def show_containerapp(cmd, name, resource_group_name): def list_containerapp(cmd, resource_group_name=None): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: containerapps = [] @@ -732,7 +740,7 @@ def list_containerapp(cmd, resource_group_name=None): def delete_containerapp(cmd, name, resource_group_name, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: return ContainerAppClient.delete(cmd=cmd, name=name, resource_group_name=resource_group_name, no_wait=no_wait) @@ -754,12 +762,26 @@ def create_managed_environment(cmd, internal_only=False, tags=None, disable_warnings=False, + zone_redundant=False, no_wait=False): + if zone_redundant: + if not infrastructure_subnet_resource_id: + raise RequiredArgumentMissingError("Cannot use --zone-redundant/-z without " + "--infrastructure-subnet-resource-id/-s") + if not is_valid_resource_id(infrastructure_subnet_resource_id): + raise ValidationError("--infrastructure-subnet-resource-id must be a valid resource id") + vnet_location = get_vnet_location(cmd, infrastructure_subnet_resource_id) + if location: + if _normalize_location(cmd, location) != vnet_location: + raise ValidationError(f"Location '{location}' does not match the subnet's location: '{vnet_location}'. " + "Please change either --location/-l or --infrastructure-subnet-resource-id/-s") + else: + location = vnet_location location = location or _get_location_from_resource_group(cmd.cli_ctx, resource_group_name) - _validate_subscription_registered(cmd, "Microsoft.App") - _ensure_location_allowed(cmd, location, "Microsoft.App", "managedEnvironments") + register_provider_if_needed(cmd, CONTAINER_APPS_RP) + _ensure_location_allowed(cmd, location, CONTAINER_APPS_RP, "managedEnvironments") if logs_customer_id is None or logs_key is None: logs_customer_id, logs_key = _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, location, resource_group_name) @@ -777,6 +799,7 @@ def create_managed_environment(cmd, managed_env_def["properties"]["internalLoadBalancerEnabled"] = False managed_env_def["properties"]["appLogsConfiguration"] = app_logs_config_def managed_env_def["tags"] = tags + managed_env_def["properties"]["zoneRedundant"] = zone_redundant if instrumentation_key is not None: managed_env_def["properties"]["daprAIInstrumentationKey"] = instrumentation_key @@ -826,7 +849,7 @@ def update_managed_environment(cmd, def show_managed_environment(cmd, name, resource_group_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: return ManagedEnvironmentClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) @@ -835,7 +858,7 @@ def show_managed_environment(cmd, name, resource_group_name): def list_managed_environments(cmd, resource_group_name=None): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: managed_envs = [] @@ -850,7 +873,7 @@ def list_managed_environments(cmd, resource_group_name=None): def delete_managed_environment(cmd, name, resource_group_name, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: return ManagedEnvironmentClient.delete(cmd=cmd, name=name, resource_group_name=resource_group_name, no_wait=no_wait) @@ -859,7 +882,7 @@ def delete_managed_environment(cmd, name, resource_group_name, no_wait=False): def assign_managed_identity(cmd, name, resource_group_name, system_assigned=False, user_assigned=None, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) assign_system_identity = system_assigned if not user_assigned: @@ -939,7 +962,7 @@ def assign_managed_identity(cmd, name, resource_group_name, system_assigned=Fals def remove_managed_identity(cmd, name, resource_group_name, system_assigned=False, user_assigned=None, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) remove_system_identity = system_assigned remove_user_identities = user_assigned @@ -1020,7 +1043,7 @@ def remove_managed_identity(cmd, name, resource_group_name, system_assigned=Fals def show_managed_identity(cmd, name, resource_group_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: r = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) @@ -1291,7 +1314,7 @@ def copy_revision(cmd, args=None, tags=None, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) if not name and not from_revision: raise RequiredArgumentMissingError('Usage error: --name is required if not using --from-revision.') @@ -1322,7 +1345,7 @@ def copy_revision(cmd, def set_revision_mode(cmd, resource_group_name, name, mode, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1346,7 +1369,7 @@ def set_revision_mode(cmd, resource_group_name, name, mode, no_wait=False): def add_revision_label(cmd, resource_group_name, revision, label, name=None, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) if not name: name = _get_app_from_revision(revision) @@ -1397,7 +1420,7 @@ def add_revision_label(cmd, resource_group_name, revision, label, name=None, no_ def remove_revision_label(cmd, resource_group_name, name, label, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1438,7 +1461,7 @@ def remove_revision_label(cmd, resource_group_name, name, label, no_wait=False): def show_ingress(cmd, name, resource_group_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1456,7 +1479,7 @@ def show_ingress(cmd, name, resource_group_name): def enable_ingress(cmd, name, resource_group_name, type, target_port, transport="auto", allow_insecure=False, disable_warnings=False, no_wait=False): # pylint: disable=redefined-builtin - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1496,7 +1519,7 @@ def enable_ingress(cmd, name, resource_group_name, type, target_port, transport= def disable_ingress(cmd, name, resource_group_name, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1521,7 +1544,7 @@ def disable_ingress(cmd, name, resource_group_name, no_wait=False): def set_ingress_traffic(cmd, name, resource_group_name, label_weights=None, revision_weights=None, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) if not label_weights and not revision_weights: raise ValidationError("Must specify either --label-weight or --revision-weight.") @@ -1569,7 +1592,7 @@ def set_ingress_traffic(cmd, name, resource_group_name, label_weights=None, revi def show_ingress_traffic(cmd, name, resource_group_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1587,7 +1610,7 @@ def show_ingress_traffic(cmd, name, resource_group_name): def show_registry(cmd, name, resource_group_name, server): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1612,7 +1635,7 @@ def show_registry(cmd, name, resource_group_name, server): def list_registry(cmd, name, resource_group_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1630,7 +1653,7 @@ def list_registry(cmd, name, resource_group_name): def set_registry(cmd, name, resource_group_name, server, username=None, password=None, disable_warnings=False, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1704,7 +1727,7 @@ def set_registry(cmd, name, resource_group_name, server, username=None, password def remove_registry(cmd, name, resource_group_name, server, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1752,7 +1775,7 @@ def remove_registry(cmd, name, resource_group_name, server, no_wait=False): def list_secrets(cmd, name, resource_group_name, show_values=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1776,7 +1799,7 @@ def list_secrets(cmd, name, resource_group_name, show_values=False): def show_secret(cmd, name, resource_group_name, secret_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1795,7 +1818,7 @@ def show_secret(cmd, name, resource_group_name, secret_name): def remove_secrets(cmd, name, resource_group_name, secret_names, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1832,14 +1855,15 @@ def remove_secrets(cmd, name, resource_group_name, secret_names, no_wait=False): def set_secrets(cmd, name, resource_group_name, secrets, # yaml=None, + disable_max_length=False, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) for s in secrets: if s: parsed = s.split("=") if parsed: - if len(parsed[0]) > MAXIMUM_SECRET_LENGTH: + if len(parsed[0]) > MAXIMUM_SECRET_LENGTH and not disable_max_length: raise ValidationError(f"Secret names cannot be longer than {MAXIMUM_SECRET_LENGTH}. " f"Please shorten {parsed[0]}") @@ -1880,7 +1904,7 @@ def set_secrets(cmd, name, resource_group_name, secrets, def enable_dapr(cmd, name, resource_group_name, dapr_app_id=None, dapr_app_port=None, dapr_app_protocol=None, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1919,7 +1943,7 @@ def enable_dapr(cmd, name, resource_group_name, dapr_app_id=None, dapr_app_port= def disable_dapr(cmd, name, resource_group_name, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) containerapp_def = None try: @@ -1949,19 +1973,19 @@ def disable_dapr(cmd, name, resource_group_name, no_wait=False): def list_dapr_components(cmd, resource_group_name, environment_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) return DaprComponentClient.list(cmd, resource_group_name, environment_name) def show_dapr_component(cmd, resource_group_name, dapr_component_name, environment_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) return DaprComponentClient.show(cmd, resource_group_name, environment_name, name=dapr_component_name) def create_or_update_dapr_component(cmd, resource_group_name, environment_name, dapr_component_name, yaml): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) yaml_containerapp = load_yaml_file(yaml) if type(yaml_containerapp) != dict: # pylint: disable=unidiomatic-typecheck @@ -1997,7 +2021,7 @@ def create_or_update_dapr_component(cmd, resource_group_name, environment_name, def remove_dapr_component(cmd, resource_group_name, dapr_component_name, environment_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: DaprComponentClient.show(cmd, resource_group_name, environment_name, name=dapr_component_name) @@ -2131,6 +2155,7 @@ def containerapp_up(cmd, HELLOWORLD = "mcr.microsoft.com/azuredocs/containerapps-helloworld" dockerfile = "Dockerfile" # for now the dockerfile name must be "Dockerfile" (until GH actions API is updated) + register_provider_if_needed(cmd, CONTAINER_APPS_RP) _validate_up_args(cmd, source, image, repo, registry_server) validate_container_app_name(name) check_env_name_on_rg(cmd, managed_env, resource_group_name, location) @@ -2315,8 +2340,172 @@ def containerapp_up_logic(cmd, resource_group_name, name, managed_env, image, en handle_raw_exception(e) +def list_certificates(cmd, name, resource_group_name, location=None, certificate=None, thumbprint=None): + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) + + def location_match(c): + return c["location"] == location or not location + + def thumbprint_match(c): + return c["properties"]["thumbprint"] == thumbprint or not thumbprint + + def both_match(c): + return location_match(c) and thumbprint_match(c) + + if certificate: + if is_valid_resource_id(certificate): + certificate_name = parse_resource_id(certificate)["resource_name"] + else: + certificate_name = certificate + try: + r = ManagedEnvironmentClient.show_certificate(cmd, resource_group_name, name, certificate_name) + return [r] if both_match(r) else [] + except Exception as e: + handle_raw_exception(e) + else: + try: + r = ManagedEnvironmentClient.list_certificates(cmd, resource_group_name, name) + return list(filter(both_match, r)) + except Exception as e: + handle_raw_exception(e) + + +def upload_certificate(cmd, name, resource_group_name, certificate_file, certificate_name=None, certificate_password=None, location=None): + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) + + blob, thumbprint = load_cert_file(certificate_file, certificate_password) + + cert_name = None + if certificate_name: + if not check_cert_name_availability(cmd, resource_group_name, name, certificate_name): + msg = 'A certificate with the name {} already exists in {}. If continue with this name, it will be overwritten by the new certificate file.\nOverwrite?' + overwrite = prompt_y_n(msg.format(certificate_name, name)) + if overwrite: + cert_name = certificate_name + else: + cert_name = certificate_name + + while not cert_name: + random_name = generate_randomized_cert_name(thumbprint, name, resource_group_name) + if check_cert_name_availability(cmd, resource_group_name, name, random_name): + cert_name = random_name + + certificate = ContainerAppCertificateEnvelopeModel + certificate["properties"]["password"] = certificate_password + certificate["properties"]["value"] = blob + certificate["location"] = location + if not certificate["location"]: + try: + managed_env = ManagedEnvironmentClient.show(cmd, resource_group_name, name) + certificate["location"] = managed_env["location"] + except Exception as e: + handle_raw_exception(e) + + try: + r = ManagedEnvironmentClient.create_or_update_certificate(cmd, resource_group_name, name, cert_name, certificate) + return r + except Exception as e: + handle_raw_exception(e) + + +def delete_certificate(cmd, resource_group_name, name, location=None, certificate=None, thumbprint=None): + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) + + if not certificate and not thumbprint: + raise RequiredArgumentMissingError('Please specify at least one of parameters: --certificate and --thumbprint') + certs = list_certificates(cmd, name, resource_group_name, location, certificate, thumbprint) + for cert in certs: + try: + ManagedEnvironmentClient.delete_certificate(cmd, resource_group_name, name, cert["name"]) + logger.warning('Successfully deleted certificate: {}'.format(cert["name"])) + except Exception as e: + handle_raw_exception(e) + + +def upload_ssl(cmd, resource_group_name, name, environment, certificate_file, hostname, certificate_password=None, certificate_name=None, location=None): + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) + + passed, message = validate_hostname(cmd, resource_group_name, name, hostname) + if not passed: + raise ValidationError(message or 'Please configure the DNS records before adding the hostname.') + + custom_domains = get_custom_domains(cmd, resource_group_name, name, location, environment) + new_custom_domains = list(filter(lambda c: c["name"] != hostname, custom_domains)) + + if is_valid_resource_id(environment): + cert = upload_certificate(cmd, _get_name(environment), parse_resource_id(environment)["resource_group"], certificate_file, certificate_name, certificate_password, location) + else: + cert = upload_certificate(cmd, _get_name(environment), resource_group_name, certificate_file, certificate_name, certificate_password, location) + cert_id = cert["id"] + + new_domain = ContainerAppCustomDomainModel + new_domain["name"] = hostname + new_domain["certificateId"] = cert_id + new_custom_domains.append(new_domain) + + return patch_new_custom_domain(cmd, resource_group_name, name, new_custom_domains) + + +def bind_hostname(cmd, resource_group_name, name, hostname, thumbprint=None, certificate=None, location=None, environment=None): + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) + + if not thumbprint and not certificate: + raise RequiredArgumentMissingError('Please specify at least one of parameters: --certificate and --thumbprint') + if not environment and not certificate: + raise RequiredArgumentMissingError('Please specify at least one of parameters: --certificate and --environment') + if certificate and not is_valid_resource_id(certificate) and not environment: + raise RequiredArgumentMissingError('Please specify the parameter: --environment') + + passed, message = validate_hostname(cmd, resource_group_name, name, hostname) + if not passed: + raise ValidationError(message or 'Please configure the DNS records before adding the hostname.') + + env_name = None + cert_name = None + cert_id = None + if certificate: + if is_valid_resource_id(certificate): + cert_id = certificate + else: + cert_name = certificate + if environment: + env_name = _get_name(environment) + if not cert_id: + certs = list_certificates(cmd, env_name, resource_group_name, location, cert_name, thumbprint) + cert_id = certs[0]["id"] + + custom_domains = get_custom_domains(cmd, resource_group_name, name, location, environment) + new_custom_domains = list(filter(lambda c: c["name"] != hostname, custom_domains)) + new_domain = ContainerAppCustomDomainModel + new_domain["name"] = hostname + new_domain["certificateId"] = cert_id + new_custom_domains.append(new_domain) + + return patch_new_custom_domain(cmd, resource_group_name, name, new_custom_domains) + + +def list_hostname(cmd, resource_group_name, name, location=None): + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) + + custom_domains = get_custom_domains(cmd, resource_group_name, name, location) + return custom_domains + + +def delete_hostname(cmd, resource_group_name, name, hostname, location=None): + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) + + custom_domains = get_custom_domains(cmd, resource_group_name, name, location) + new_custom_domains = list(filter(lambda c: c["name"] != hostname, custom_domains)) + if len(new_custom_domains) == len(custom_domains): + raise ResourceNotFoundError("The hostname '{}' in Container app '{}' was not found.".format(hostname, name)) + + r = patch_new_custom_domain(cmd, resource_group_name, name, new_custom_domains) + logger.warning('Successfully deleted custom domain: {}'.format(hostname)) + return r + + def show_storage(cmd, name, storage_name, resource_group_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: return StorageClient.show(cmd, resource_group_name, name, storage_name) @@ -2325,7 +2514,7 @@ def show_storage(cmd, name, storage_name, resource_group_name): def list_storage(cmd, name, resource_group_name): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: return StorageClient.list(cmd, resource_group_name, name) @@ -2334,7 +2523,7 @@ def list_storage(cmd, name, resource_group_name): def create_or_update_storage(cmd, storage_name, resource_group_name, name, azure_file_account_name, azure_file_share_name, azure_file_account_key, access_mode, no_wait=False): # pylint: disable=redefined-builtin - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) if len(azure_file_share_name) < 3: raise ValidationError("File share name must be longer than 2 characters.") @@ -2368,9 +2557,795 @@ def create_or_update_storage(cmd, storage_name, resource_group_name, name, azure def remove_storage(cmd, storage_name, name, resource_group_name, no_wait=False): - _validate_subscription_registered(cmd, "Microsoft.App") + _validate_subscription_registered(cmd, CONTAINER_APPS_RP) try: return StorageClient.delete(cmd, resource_group_name, name, storage_name, no_wait) except CLIError as e: handle_raw_exception(e) + + +# TODO: Refactor provider code to make it cleaner +def update_aad_settings(cmd, resource_group_name, name, + client_id=None, client_secret_setting_name=None, + issuer=None, allowed_token_audiences=None, client_secret=None, + client_secret_certificate_thumbprint=None, + client_secret_certificate_san=None, + client_secret_certificate_issuer=None, + yes=False, tenant_id=None): + + try: + show_ingress(cmd, name, resource_group_name) + except Exception as e: + raise ValidationError("Authentication requires ingress to be enabled for your containerapp.") from e + + if client_secret is not None and client_secret_setting_name is not None: + raise ArgumentUsageError('Usage Error: --client-secret and --client-secret-setting-name cannot both be ' + 'configured to non empty strings') + + if client_secret_setting_name is not None and client_secret_certificate_thumbprint is not None: + raise ArgumentUsageError('Usage Error: --client-secret-setting-name and --thumbprint cannot both be ' + 'configured to non empty strings') + + if client_secret is not None and client_secret_certificate_thumbprint is not None: + raise ArgumentUsageError('Usage Error: --client-secret and --thumbprint cannot both be ' + 'configured to non empty strings') + + if client_secret is not None and client_secret_certificate_san is not None: + raise ArgumentUsageError('Usage Error: --client-secret and --san cannot both be ' + 'configured to non empty strings') + + if client_secret_setting_name is not None and client_secret_certificate_san is not None: + raise ArgumentUsageError('Usage Error: --client-secret-setting-name and --san cannot both be ' + 'configured to non empty strings') + + if client_secret_certificate_thumbprint is not None and client_secret_certificate_san is not None: + raise ArgumentUsageError('Usage Error: --thumbprint and --san cannot both be ' + 'configured to non empty strings') + + if ((client_secret_certificate_san is not None and client_secret_certificate_issuer is None) or + (client_secret_certificate_san is None and client_secret_certificate_issuer is not None)): + raise ArgumentUsageError('Usage Error: --san and --certificate-issuer must both be ' + 'configured to non empty strings') + + if issuer is not None and (tenant_id is not None): + raise ArgumentUsageError('Usage Error: --issuer and --tenant-id cannot be configured ' + 'to non empty strings at the same time.') + + is_new_aad_app = False + existing_auth = {} + try: + existing_auth = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + existing_auth = {} + existing_auth["platform"] = {} + existing_auth["platform"]["enabled"] = True + existing_auth["globalValidation"] = {} + existing_auth["login"] = {} + + registration = {} + validation = {} + if "identityProviders" not in existing_auth: + existing_auth["identityProviders"] = {} + if "azureActiveDirectory" not in existing_auth["identityProviders"]: + existing_auth["identityProviders"]["azureActiveDirectory"] = {} + is_new_aad_app = True + + if is_new_aad_app and issuer is None and tenant_id is None: + raise ArgumentUsageError('Usage Error: Either --issuer or --tenant-id must be specified when configuring the ' + 'Microsoft auth registration.') + + if client_secret is not None and not yes: + msg = 'Configuring --client-secret will add a secret to the containerapp. Are you sure you want to continue?' + if not prompt_y_n(msg, default="n"): + raise ArgumentUsageError('Usage Error: --client-secret cannot be used without agreeing to add secret ' + 'to the containerapp.') + + openid_issuer = issuer + if openid_issuer is None: + # cmd.cli_ctx.cloud resolves to whichever cloud the customer is currently logged into + authority = cmd.cli_ctx.cloud.endpoints.active_directory + + if tenant_id is not None: + openid_issuer = authority + "/" + tenant_id + "/v2.0" + + registration = {} + validation = {} + if "identityProviders" not in existing_auth: + existing_auth["identityProviders"] = {} + if "azureActiveDirectory" not in existing_auth["identityProviders"]: + existing_auth["identityProviders"]["azureActiveDirectory"] = {} + if (client_id is not None or client_secret is not None or + client_secret_setting_name is not None or openid_issuer is not None or + client_secret_certificate_thumbprint is not None or + client_secret_certificate_san is not None or + client_secret_certificate_issuer is not None): + if "registration" not in existing_auth["identityProviders"]["azureActiveDirectory"]: + existing_auth["identityProviders"]["azureActiveDirectory"]["registration"] = {} + registration = existing_auth["identityProviders"]["azureActiveDirectory"]["registration"] + if allowed_token_audiences is not None: + if "validation" not in existing_auth["identityProviders"]["azureActiveDirectory"]: + existing_auth["identityProviders"]["azureActiveDirectory"]["validation"] = {} + validation = existing_auth["identityProviders"]["azureActiveDirectory"]["validation"] + + if client_id is not None: + registration["clientId"] = client_id + if client_secret_setting_name is not None: + registration["clientSecretSettingName"] = client_secret_setting_name + if client_secret is not None: + registration["clientSecretSettingName"] = MICROSOFT_SECRET_SETTING_NAME + set_secrets(cmd, name, resource_group_name, secrets=[f"{MICROSOFT_SECRET_SETTING_NAME}={client_secret}"], no_wait=True, disable_max_length=True) + if client_secret_setting_name is not None or client_secret is not None: + fields = ["clientSecretCertificateThumbprint", "clientSecretCertificateSubjectAlternativeName", "clientSecretCertificateIssuer"] + for field in [f for f in fields if registration.get(f)]: + registration[field] = None + if client_secret_certificate_thumbprint is not None: + registration["clientSecretCertificateThumbprint"] = client_secret_certificate_thumbprint + fields = ["clientSecretSettingName", "clientSecretCertificateSubjectAlternativeName", "clientSecretCertificateIssuer"] + for field in [f for f in fields if registration.get(f)]: + registration[field] = None + if client_secret_certificate_san is not None: + registration["clientSecretCertificateSubjectAlternativeName"] = client_secret_certificate_san + if client_secret_certificate_issuer is not None: + registration["clientSecretCertificateIssuer"] = client_secret_certificate_issuer + if client_secret_certificate_san is not None and client_secret_certificate_issuer is not None: + if "clientSecretSettingName" in registration: + registration["clientSecretSettingName"] = None + if "clientSecretCertificateThumbprint" in registration: + registration["clientSecretCertificateThumbprint"] = None + if openid_issuer is not None: + registration["openIdIssuer"] = openid_issuer + if allowed_token_audiences is not None: + validation["allowedAudiences"] = allowed_token_audiences.split(",") + existing_auth["identityProviders"]["azureActiveDirectory"]["validation"] = validation + if (client_id is not None or client_secret is not None or + client_secret_setting_name is not None or issuer is not None or + client_secret_certificate_thumbprint is not None or + client_secret_certificate_san is not None or + client_secret_certificate_issuer is not None): + existing_auth["identityProviders"]["azureActiveDirectory"]["registration"] = registration + + try: + updated_auth_settings = AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=existing_auth)["properties"] + return updated_auth_settings["identityProviders"]["azureActiveDirectory"] + except Exception as e: + handle_raw_exception(e) + + +def get_aad_settings(cmd, resource_group_name, name): + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + pass + if "identityProviders" not in auth_settings: + return {} + if "azureActiveDirectory" not in auth_settings["identityProviders"]: + return {} + return auth_settings["identityProviders"]["azureActiveDirectory"] + + +def get_facebook_settings(cmd, resource_group_name, name): + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + pass + if "identityProviders" not in auth_settings: + return {} + if "facebook" not in auth_settings["identityProviders"]: + return {} + return auth_settings["identityProviders"]["facebook"] + + +def update_facebook_settings(cmd, resource_group_name, name, + app_id=None, app_secret_setting_name=None, + graph_api_version=None, scopes=None, app_secret=None, yes=False): + try: + show_ingress(cmd, name, resource_group_name) + except Exception as e: + raise ValidationError("Authentication requires ingress to be enabled for your containerapp.") from e + + if app_secret is not None and app_secret_setting_name is not None: + raise ArgumentUsageError('Usage Error: --app-secret and --app-secret-setting-name cannot both be configured ' + 'to non empty strings') + + if app_secret is not None and not yes: + msg = 'Configuring --client-secret will add a secret to the containerapp. Are you sure you want to continue?' + if not prompt_y_n(msg, default="n"): + raise ArgumentUsageError('Usage Error: --client-secret cannot be used without agreeing to add secret ' + 'to the containerapp.') + + existing_auth = {} + try: + existing_auth = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + existing_auth = {} + existing_auth["platform"] = {} + existing_auth["platform"]["enabled"] = True + existing_auth["globalValidation"] = {} + existing_auth["login"] = {} + + registration = {} + if "identityProviders" not in existing_auth: + existing_auth["identityProviders"] = {} + if "facebook" not in existing_auth["identityProviders"]: + existing_auth["identityProviders"]["facebook"] = {} + if app_id is not None or app_secret is not None or app_secret_setting_name is not None: + if "registration" not in existing_auth["identityProviders"]["facebook"]: + existing_auth["identityProviders"]["facebook"]["registration"] = {} + registration = existing_auth["identityProviders"]["facebook"]["registration"] + if scopes is not None: + if "login" not in existing_auth["identityProviders"]["facebook"]: + existing_auth["identityProviders"]["facebook"]["login"] = {} + + if app_id is not None: + registration["appId"] = app_id + if app_secret_setting_name is not None: + registration["appSecretSettingName"] = app_secret_setting_name + if app_secret is not None: + registration["appSecretSettingName"] = FACEBOOK_SECRET_SETTING_NAME + set_secrets(cmd, name, resource_group_name, secrets=[f"{FACEBOOK_SECRET_SETTING_NAME}={app_secret}"], no_wait=True, disable_max_length=True) + if graph_api_version is not None: + existing_auth["identityProviders"]["facebook"]["graphApiVersion"] = graph_api_version + if scopes is not None: + existing_auth["identityProviders"]["facebook"]["login"]["scopes"] = scopes.split(",") + if app_id is not None or app_secret is not None or app_secret_setting_name is not None: + existing_auth["identityProviders"]["facebook"]["registration"] = registration + + try: + updated_auth_settings = AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=existing_auth)["properties"] + return updated_auth_settings["identityProviders"]["facebook"] + except Exception as e: + handle_raw_exception(e) + + +def get_github_settings(cmd, resource_group_name, name): + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + pass + if "identityProviders" not in auth_settings: + return {} + if "gitHub" not in auth_settings["identityProviders"]: + return {} + return auth_settings["identityProviders"]["gitHub"] + + +def update_github_settings(cmd, resource_group_name, name, + client_id=None, client_secret_setting_name=None, + scopes=None, client_secret=None, yes=False): + try: + show_ingress(cmd, name, resource_group_name) + except Exception as e: + raise ValidationError("Authentication requires ingress to be enabled for your containerapp.") from e + + if client_secret is not None and client_secret_setting_name is not None: + raise ArgumentUsageError('Usage Error: --client-secret and --client-secret-setting-name cannot ' + 'both be configured to non empty strings') + + if client_secret is not None and not yes: + msg = 'Configuring --client-secret will add a secret to the containerapp. Are you sure you want to continue?' + if not prompt_y_n(msg, default="n"): + raise ArgumentUsageError('Usage Error: --client-secret cannot be used without agreeing to add secret ' + 'to the containerapp.') + + existing_auth = {} + try: + existing_auth = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + existing_auth = {} + existing_auth["platform"] = {} + existing_auth["platform"]["enabled"] = True + existing_auth["globalValidation"] = {} + existing_auth["login"] = {} + + registration = {} + if "identityProviders" not in existing_auth: + existing_auth["identityProviders"] = {} + if "gitHub" not in existing_auth["identityProviders"]: + existing_auth["identityProviders"]["gitHub"] = {} + if client_id is not None or client_secret is not None or client_secret_setting_name is not None: + if "registration" not in existing_auth["identityProviders"]["gitHub"]: + existing_auth["identityProviders"]["gitHub"]["registration"] = {} + registration = existing_auth["identityProviders"]["gitHub"]["registration"] + if scopes is not None: + if "login" not in existing_auth["identityProviders"]["gitHub"]: + existing_auth["identityProviders"]["gitHub"]["login"] = {} + + if client_id is not None: + registration["clientId"] = client_id + if client_secret_setting_name is not None: + registration["clientSecretSettingName"] = client_secret_setting_name + if client_secret is not None: + registration["clientSecretSettingName"] = GITHUB_SECRET_SETTING_NAME + set_secrets(cmd, name, resource_group_name, secrets=[f"{GITHUB_SECRET_SETTING_NAME}={client_secret}"], no_wait=True, disable_max_length=True) + if scopes is not None: + existing_auth["identityProviders"]["gitHub"]["login"]["scopes"] = scopes.split(",") + if client_id is not None or client_secret is not None or client_secret_setting_name is not None: + existing_auth["identityProviders"]["gitHub"]["registration"] = registration + + try: + updated_auth_settings = AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=existing_auth)["properties"] + return updated_auth_settings["identityProviders"]["gitHub"] + except Exception as e: + handle_raw_exception(e) + + +def get_google_settings(cmd, resource_group_name, name): + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + pass + if "identityProviders" not in auth_settings: + return {} + if "google" not in auth_settings["identityProviders"]: + return {} + return auth_settings["identityProviders"]["google"] + + +def update_google_settings(cmd, resource_group_name, name, + client_id=None, client_secret_setting_name=None, + scopes=None, allowed_token_audiences=None, client_secret=None, yes=False): + try: + show_ingress(cmd, name, resource_group_name) + except Exception as e: + raise ValidationError("Authentication requires ingress to be enabled for your containerapp.") from e + + if client_secret is not None and client_secret_setting_name is not None: + raise ArgumentUsageError('Usage Error: --client-secret and --client-secret-setting-name cannot ' + 'both be configured to non empty strings') + + if client_secret is not None and not yes: + msg = 'Configuring --client-secret will add a secret to the containerapp. Are you sure you want to continue?' + if not prompt_y_n(msg, default="n"): + raise ArgumentUsageError('Usage Error: --client-secret cannot be used without agreeing to add secret ' + 'to the containerapp.') + + existing_auth = {} + try: + existing_auth = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + existing_auth = {} + existing_auth["platform"] = {} + existing_auth["platform"]["enabled"] = True + existing_auth["globalValidation"] = {} + existing_auth["login"] = {} + + registration = {} + validation = {} + if "identityProviders" not in existing_auth: + existing_auth["identityProviders"] = {} + if "google" not in existing_auth["identityProviders"]: + existing_auth["identityProviders"]["google"] = {} + if client_id is not None or client_secret is not None or client_secret_setting_name is not None: + if "registration" not in existing_auth["identityProviders"]["google"]: + existing_auth["identityProviders"]["google"]["registration"] = {} + registration = existing_auth["identityProviders"]["google"]["registration"] + if scopes is not None: + if "login" not in existing_auth["identityProviders"]["google"]: + existing_auth["identityProviders"]["google"]["login"] = {} + if allowed_token_audiences is not None: + if "validation" not in existing_auth["identityProviders"]["google"]: + existing_auth["identityProviders"]["google"]["validation"] = {} + + if client_id is not None: + registration["clientId"] = client_id + if client_secret_setting_name is not None: + registration["clientSecretSettingName"] = client_secret_setting_name + if client_secret is not None: + registration["clientSecretSettingName"] = GOOGLE_SECRET_SETTING_NAME + set_secrets(cmd, name, resource_group_name, secrets=[f"{GOOGLE_SECRET_SETTING_NAME}={client_secret}"], no_wait=True, disable_max_length=True) + if scopes is not None: + existing_auth["identityProviders"]["google"]["login"]["scopes"] = scopes.split(",") + if allowed_token_audiences is not None: + validation["allowedAudiences"] = allowed_token_audiences.split(",") + existing_auth["identityProviders"]["google"]["validation"] = validation + if client_id is not None or client_secret is not None or client_secret_setting_name is not None: + existing_auth["identityProviders"]["google"]["registration"] = registration + + try: + updated_auth_settings = AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=existing_auth)["properties"] + return updated_auth_settings["identityProviders"]["google"] + except Exception as e: + handle_raw_exception(e) + + +def get_twitter_settings(cmd, resource_group_name, name): + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + pass + if "identityProviders" not in auth_settings: + return {} + if "twitter" not in auth_settings["identityProviders"]: + return {} + return auth_settings["identityProviders"]["twitter"] + + +def update_twitter_settings(cmd, resource_group_name, name, + consumer_key=None, consumer_secret_setting_name=None, + consumer_secret=None, yes=False): + try: + show_ingress(cmd, name, resource_group_name) + except Exception as e: + raise ValidationError("Authentication requires ingress to be enabled for your containerapp.") from e + + if consumer_secret is not None and consumer_secret_setting_name is not None: + raise ArgumentUsageError('Usage Error: --consumer-secret and --consumer-secret-setting-name cannot ' + 'both be configured to non empty strings') + + if consumer_secret is not None and not yes: + msg = 'Configuring --client-secret will add a secret to the containerapp. Are you sure you want to continue?' + if not prompt_y_n(msg, default="n"): + raise ArgumentUsageError('Usage Error: --client-secret cannot be used without agreeing to add secret ' + 'to the containerapp.') + + existing_auth = {} + try: + existing_auth = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + existing_auth = {} + existing_auth["platform"] = {} + existing_auth["platform"]["enabled"] = True + existing_auth["globalValidation"] = {} + existing_auth["login"] = {} + + registration = {} + if "identityProviders" not in existing_auth: + existing_auth["identityProviders"] = {} + if "twitter" not in existing_auth["identityProviders"]: + existing_auth["identityProviders"]["twitter"] = {} + if consumer_key is not None or consumer_secret is not None or consumer_secret_setting_name is not None: + if "registration" not in existing_auth["identityProviders"]["twitter"]: + existing_auth["identityProviders"]["twitter"]["registration"] = {} + registration = existing_auth["identityProviders"]["twitter"]["registration"] + + if consumer_key is not None: + registration["consumerKey"] = consumer_key + if consumer_secret_setting_name is not None: + registration["consumerSecretSettingName"] = consumer_secret_setting_name + if consumer_secret is not None: + registration["consumerSecretSettingName"] = TWITTER_SECRET_SETTING_NAME + set_secrets(cmd, name, resource_group_name, secrets=[f"{TWITTER_SECRET_SETTING_NAME}={consumer_secret}"], no_wait=True, disable_max_length=True) + if consumer_key is not None or consumer_secret is not None or consumer_secret_setting_name is not None: + existing_auth["identityProviders"]["twitter"]["registration"] = registration + try: + updated_auth_settings = AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=existing_auth)["properties"] + return updated_auth_settings["identityProviders"]["twitter"] + except Exception as e: + handle_raw_exception(e) + + +def get_apple_settings(cmd, resource_group_name, name): + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + pass + if "identityProviders" not in auth_settings: + return {} + if "apple" not in auth_settings["identityProviders"]: + return {} + return auth_settings["identityProviders"]["apple"] + + +def update_apple_settings(cmd, resource_group_name, name, + client_id=None, client_secret_setting_name=None, + scopes=None, client_secret=None, yes=False): + try: + show_ingress(cmd, name, resource_group_name) + except Exception as e: + raise ValidationError("Authentication requires ingress to be enabled for your containerapp.") from e + + if client_secret is not None and client_secret_setting_name is not None: + raise ArgumentUsageError('Usage Error: --client-secret and --client-secret-setting-name ' + 'cannot both be configured to non empty strings') + + if client_secret is not None and not yes: + msg = 'Configuring --client-secret will add a secret to the containerapp. Are you sure you want to continue?' + if not prompt_y_n(msg, default="n"): + raise ArgumentUsageError('Usage Error: --client-secret cannot be used without agreeing to add secret ' + 'to the containerapp.') + + existing_auth = {} + try: + existing_auth = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + existing_auth = {} + existing_auth["platform"] = {} + existing_auth["platform"]["enabled"] = True + existing_auth["globalValidation"] = {} + existing_auth["login"] = {} + + registration = {} + if "identityProviders" not in existing_auth: + existing_auth["identityProviders"] = {} + if "apple" not in existing_auth["identityProviders"]: + existing_auth["identityProviders"]["apple"] = {} + if client_id is not None or client_secret is not None or client_secret_setting_name is not None: + if "registration" not in existing_auth["identityProviders"]["apple"]: + existing_auth["identityProviders"]["apple"]["registration"] = {} + registration = existing_auth["identityProviders"]["apple"]["registration"] + if scopes is not None: + if "login" not in existing_auth["identityProviders"]["apple"]: + existing_auth["identityProviders"]["apple"]["login"] = {} + + if client_id is not None: + registration["clientId"] = client_id + if client_secret_setting_name is not None: + registration["clientSecretSettingName"] = client_secret_setting_name + if client_secret is not None: + registration["clientSecretSettingName"] = APPLE_SECRET_SETTING_NAME + set_secrets(cmd, name, resource_group_name, secrets=[f"{APPLE_SECRET_SETTING_NAME}={client_secret}"], no_wait=True, disable_max_length=True) + if scopes is not None: + existing_auth["identityProviders"]["apple"]["login"]["scopes"] = scopes.split(",") + if client_id is not None or client_secret is not None or client_secret_setting_name is not None: + existing_auth["identityProviders"]["apple"]["registration"] = registration + + try: + updated_auth_settings = AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=existing_auth)["properties"] + return updated_auth_settings["identityProviders"]["apple"] + except Exception as e: + handle_raw_exception(e) + + +def get_openid_connect_provider_settings(cmd, resource_group_name, name, provider_name): + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + pass + if "identityProviders" not in auth_settings: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider ' + 'has not been configured: ' + provider_name) + if "customOpenIdConnectProviders" not in auth_settings["identityProviders"]: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider ' + 'has not been configured: ' + provider_name) + if provider_name not in auth_settings["identityProviders"]["customOpenIdConnectProviders"]: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider ' + 'has not been configured: ' + provider_name) + return auth_settings["identityProviders"]["customOpenIdConnectProviders"][provider_name] + + +def add_openid_connect_provider_settings(cmd, resource_group_name, name, provider_name, + client_id=None, client_secret_setting_name=None, + openid_configuration=None, scopes=None, + client_secret=None, yes=False): + from ._utils import get_oidc_client_setting_app_setting_name + try: + show_ingress(cmd, name, resource_group_name) + except Exception as e: + raise ValidationError("Authentication requires ingress to be enabled for your containerapp.") from e + + if client_secret is not None and not yes: + msg = 'Configuring --client-secret will add a secret to the containerapp. Are you sure you want to continue?' + if not prompt_y_n(msg, default="n"): + raise ArgumentUsageError('Usage Error: --client-secret cannot be used without agreeing to add secret ' + 'to the containerapp.') + + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + auth_settings = {} + auth_settings["platform"] = {} + auth_settings["platform"]["enabled"] = True + auth_settings["globalValidation"] = {} + auth_settings["login"] = {} + + if "identityProviders" not in auth_settings: + auth_settings["identityProviders"] = {} + if "customOpenIdConnectProviders" not in auth_settings["identityProviders"]: + auth_settings["identityProviders"]["customOpenIdConnectProviders"] = {} + if provider_name in auth_settings["identityProviders"]["customOpenIdConnectProviders"]: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider has already been ' + 'configured: ' + provider_name + '. Please use `az containerapp auth oidc update` to ' + 'update the provider.') + + final_client_secret_setting_name = client_secret_setting_name + if client_secret is not None: + final_client_secret_setting_name = get_oidc_client_setting_app_setting_name(provider_name) + set_secrets(cmd, name, resource_group_name, secrets=[f"{final_client_secret_setting_name}={client_secret}"], no_wait=True, disable_max_length=True) + + auth_settings["identityProviders"]["customOpenIdConnectProviders"][provider_name] = { + "registration": { + "clientId": client_id, + "clientCredential": { + "clientSecretSettingName": final_client_secret_setting_name + }, + "openIdConnectConfiguration": { + "wellKnownOpenIdConfiguration": openid_configuration + } + } + } + login = {} + if scopes is not None: + login["scopes"] = scopes.split(',') + else: + login["scopes"] = ["openid"] + + auth_settings["identityProviders"]["customOpenIdConnectProviders"][provider_name]["login"] = login + + try: + updated_auth_settings = AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=auth_settings)["properties"] + return updated_auth_settings["identityProviders"]["customOpenIdConnectProviders"][provider_name] + except Exception as e: + handle_raw_exception(e) + + +def update_openid_connect_provider_settings(cmd, resource_group_name, name, provider_name, + client_id=None, client_secret_setting_name=None, + openid_configuration=None, scopes=None, + client_secret=None, yes=False): + from ._utils import get_oidc_client_setting_app_setting_name + try: + show_ingress(cmd, name, resource_group_name) + except Exception as e: + raise ValidationError("Authentication requires ingress to be enabled for your containerapp.") from e + + if client_secret is not None and not yes: + msg = 'Configuring --client-secret will add a secret to the containerapp. Are you sure you want to continue?' + if not prompt_y_n(msg, default="n"): + raise ArgumentUsageError('Usage Error: --client-secret cannot be used without agreeing to add secret ' + 'to the containerapp.') + + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + auth_settings = {} + auth_settings["platform"] = {} + auth_settings["platform"]["enabled"] = True + auth_settings["globalValidation"] = {} + auth_settings["login"] = {} + + if "identityProviders" not in auth_settings: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider ' + 'has not been configured: ' + provider_name) + if "customOpenIdConnectProviders" not in auth_settings["identityProviders"]: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider ' + 'has not been configured: ' + provider_name) + if provider_name not in auth_settings["identityProviders"]["customOpenIdConnectProviders"]: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider ' + 'has not been configured: ' + provider_name) + + custom_open_id_connect_providers = auth_settings["identityProviders"]["customOpenIdConnectProviders"] + registration = {} + if client_id is not None or client_secret_setting_name is not None or openid_configuration is not None: + if "registration" not in custom_open_id_connect_providers[provider_name]: + custom_open_id_connect_providers[provider_name]["registration"] = {} + registration = custom_open_id_connect_providers[provider_name]["registration"] + + if client_secret_setting_name is not None or client_secret is not None: + if "clientCredential" not in custom_open_id_connect_providers[provider_name]["registration"]: + custom_open_id_connect_providers[provider_name]["registration"]["clientCredential"] = {} + + if openid_configuration is not None: + if "openIdConnectConfiguration" not in custom_open_id_connect_providers[provider_name]["registration"]: + custom_open_id_connect_providers[provider_name]["registration"]["openIdConnectConfiguration"] = {} + + if scopes is not None: + if "login" not in auth_settings["identityProviders"]["customOpenIdConnectProviders"][provider_name]: + custom_open_id_connect_providers[provider_name]["login"] = {} + + if client_id is not None: + registration["clientId"] = client_id + if client_secret_setting_name is not None: + registration["clientCredential"]["clientSecretSettingName"] = client_secret_setting_name + if client_secret is not None: + final_client_secret_setting_name = get_oidc_client_setting_app_setting_name(provider_name) + registration["clientSecretSettingName"] = final_client_secret_setting_name + set_secrets(cmd, name, resource_group_name, secrets=[f"{final_client_secret_setting_name}={client_secret}"], no_wait=True, disable_max_length=True) + if openid_configuration is not None: + registration["openIdConnectConfiguration"]["wellKnownOpenIdConfiguration"] = openid_configuration + if scopes is not None: + custom_open_id_connect_providers[provider_name]["login"]["scopes"] = scopes.split(",") + if client_id is not None or client_secret_setting_name is not None or openid_configuration is not None: + custom_open_id_connect_providers[provider_name]["registration"] = registration + auth_settings["identityProviders"]["customOpenIdConnectProviders"] = custom_open_id_connect_providers + + try: + updated_auth_settings = AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=auth_settings)["properties"] + return updated_auth_settings["identityProviders"]["customOpenIdConnectProviders"][provider_name] + except Exception as e: + handle_raw_exception(e) + + +def remove_openid_connect_provider_settings(cmd, resource_group_name, name, provider_name): + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + pass + if "identityProviders" not in auth_settings: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider ' + 'has not been configured: ' + provider_name) + if "customOpenIdConnectProviders" not in auth_settings["identityProviders"]: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider ' + 'has not been configured: ' + provider_name) + if provider_name not in auth_settings["identityProviders"]["customOpenIdConnectProviders"]: + raise ArgumentUsageError('Usage Error: The following custom OpenID Connect provider ' + 'has not been configured: ' + provider_name) + auth_settings["identityProviders"]["customOpenIdConnectProviders"].pop(provider_name, None) + try: + AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=auth_settings) + return {} + except Exception as e: + handle_raw_exception(e) + + +def update_auth_config(cmd, resource_group_name, name, set_string=None, enabled=None, + runtime_version=None, config_file_path=None, unauthenticated_client_action=None, + redirect_provider=None, enable_token_store=None, require_https=None, + proxy_convention=None, proxy_custom_host_header=None, + proxy_custom_proto_header=None, excluded_paths=None): + from ._utils import set_field_in_auth_settings, update_http_settings_in_auth_settings + existing_auth = {} + try: + existing_auth = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + existing_auth["platform"] = {} + existing_auth["platform"]["enabled"] = True + existing_auth["globalValidation"] = {} + existing_auth["login"] = {} + + existing_auth = set_field_in_auth_settings(existing_auth, set_string) + + if enabled is not None: + if "platform" not in existing_auth: + existing_auth["platform"] = {} + existing_auth["platform"]["enabled"] = enabled + + if runtime_version is not None: + if "platform" not in existing_auth: + existing_auth["platform"] = {} + existing_auth["platform"]["runtimeVersion"] = runtime_version + + if config_file_path is not None: + if "platform" not in existing_auth: + existing_auth["platform"] = {} + existing_auth["platform"]["configFilePath"] = config_file_path + + if unauthenticated_client_action is not None: + if "globalValidation" not in existing_auth: + existing_auth["globalValidation"] = {} + existing_auth["globalValidation"]["unauthenticatedClientAction"] = unauthenticated_client_action + + if redirect_provider is not None: + if "globalValidation" not in existing_auth: + existing_auth["globalValidation"] = {} + existing_auth["globalValidation"]["redirectToProvider"] = redirect_provider + + if enable_token_store is not None: + if "login" not in existing_auth: + existing_auth["login"] = {} + if "tokenStore" not in existing_auth["login"]: + existing_auth["login"]["tokenStore"] = {} + existing_auth["login"]["tokenStore"]["enabled"] = enable_token_store + + if excluded_paths is not None: + if "globalValidation" not in existing_auth: + existing_auth["globalValidation"] = {} + excluded_paths_list_string = excluded_paths[1:-1] + existing_auth["globalValidation"]["excludedPaths"] = excluded_paths_list_string.split(",") + + existing_auth = update_http_settings_in_auth_settings(existing_auth, require_https, + proxy_convention, proxy_custom_host_header, + proxy_custom_proto_header) + try: + return AuthClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current", auth_config_envelope=existing_auth) + except Exception as e: + handle_raw_exception(e) + + +def show_auth_config(cmd, resource_group_name, name): + auth_settings = {} + try: + auth_settings = AuthClient.get(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, auth_config_name="current")["properties"] + except: + pass + return auth_settings diff --git a/src/containerapp/azext_containerapp/tests/latest/cert.pem b/src/containerapp/azext_containerapp/tests/latest/cert.pem new file mode 100644 index 00000000000..5ba0f367091 --- /dev/null +++ b/src/containerapp/azext_containerapp/tests/latest/cert.pem @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB4jCCAYigAwIBAgIJAP7PvAbawuyKMAoGCCqGSM49BAMCMEwxCzAJBgNVBAYT +AlVTMQswCQYDVQQIDAJXQTEQMA4GA1UEBwwHUmVkbW9uZDELMAkGA1UECgwCTVMx +ETAPBgNVBAMMCHRlc3QgRUNDMB4XDTIyMDMzMDAzMzgwOVoXDTIzMDMyNTAzMzgw +OVowTDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAldBMRAwDgYDVQQHDAdSZWRtb25k +MQswCQYDVQQKDAJNUzERMA8GA1UEAwwIdGVzdCBFQ0MwWTATBgcqhkjOPQIBBggq +hkjOPQMBBwNCAAQwjPFJZIKDKti/CIF/3Q6N3TlhsFGqd298ntf+R5Y086hpwwHZ +12g/V5FO6Egju3O1kzU47ZVHtpjV5idGp9+uo1MwUTAdBgNVHQ4EFgQUvu4PsfwU ++jSoHjtSH/d+txuwrU0wHwYDVR0jBBgwFoAUvu4PsfwU+jSoHjtSH/d+txuwrU0w +DwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBFAiAZjExYDs6zRCwQBqIZ +wSQhN4s0JMAaL68vbsYaiEmP5AIhANXvE21kv4FmJDUBLhKTTVtTuCILNiKNiXjr +l+yC2sCb +-----END CERTIFICATE----- diff --git a/src/containerapp/azext_containerapp/tests/latest/cert.pfx b/src/containerapp/azext_containerapp/tests/latest/cert.pfx new file mode 100644 index 00000000000..345eb26e4dc Binary files /dev/null and b/src/containerapp/azext_containerapp/tests/latest/cert.pfx differ diff --git a/src/containerapp/azext_containerapp/tests/latest/cert.txt b/src/containerapp/azext_containerapp/tests/latest/cert.txt new file mode 100644 index 00000000000..9a2c7732fab --- /dev/null +++ b/src/containerapp/azext_containerapp/tests/latest/cert.txt @@ -0,0 +1 @@ +testing \ No newline at end of file diff --git a/src/containerapp/azext_containerapp/tests/latest/domain-contact.json b/src/containerapp/azext_containerapp/tests/latest/domain-contact.json new file mode 100644 index 00000000000..d8cfbab3951 --- /dev/null +++ b/src/containerapp/azext_containerapp/tests/latest/domain-contact.json @@ -0,0 +1,44 @@ +{ + "address1": { + "value": "One Microsoft Way" + }, + "address2": { + "value": "" + }, + "city": { + "value": "Seattle" + }, + "country": { + "value": "US" + }, + "postal_code": { + "value": "98109" + }, + "state": { + "value": "WA" + }, + "email": { + "value": "testemail@hotmail.com" + }, + "fax": { + "value": "" + }, + "job_title": { + "value": "" + }, + "name_first": { + "value": "Jane" + }, + "name_last": { + "value": "Doe" + }, + "name_middle": { + "value": "" + }, + "organization": { + "value": "" + }, + "phone": { + "value": "+1.2061234567" + } +} diff --git a/src/containerapp/azext_containerapp/tests/latest/recordings/test_containerapp_identity_e2e.yaml b/src/containerapp/azext_containerapp/tests/latest/recordings/test_containerapp_identity_e2e.yaml deleted file mode 100644 index 82d874709a4..00000000000 --- a/src/containerapp/azext_containerapp/tests/latest/recordings/test_containerapp_identity_e2e.yaml +++ /dev/null @@ -1,4007 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor log-analytics workspace create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-05-12T20:52:27Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '311' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:52:29 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2", "properties": {"sku": {"name": "PerGB2018"}, "retentionInDays": - 30, "workspaceCapping": {}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor log-analytics workspace create - Connection: - - keep-alive - Content-Length: - - '116' - Content-Type: - - application/json - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-mgmt-loganalytics/13.0.0b4 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/containerapp-env000005?api-version=2021-12-01-preview - response: - body: - string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b\",\r\n \"provisioningState\": \"Creating\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Thu, 12 May 2022 20:52:33 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n - \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n - \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n - \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": - \"Thu, 12 May 2022 22:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n - \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Thu, 12 May 2022 20:52:32 GMT\",\r\n - \ \"modifiedDate\": \"Thu, 12 May 2022 20:52:32 GMT\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/containerapp-env000005\",\r\n - \ \"name\": \"containerapp-env000005\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n - \ \"location\": \"eastus2\"\r\n}" - headers: - access-control-allow-origin: - - '*' - cache-control: - - no-cache - content-length: - - '1079' - content-type: - - application/json - date: - - Thu, 12 May 2022 20:52:33 GMT - pragma: - - no-cache - request-context: - - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor log-analytics workspace create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-mgmt-loganalytics/13.0.0b4 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/containerapp-env000005?api-version=2021-12-01-preview - response: - body: - string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Thu, 12 May 2022 20:52:33 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n - \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n - \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n - \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": - \"Thu, 12 May 2022 22:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n - \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Thu, 12 May 2022 20:52:33 GMT\",\r\n - \ \"modifiedDate\": \"Thu, 12 May 2022 20:52:33 GMT\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/containerapp-env000005\",\r\n - \ \"name\": \"containerapp-env000005\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n - \ \"location\": \"eastus2\"\r\n}" - headers: - access-control-allow-origin: - - '*' - cache-control: - - no-cache - content-length: - - '1080' - content-type: - - application/json - date: - - Thu, 12 May 2022 20:53:04 GMT - pragma: - - no-cache - request-context: - - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor log-analytics workspace get-shared-keys - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-mgmt-loganalytics/13.0.0b4 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/containerapp-env000005/sharedKeys?api-version=2020-08-01 - response: - body: - string: "{\r\n \"primarySharedKey\": \"AaNGetA8xEpMzEjmq47dOcH7SDPu+m7e/AjiiICavzoXDMYmkHeEg3JuTSFjajKFH9VaR9uuPTVNfFpQJYqRvg==\",\r\n - \ \"secondarySharedKey\": \"mmc5PCYv3PqLldjAHll+fHwNU0ksnjpefs+Nxlqzdi51pRgtxuKYPO/VbKPOPFp71n5fasgo+o1YnoovoPpfaw==\"\r\n}" - headers: - access-control-allow-origin: - - '*' - cache-control: - - no-cache - cachecontrol: - - no-cache - content-length: - - '235' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:07 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-ams-apiversion: - - WebAPI1.0 - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - x-powered-by: - - ASP.NET - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-05-12T20:52:27Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '311' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:06 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:07 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:07 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2", "tags": null, "properties": {"daprAIInstrumentationKey": - null, "vnetConfiguration": null, "internalLoadBalancerEnabled": false, "appLogsConfiguration": - {"destination": "log-analytics", "logAnalyticsConfiguration": {"customerId": - "5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b", "sharedKey": "AaNGetA8xEpMzEjmq47dOcH7SDPu+m7e/AjiiICavzoXDMYmkHeEg3JuTSFjajKFH9VaR9uuPTVNfFpQJYqRvg=="}}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - Content-Length: - - '400' - Content-Type: - - application/json - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045Z","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045Z"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/eastus2/managedEnvironmentOperationStatuses/d6f1ecd8-153b-4147-be12-052abd78b62a?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '800' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:10 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '99' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:12 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:14 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:21 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:27 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:31 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:37 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:41 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:43 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Waiting","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '798' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:46 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Succeeded","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '800' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:49 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:50 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Succeeded","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '800' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:51 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"eastus2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:10.5942045","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:10.5942045"},"properties":{"provisioningState":"Succeeded","defaultDomain":"ambitiousplant-18c38171.eastus2.azurecontainerapps.io","staticIp":"20.97.140.107","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"5d2ed863-1f3b-4e0f-bfb8-b81964c70d4b"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '800' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:52 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:53 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2", "identity": {"type": "None", "userAssignedIdentities": - null}, "properties": {"managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "configuration": {"secrets": null, "activeRevisionsMode": "single", "ingress": - null, "dapr": null, "registries": null}, "template": {"revisionSuffix": null, - "containers": [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", - "name": "containerapp000003", "command": null, "args": null, "env": null, "resources": - null, "volumeMounts": null}], "scale": null, "volumes": null}}, "tags": null}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - Content-Length: - - '688' - Content-Type: - - application/json - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297Z","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/eastus2/containerappOperationStatuses/23a86c9b-caef-4d77-a139-54472c11aac7?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1188' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:58 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:53:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:02 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:06 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:13 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:16 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:21 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:27 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:30 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1212' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:36 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:36 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:53:55.8923297"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1212' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:36 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003", - "name": "containerapp000003", "type": "Microsoft.App/containerApps", "location": - "East US 2", "systemData": {"createdBy": "silasstrawn@microsoft.com", "createdByType": - "User", "createdAt": "2022-05-12T20:53:55.8923297", "lastModifiedBy": "silasstrawn@microsoft.com", - "lastModifiedByType": "User", "lastModifiedAt": "2022-05-12T20:53:55.8923297"}, - "properties": {"provisioningState": "Succeeded", "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "outboundIpAddresses": ["20.36.158.34", "20.36.159.137", "20.97.137.158"], "latestRevisionName": - "containerapp000003--vs7xl0e", "latestRevisionFqdn": "", "customDomainVerificationId": - "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", "configuration": - {"activeRevisionsMode": "Single", "secrets": []}, "template": {"containers": - [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", "name": - "containerapp000003", "resources": {"cpu": 0.5, "memory": "1Gi"}}], "scale": - {"maxReplicas": 10}}}, "identity": {"type": "SystemAssigned"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - Content-Length: - - '1292' - Content-Type: - - application/json - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:38.5478785Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/eastus2/containerappOperationStatuses/67259626-e13a-4a80-ab97-bf8dc4aa412e?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1327' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:41 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:38.5478785"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1326' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:41 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:38.5478785"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1326' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:44 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:38.5478785"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1326' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:38.5478785"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1326' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:50 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:38.5478785"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1325' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:53 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - identity create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-05-12T20:52:27Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '311' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:53 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - identity create - Connection: - - keep-alive - Content-Length: - - '23' - Content-Type: - - application/json - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-msi/6.0.0 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004?api-version=2018-11-30 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004","name":"containerapp000004","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"eastus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"26cd99db-fa8e-4290-9721-3ed60b094435","clientId":"38cd0bb8-3eeb-4d57-bb11-3774fa4a4042"}}' - headers: - cache-control: - - no-cache - content-length: - - '455' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:56 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:56 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:38.5478785"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1325' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:54:57 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003", - "name": "containerapp000003", "type": "Microsoft.App/containerApps", "location": - "East US 2", "systemData": {"createdBy": "silasstrawn@microsoft.com", "createdByType": - "User", "createdAt": "2022-05-12T20:53:55.8923297", "lastModifiedBy": "silasstrawn@microsoft.com", - "lastModifiedByType": "User", "lastModifiedAt": "2022-05-12T20:54:38.5478785"}, - "properties": {"provisioningState": "Succeeded", "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "outboundIpAddresses": ["20.36.158.34", "20.36.159.137", "20.97.137.158"], "latestRevisionName": - "containerapp000003--vs7xl0e", "latestRevisionFqdn": "", "customDomainVerificationId": - "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", "configuration": - {"activeRevisionsMode": "Single", "secrets": []}, "template": {"containers": - [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", "name": - "containerapp000003", "resources": {"cpu": 0.5, "memory": "1Gi"}}], "scale": - {"maxReplicas": 10}}}, "identity": {"type": "SystemAssigned,UserAssigned", "principalId": - "1f3cc573-9126-4bd7-af2f-12b1dcf298fc", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004": - {}}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - Content-Length: - - '1609' - Content-Type: - - application/json - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:58.4995639Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004":{"principalId":"26cd99db-fa8e-4290-9721-3ed60b094435","clientId":"38cd0bb8-3eeb-4d57-bb11-3774fa4a4042"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/eastus2/containerappOperationStatuses/60d1d521-c24c-41a8-8820-32f033bddad2?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1637' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '498' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:58.4995639"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004":{"principalId":"26cd99db-fa8e-4290-9721-3ed60b094435","clientId":"38cd0bb8-3eeb-4d57-bb11-3774fa4a4042"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1636' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:58.4995639"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004":{"principalId":"26cd99db-fa8e-4290-9721-3ed60b094435","clientId":"38cd0bb8-3eeb-4d57-bb11-3774fa4a4042"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1636' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:58.4995639"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004":{"principalId":"26cd99db-fa8e-4290-9721-3ed60b094435","clientId":"38cd0bb8-3eeb-4d57-bb11-3774fa4a4042"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1635' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:07 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:58.4995639"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004":{"principalId":"26cd99db-fa8e-4290-9721-3ed60b094435","clientId":"38cd0bb8-3eeb-4d57-bb11-3774fa4a4042"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1635' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:08 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:08 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:54:58.4995639"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp000004":{"principalId":"26cd99db-fa8e-4290-9721-3ed60b094435","clientId":"38cd0bb8-3eeb-4d57-bb11-3774fa4a4042"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1635' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003", - "name": "containerapp000003", "type": "Microsoft.App/containerApps", "location": - "East US 2", "systemData": {"createdBy": "silasstrawn@microsoft.com", "createdByType": - "User", "createdAt": "2022-05-12T20:53:55.8923297", "lastModifiedBy": "silasstrawn@microsoft.com", - "lastModifiedByType": "User", "lastModifiedAt": "2022-05-12T20:54:58.4995639"}, - "properties": {"provisioningState": "Succeeded", "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "outboundIpAddresses": ["20.36.158.34", "20.36.159.137", "20.97.137.158"], "latestRevisionName": - "containerapp000003--vs7xl0e", "latestRevisionFqdn": "", "customDomainVerificationId": - "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", "configuration": - {"activeRevisionsMode": "Single", "secrets": []}, "template": {"containers": - [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", "name": - "containerapp000003", "resources": {"cpu": 0.5, "memory": "1Gi"}}], "scale": - {"maxReplicas": 10}}}, "identity": {"type": "SystemAssigned", "principalId": - "1f3cc573-9126-4bd7-af2f-12b1dcf298fc", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "userAssignedIdentities": null}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - Content-Length: - - '1431' - Content-Type: - - application/json - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:10.6124716Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/eastus2/containerappOperationStatuses/69bb91c8-2183-451a-813b-e81bf101cf4c?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1327' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:12 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:10.6124716"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1326' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:13 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:10.6124716"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1326' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:16 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:10.6124716"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1325' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:19 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:10.6124716"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1325' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:20 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:21 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:10.6124716"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"1f3cc573-9126-4bd7-af2f-12b1dcf298fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1325' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:21 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003", - "name": "containerapp000003", "type": "Microsoft.App/containerApps", "location": - "East US 2", "systemData": {"createdBy": "silasstrawn@microsoft.com", "createdByType": - "User", "createdAt": "2022-05-12T20:53:55.8923297", "lastModifiedBy": "silasstrawn@microsoft.com", - "lastModifiedByType": "User", "lastModifiedAt": "2022-05-12T20:55:10.6124716"}, - "properties": {"provisioningState": "Succeeded", "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "outboundIpAddresses": ["20.36.158.34", "20.36.159.137", "20.97.137.158"], "latestRevisionName": - "containerapp000003--vs7xl0e", "latestRevisionFqdn": "", "customDomainVerificationId": - "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", "configuration": - {"activeRevisionsMode": "Single", "secrets": []}, "template": {"containers": - [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", "name": - "containerapp000003", "resources": {"cpu": 0.5, "memory": "1Gi"}}], "scale": - {"maxReplicas": 10}}}, "identity": {"type": "None", "principalId": "1f3cc573-9126-4bd7-af2f-12b1dcf298fc", - "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - Content-Length: - - '1389' - Content-Type: - - application/json - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:22.612617Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/eastus2/containerappOperationStatuses/4b92aea2-1480-438c-8dc9-4f6164036492?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1213' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:22.612617"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1212' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:25 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:22.612617"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1212' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:22.612617"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1211' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:31 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:31 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"East - US 2","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:53:55.8923297","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:55:22.612617"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.36.158.34","20.36.159.137","20.97.137.158"],"latestRevisionName":"containerapp000003--vs7xl0e","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1211' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:55:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -version: 1 diff --git a/src/containerapp/azext_containerapp/tests/latest/recordings/test_containerapp_identity_user.yaml b/src/containerapp/azext_containerapp/tests/latest/recordings/test_containerapp_identity_user.yaml deleted file mode 100644 index 84ddb890dfe..00000000000 --- a/src/containerapp/azext_containerapp/tests/latest/recordings/test_containerapp_identity_user.yaml +++ /dev/null @@ -1,3669 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor log-analytics workspace create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2022-05-12T20:38:03Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '314' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:38:21 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "westeurope", "properties": {"sku": {"name": "PerGB2018"}, - "retentionInDays": 30, "workspaceCapping": {}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor log-analytics workspace create - Connection: - - keep-alive - Content-Length: - - '119' - Content-Type: - - application/json - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-mgmt-loganalytics/13.0.0b4 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/containerapp-env000006?api-version=2021-12-01-preview - response: - body: - string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"be706c75-5858-4448-a8e5-24843f37155d\",\r\n \"provisioningState\": \"Creating\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Thu, 12 May 2022 20:38:28 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n - \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n - \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n - \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": - \"Fri, 13 May 2022 08:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n - \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Thu, 12 May 2022 20:38:27 GMT\",\r\n - \ \"modifiedDate\": \"Thu, 12 May 2022 20:38:27 GMT\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/containerapp-env000006\",\r\n - \ \"name\": \"containerapp-env000006\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n - \ \"location\": \"westeurope\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1082' - content-type: - - application/json - date: - - Thu, 12 May 2022 20:38:29 GMT - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor log-analytics workspace create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-mgmt-loganalytics/13.0.0b4 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/containerapp-env000006?api-version=2021-12-01-preview - response: - body: - string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"be706c75-5858-4448-a8e5-24843f37155d\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Thu, 12 May 2022 20:38:28 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n - \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n - \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n - \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": - \"Fri, 13 May 2022 08:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n - \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Thu, 12 May 2022 20:38:28 GMT\",\r\n - \ \"modifiedDate\": \"Thu, 12 May 2022 20:38:30 GMT\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/containerapp-env000006\",\r\n - \ \"name\": \"containerapp-env000006\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n - \ \"location\": \"westeurope\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1083' - content-type: - - application/json - date: - - Thu, 12 May 2022 20:38:59 GMT - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor log-analytics workspace get-shared-keys - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-mgmt-loganalytics/13.0.0b4 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/containerapp-env000006/sharedKeys?api-version=2020-08-01 - response: - body: - string: "{\r\n \"primarySharedKey\": \"AoOUO5QjHtc4Whv/CPgLLgiPnAtNaGtE+XWYkFl4UDbHLwFAUJhTD7FI4MsrFWv52gbBvGIc1E3joa2SCJ4DJw==\",\r\n - \ \"secondarySharedKey\": \"REN7/xr/UAJUoScOUWm3TC6RlhUGkLkA5qhHcDV4BLnAcEG6HrxsK2ZWOxUR5nijNGJRxddpMzTAjzmX1gV9uw==\"\r\n}" - headers: - cache-control: - - no-cache - cachecontrol: - - no-cache - content-length: - - '235' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:01 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-ams-apiversion: - - WebAPI1.0 - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2022-05-12T20:38:03Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '314' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:02 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:02 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:03 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "westeurope", "tags": null, "properties": {"daprAIInstrumentationKey": - null, "vnetConfiguration": null, "internalLoadBalancerEnabled": false, "appLogsConfiguration": - {"destination": "log-analytics", "logAnalyticsConfiguration": {"customerId": - "be706c75-5858-4448-a8e5-24843f37155d", "sharedKey": "AoOUO5QjHtc4Whv/CPgLLgiPnAtNaGtE+XWYkFl4UDbHLwFAUJhTD7FI4MsrFWv52gbBvGIc1E3joa2SCJ4DJw=="}}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - Content-Length: - - '403' - Content-Type: - - application/json - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204Z","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204Z"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westeurope/managedEnvironmentOperationStatuses/42821ec2-1886-4ba4-af2c-09484eb466f5?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '803' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '99' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:10 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:13 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:22 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:25 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:36 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:43 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Waiting","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '801' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:47 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env create - Connection: - - keep-alive - ParameterSetName: - - -g -n --logs-workspace-id --logs-workspace-key - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Succeeded","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '803' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:51 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp env show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Succeeded","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '803' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:53 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:53 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","name":"containerapp-env000002","type":"Microsoft.App/managedEnvironments","location":"westeurope","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:39:07.4260204","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:39:07.4260204"},"properties":{"provisioningState":"Succeeded","defaultDomain":"whitebeach-f3e26ede.westeurope.azurecontainerapps.io","staticIp":"20.126.207.221","appLogsConfiguration":{"destination":"log-analytics","logAnalyticsConfiguration":{"customerId":"be706c75-5858-4448-a8e5-24843f37155d"}},"zoneRedundant":false}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '803' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:55 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:39:55 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "westeurope", "identity": {"type": "None", "userAssignedIdentities": - null}, "properties": {"managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "configuration": {"secrets": null, "activeRevisionsMode": "single", "ingress": - null, "dapr": null, "registries": null}, "template": {"revisionSuffix": null, - "containers": [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", - "name": "containerapp000003", "command": null, "args": null, "env": null, "resources": - null, "volumeMounts": null}], "scale": null, "volumes": null}}, "tags": null}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - Content-Length: - - '691' - Content-Type: - - application/json - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223Z","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:00.3852223Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westeurope/containerappOperationStatuses/8477f57c-8c3d-4cfa-b487-9c1b7c04d50c?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1191' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:00.3852223"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1216' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:00.3852223"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1216' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:08 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --environment - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:00.3852223"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1215' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:11 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - identity create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2022-05-12T20:38:03Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '314' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:11 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "westeurope"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - identity create - Connection: - - keep-alive - Content-Length: - - '26' - Content-Type: - - application/json - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-msi/6.0.0 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004?api-version=2018-11-30 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004","name":"containerapp-user1000004","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westeurope","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"7e00fc02-8622-4074-8cb6-88dc286ea187","clientId":"675d9190-6109-4b96-8839-3392e97aecb0"}}' - headers: - cache-control: - - no-cache - content-length: - - '470' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:17 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - identity create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2022-05-12T20:38:03Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '314' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:17 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "westeurope"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - identity create - Connection: - - keep-alive - Content-Length: - - '26' - Content-Type: - - application/json - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-msi/6.0.0 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005?api-version=2018-11-30 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005","name":"containerapp-user2000005","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westeurope","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}' - headers: - cache-control: - - no-cache - content-length: - - '470' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:23 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:23 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:00.3852223"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1215' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:25 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003", - "name": "containerapp000003", "type": "Microsoft.App/containerApps", "location": - "West Europe", "systemData": {"createdBy": "silasstrawn@microsoft.com", "createdByType": - "User", "createdAt": "2022-05-12T20:40:00.3852223", "lastModifiedBy": "silasstrawn@microsoft.com", - "lastModifiedByType": "User", "lastModifiedAt": "2022-05-12T20:40:00.3852223"}, - "properties": {"provisioningState": "Succeeded", "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "outboundIpAddresses": ["20.126.207.74", "20.126.207.99", "20.126.207.72"], - "latestRevisionName": "containerapp000003--y2umq87", "latestRevisionFqdn": "", - "customDomainVerificationId": "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", - "configuration": {"activeRevisionsMode": "Single", "secrets": []}, "template": - {"containers": [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", - "name": "containerapp000003", "resources": {"cpu": 0.5, "memory": "1Gi"}}], - "scale": {"maxReplicas": 10}}}, "identity": {"type": "SystemAssigned"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - Content-Length: - - '1295' - Content-Type: - - application/json - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:28.5683023Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westeurope/containerappOperationStatuses/5a789065-9d8b-49cb-9734-0448c47ebcf5?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1330' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:28.5683023"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1329' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:28.5683023"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1328' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:40 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:28.5683023"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1328' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:41 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003", - "name": "containerapp000003", "type": "Microsoft.App/containerApps", "location": - "West Europe", "systemData": {"createdBy": "silasstrawn@microsoft.com", "createdByType": - "User", "createdAt": "2022-05-12T20:40:00.3852223", "lastModifiedBy": "silasstrawn@microsoft.com", - "lastModifiedByType": "User", "lastModifiedAt": "2022-05-12T20:40:28.5683023"}, - "properties": {"provisioningState": "Succeeded", "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "outboundIpAddresses": ["20.126.207.74", "20.126.207.99", "20.126.207.72"], - "latestRevisionName": "containerapp000003--y2umq87", "latestRevisionFqdn": "", - "customDomainVerificationId": "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", - "configuration": {"activeRevisionsMode": "Single", "secrets": []}, "template": - {"containers": [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", - "name": "containerapp000003", "resources": {"cpu": 0.5, "memory": "1Gi"}}], - "scale": {"maxReplicas": 10}}}, "identity": {"type": "SystemAssigned,UserAssigned", - "principalId": "345c8574-8f6b-4790-884b-2ab2560fcea5", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004": - {}, "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005": - {}}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - Content-Length: - - '1793' - Content-Type: - - application/json - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:44.6299919Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004":{"principalId":"7e00fc02-8622-4074-8cb6-88dc286ea187","clientId":"675d9190-6109-4b96-8839-3392e97aecb0"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westeurope/containerappOperationStatuses/572621c5-c72e-48a1-af1e-9611a602caa9?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1921' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:49 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:44.6299919"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004":{"principalId":"7e00fc02-8622-4074-8cb6-88dc286ea187","clientId":"675d9190-6109-4b96-8839-3392e97aecb0"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1920' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:51 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:44.6299919"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004":{"principalId":"7e00fc02-8622-4074-8cb6-88dc286ea187","clientId":"675d9190-6109-4b96-8839-3392e97aecb0"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1920' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:40:56 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity assign - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:44.6299919"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004":{"principalId":"7e00fc02-8622-4074-8cb6-88dc286ea187","clientId":"675d9190-6109-4b96-8839-3392e97aecb0"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1919' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:01 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:01 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:44.6299919"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004":{"principalId":"7e00fc02-8622-4074-8cb6-88dc286ea187","clientId":"675d9190-6109-4b96-8839-3392e97aecb0"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1919' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:05 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:40:44.6299919"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user1000004":{"principalId":"7e00fc02-8622-4074-8cb6-88dc286ea187","clientId":"675d9190-6109-4b96-8839-3392e97aecb0"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1919' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003", - "name": "containerapp000003", "type": "Microsoft.App/containerApps", "location": - "West Europe", "systemData": {"createdBy": "silasstrawn@microsoft.com", "createdByType": - "User", "createdAt": "2022-05-12T20:40:00.3852223", "lastModifiedBy": "silasstrawn@microsoft.com", - "lastModifiedByType": "User", "lastModifiedAt": "2022-05-12T20:40:44.6299919"}, - "properties": {"provisioningState": "Succeeded", "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "outboundIpAddresses": ["20.126.207.74", "20.126.207.99", "20.126.207.72"], - "latestRevisionName": "containerapp000003--y2umq87", "latestRevisionFqdn": "", - "customDomainVerificationId": "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", - "configuration": {"activeRevisionsMode": "Single", "secrets": []}, "template": - {"containers": [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", - "name": "containerapp000003", "resources": {"cpu": 0.5, "memory": "1Gi"}}], - "scale": {"maxReplicas": 10}}}, "identity": {"type": "SystemAssigned, UserAssigned", - "principalId": "345c8574-8f6b-4790-884b-2ab2560fcea5", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005": - {"principalId": "4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c", "clientId": "5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - Content-Length: - - '1724' - Content-Type: - - application/json - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:10.8113766Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westeurope/containerappOperationStatuses/32cd25ea-9ad8-4f55-ac18-83c7ddbf264c?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1646' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:16 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:10.8113766"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1645' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:10.8113766"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1645' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:22 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:10.8113766"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1645' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:26 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:10.8113766"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1644' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:32 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:10.8113766"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned, - UserAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/containerapp-user2000005":{"principalId":"4e855cee-70a2-41a1-9cd9-81dd8fcf7d4c","clientId":"5ec59283-b4a7-43a4-94c4-aed10715ea8f"}}}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1644' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003", - "name": "containerapp000003", "type": "Microsoft.App/containerApps", "location": - "West Europe", "systemData": {"createdBy": "silasstrawn@microsoft.com", "createdByType": - "User", "createdAt": "2022-05-12T20:40:00.3852223", "lastModifiedBy": "silasstrawn@microsoft.com", - "lastModifiedByType": "User", "lastModifiedAt": "2022-05-12T20:41:10.8113766"}, - "properties": {"provisioningState": "Succeeded", "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "outboundIpAddresses": ["20.126.207.74", "20.126.207.99", "20.126.207.72"], - "latestRevisionName": "containerapp000003--y2umq87", "latestRevisionFqdn": "", - "customDomainVerificationId": "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", - "configuration": {"activeRevisionsMode": "Single", "secrets": []}, "template": - {"containers": [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", - "name": "containerapp000003", "resources": {"cpu": 0.5, "memory": "1Gi"}}], - "scale": {"maxReplicas": 10}}}, "identity": {"type": "SystemAssigned", "principalId": - "345c8574-8f6b-4790-884b-2ab2560fcea5", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "userAssignedIdentities": null}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - Content-Length: - - '1434' - Content-Type: - - application/json - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:37.0456089Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westeurope/containerappOperationStatuses/f01f09b9-8b26-432b-9d87-a2c0893cfec0?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1330' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:42 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:37.0456089"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1328' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:45 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --user-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:37.0456089"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1328' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:49 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:50 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:37.0456089"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1328' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:51 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:37.0456089"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"SystemAssigned","principalId":"345c8574-8f6b-4790-884b-2ab2560fcea5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1328' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:41:53 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003", - "name": "containerapp000003", "type": "Microsoft.App/containerApps", "location": - "West Europe", "systemData": {"createdBy": "silasstrawn@microsoft.com", "createdByType": - "User", "createdAt": "2022-05-12T20:40:00.3852223", "lastModifiedBy": "silasstrawn@microsoft.com", - "lastModifiedByType": "User", "lastModifiedAt": "2022-05-12T20:41:37.0456089"}, - "properties": {"provisioningState": "Succeeded", "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002", - "outboundIpAddresses": ["20.126.207.74", "20.126.207.99", "20.126.207.72"], - "latestRevisionName": "containerapp000003--y2umq87", "latestRevisionFqdn": "", - "customDomainVerificationId": "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", - "configuration": {"activeRevisionsMode": "Single", "secrets": []}, "template": - {"containers": [{"image": "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest", - "name": "containerapp000003", "resources": {"cpu": 0.5, "memory": "1Gi"}}], - "scale": {"maxReplicas": 10}}}, "identity": {"type": "None", "principalId": - "345c8574-8f6b-4790-884b-2ab2560fcea5", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - Content-Length: - - '1392' - Content-Type: - - application/json - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:56.3194359Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westeurope/containerappOperationStatuses/d19590be-bf28-42cb-85cf-b0937948c390?api-version=2022-03-01&azureAsyncOperation=true - cache-control: - - no-cache - content-length: - - '1217' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:42:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-async-operation-timeout: - - PT15M - x-ms-ratelimit-remaining-subscription-resource-requests: - - '499' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:56.3194359"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1216' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:42:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity remove - Connection: - - keep-alive - ParameterSetName: - - --system-assigned -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:56.3194359"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1215' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:42:06 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.36.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.6 (macOS-10.16-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App","namespace":"Microsoft.App","authorizations":[{"applicationId":"7e3bc4fd-85a3-4192-b177-5b8bfc87f42c","roleDefinitionId":"39a74f72-b40f-4bdc-b639-562fe2260bf0"},{"applicationId":"3734c1a4-2bed-4998-a37a-ff1a9e7bf019","roleDefinitionId":"5c779a4f-5cb2-4547-8c41-478d9be8ba90"}],"resourceTypes":[{"resourceType":"managedEnvironments","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"managedEnvironments/certificates","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"containerApps","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, - SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/managedEnvironmentOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationResults","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/containerappOperationStatuses","locations":["North - Central US (Stage)","Canada Central","West Europe","North Europe","East US","East - US 2","Central US EUAP"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["North - Central US (Stage)","Central US EUAP","Canada Central","West Europe","North - Europe","East US","East US 2"],"apiVersions":["2022-03-01","2022-01-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' - headers: - cache-control: - - no-cache - content-length: - - '2863' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:42:07 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - containerapp identity show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) AZURECLI/2.36.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003?api-version=2022-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/containerApps/containerapp000003","name":"containerapp000003","type":"Microsoft.App/containerApps","location":"West - Europe","systemData":{"createdBy":"silasstrawn@microsoft.com","createdByType":"User","createdAt":"2022-05-12T20:40:00.3852223","lastModifiedBy":"silasstrawn@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-05-12T20:41:56.3194359"},"properties":{"provisioningState":"Succeeded","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.App/managedEnvironments/containerapp-env000002","outboundIpAddresses":["20.126.207.74","20.126.207.99","20.126.207.72"],"latestRevisionName":"containerapp000003--y2umq87","latestRevisionFqdn":"","customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","configuration":{"activeRevisionsMode":"Single"},"template":{"containers":[{"image":"mcr.microsoft.com/azuredocs/containerapps-helloworld:latest","name":"containerapp000003","resources":{"cpu":0.5,"memory":"1Gi"}}],"scale":{"maxReplicas":10}}},"identity":{"type":"None"}}' - headers: - api-supported-versions: - - 2022-01-01-preview, 2022-03-01 - cache-control: - - no-cache - content-length: - - '1215' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 12 May 2022 20:42:08 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -version: 1 diff --git a/src/containerapp/azext_containerapp/tests/latest/test_containerapp_commands.py b/src/containerapp/azext_containerapp/tests/latest/test_containerapp_commands.py index 1316c8e80b7..fca9efa8353 100644 --- a/src/containerapp/azext_containerapp/tests/latest/test_containerapp_commands.py +++ b/src/containerapp/azext_containerapp/tests/latest/test_containerapp_commands.py @@ -9,13 +9,14 @@ from azure.cli.testsdk.scenario_tests import AllowLargeResponse, live_only from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, JMESPathCheck) - +from msrestazure.tools import parse_resource_id TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) class ContainerappIdentityTests(ScenarioTest): @AllowLargeResponse(8192) @ResourceGroupPreparer(location="eastus2") + @live_only() # encounters 'CannotOverwriteExistingCassetteException' only when run from recording (passes when run live) def test_containerapp_identity_e2e(self, resource_group): env_name = self.create_random_name(prefix='containerapp-env', length=24) ca_name = self.create_random_name(prefix='containerapp', length=24) @@ -102,6 +103,7 @@ def test_containerapp_identity_system(self, resource_group): ]) @AllowLargeResponse(8192) + @live_only() # encounters 'CannotOverwriteExistingCassetteException' only when run from recording (passes when run live) @ResourceGroupPreparer(location="westeurope") def test_containerapp_identity_user(self, resource_group): env_name = self.create_random_name(prefix='containerapp-env', length=24) @@ -262,6 +264,133 @@ def test_containerapp_ingress_traffic_e2e(self, resource_group): for revision in revisions_list: self.assertEqual(revision["properties"]["trafficWeight"], 50) + @AllowLargeResponse(8192) + @live_only() # encounters 'CannotOverwriteExistingCassetteException' only when run from recording (passes when run live) + @ResourceGroupPreparer(location="westeurope") + def test_containerapp_custom_domains_e2e(self, resource_group): + env_name = self.create_random_name(prefix='containerapp-env', length=24) + ca_name = self.create_random_name(prefix='containerapp', length=24) + logs_workspace_name = self.create_random_name(prefix='containerapp-env', length=24) + + logs_workspace_id = self.cmd('monitor log-analytics workspace create -g {} -n {}'.format(resource_group, logs_workspace_name)).get_output_in_json()["customerId"] + logs_workspace_key = self.cmd('monitor log-analytics workspace get-shared-keys -g {} -n {}'.format(resource_group, logs_workspace_name)).get_output_in_json()["primarySharedKey"] + + self.cmd('containerapp env create -g {} -n {} --logs-workspace-id {} --logs-workspace-key {}'.format(resource_group, env_name, logs_workspace_id, logs_workspace_key)) + + containerapp_env = self.cmd('containerapp env show -g {} -n {}'.format(resource_group, env_name)).get_output_in_json() + + while containerapp_env["properties"]["provisioningState"].lower() == "waiting": + time.sleep(5) + containerapp_env = self.cmd('containerapp env show -g {} -n {}'.format(resource_group, env_name)).get_output_in_json() + + app = self.cmd('containerapp create -g {} -n {} --environment {} --ingress external --target-port 80'.format(resource_group, ca_name, env_name)).get_output_in_json() + + self.cmd('containerapp hostname list -g {} -n {}'.format(resource_group, ca_name), checks=[ + JMESPathCheck('length(@)', 0), + ]) + + # list hostnames with a wrong location + self.cmd('containerapp hostname list -g {} -n {} -l "{}"'.format(resource_group, ca_name, "eastus2"), checks={ + JMESPathCheck('length(@)', 0), + }, expect_failure=True) + + # create an App service domain and update its txt records + contacts = os.path.join(TEST_DIR, 'domain-contact.json') + zone_name = "{}.com".format(ca_name) + subdomain_1 = "devtest" + subdomain_2 = "clitest" + txt_name_1 = "asuid.{}".format(subdomain_1) + txt_name_2 = "asuid.{}".format(subdomain_2) + hostname_1 = "{}.{}".format(subdomain_1, zone_name) + hostname_2 = "{}.{}".format(subdomain_2, zone_name) + verification_id = app["properties"]["customDomainVerificationId"] + self.cmd("appservice domain create -g {} --hostname {} --contact-info=@'{}' --accept-terms".format(resource_group, zone_name, contacts)).get_output_in_json() + self.cmd('network dns record-set txt add-record -g {} -z {} -n {} -v {}'.format(resource_group, zone_name, txt_name_1, verification_id)).get_output_in_json() + self.cmd('network dns record-set txt add-record -g {} -z {} -n {} -v {}'.format(resource_group, zone_name, txt_name_2, verification_id)).get_output_in_json() + + # upload cert, add hostname & binding + pfx_file = os.path.join(TEST_DIR, 'cert.pfx') + pfx_password = 'test12' + cert_id = self.cmd('containerapp ssl upload -n {} -g {} --environment {} --hostname {} --certificate-file "{}" --password {}'.format(ca_name, resource_group, env_name, hostname_1, pfx_file, pfx_password), checks=[ + JMESPathCheck('[0].name', hostname_1), + ]).get_output_in_json()[0]["certificateId"] + + self.cmd('containerapp hostname list -g {} -n {}'.format(resource_group, ca_name), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].name', hostname_1), + JMESPathCheck('[0].bindingType', "SniEnabled"), + JMESPathCheck('[0].certificateId', cert_id), + ]) + + # get cert thumbprint + cert_thumbprint = self.cmd('containerapp env certificate list -n {} -g {} -c {}'.format(env_name, resource_group, cert_id), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].id', cert_id), + ]).get_output_in_json()[0]["properties"]["thumbprint"] + + # add binding by cert thumbprint + self.cmd('containerapp hostname bind -g {} -n {} --hostname {} --thumbprint {}'.format(resource_group, ca_name, hostname_2, cert_thumbprint), expect_failure=True) + + self.cmd('containerapp hostname bind -g {} -n {} --hostname {} --thumbprint {} -e {}'.format(resource_group, ca_name, hostname_2, cert_thumbprint, env_name), checks=[ + JMESPathCheck('length(@)', 2), + ]) + + self.cmd('containerapp hostname list -g {} -n {}'.format(resource_group, ca_name), checks=[ + JMESPathCheck('length(@)', 2), + JMESPathCheck('[0].bindingType', "SniEnabled"), + JMESPathCheck('[0].certificateId', cert_id), + JMESPathCheck('[1].bindingType', "SniEnabled"), + JMESPathCheck('[1].certificateId', cert_id), + ]) + + # delete hostname with a wrong location + self.cmd('containerapp hostname delete -g {} -n {} --hostname {} -l "{}" --yes'.format(resource_group, ca_name, hostname_1, "eastus2"), expect_failure=True) + + self.cmd('containerapp hostname delete -g {} -n {} --hostname {} -l "{}" --yes'.format(resource_group, ca_name, hostname_1, app["location"]), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].name', hostname_2), + JMESPathCheck('[0].bindingType', "SniEnabled"), + JMESPathCheck('[0].certificateId', cert_id), + ]).get_output_in_json() + + self.cmd('containerapp hostname list -g {} -n {}'.format(resource_group, ca_name), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].name', hostname_2), + JMESPathCheck('[0].bindingType', "SniEnabled"), + JMESPathCheck('[0].certificateId', cert_id), + ]) + + self.cmd('containerapp hostname delete -g {} -n {} --hostname {} --yes'.format(resource_group, ca_name, hostname_2), checks=[ + JMESPathCheck('length(@)', 0), + ]).get_output_in_json() + + # add binding by cert id + self.cmd('containerapp hostname bind -g {} -n {} --hostname {} --certificate {}'.format(resource_group, ca_name, hostname_2, cert_id), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].bindingType', "SniEnabled"), + JMESPathCheck('[0].certificateId', cert_id), + JMESPathCheck('[0].name', hostname_2), + ]).get_output_in_json() + + self.cmd('containerapp hostname delete -g {} -n {} --hostname {} --yes'.format(resource_group, ca_name, hostname_2), checks=[ + JMESPathCheck('length(@)', 0), + ]).get_output_in_json() + + # add binding by cert name, with and without environment + cert_name = parse_resource_id(cert_id)["resource_name"] + + self.cmd('containerapp hostname bind -g {} -n {} --hostname {} --certificate {}'.format(resource_group, ca_name, hostname_1, cert_name), expect_failure=True) + + self.cmd('containerapp hostname bind -g {} -n {} --hostname {} --certificate {} -e {}'.format(resource_group, ca_name, hostname_1, cert_name, env_name), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].bindingType', "SniEnabled"), + JMESPathCheck('[0].certificateId', cert_id), + JMESPathCheck('[0].name', hostname_1), + ]).get_output_in_json() + + self.cmd('containerapp hostname delete -g {} -n {} --hostname {} --yes'.format(resource_group, ca_name, hostname_1), checks=[ + JMESPathCheck('length(@)', 0), + ]).get_output_in_json() class ContainerappDaprTests(ScenarioTest): @AllowLargeResponse(8192) @@ -312,7 +441,6 @@ def test_containerapp_dapr_e2e(self, resource_group): JMESPathCheck('properties.configuration.dapr.enabled', False), ]) - class ContainerappEnvStorageTests(ScenarioTest): @AllowLargeResponse(8192) @ResourceGroupPreparer(location="eastus") diff --git a/src/containerapp/azext_containerapp/tests/latest/test_containerapp_env_commands.py b/src/containerapp/azext_containerapp/tests/latest/test_containerapp_env_commands.py index 1f935f2dda0..0bee02cc9ae 100644 --- a/src/containerapp/azext_containerapp/tests/latest/test_containerapp_env_commands.py +++ b/src/containerapp/azext_containerapp/tests/latest/test_containerapp_env_commands.py @@ -76,7 +76,7 @@ def test_containerapp_env_dapr_components(self, resource_group): """ daprloaded = yaml.safe_load(dapr_yaml) - + with open(dapr_file, 'w') as outfile: yaml.dump(daprloaded, outfile, default_flow_style=False) @@ -109,4 +109,105 @@ def test_containerapp_env_dapr_components(self, resource_group): self.cmd('containerapp env dapr-component list -n {} -g {}'.format(env_name, resource_group), checks=[ JMESPathCheck('length(@)', 0), + ]) + + @AllowLargeResponse(8192) + @live_only() # encounters 'CannotOverwriteExistingCassetteException' only when run from recording (passes when run live) + @ResourceGroupPreparer(location="northeurope") + def test_containerapp_env_certificate_e2e(self, resource_group): + env_name = self.create_random_name(prefix='containerapp-e2e-env', length=24) + logs_workspace_name = self.create_random_name(prefix='containerapp-env', length=24) + + logs_workspace_id = self.cmd('monitor log-analytics workspace create -g {} -n {}'.format(resource_group, logs_workspace_name)).get_output_in_json()["customerId"] + logs_workspace_key = self.cmd('monitor log-analytics workspace get-shared-keys -g {} -n {}'.format(resource_group, logs_workspace_name)).get_output_in_json()["primarySharedKey"] + + self.cmd('containerapp env create -g {} -n {} --logs-workspace-id {} --logs-workspace-key {}'.format(resource_group, env_name, logs_workspace_id, logs_workspace_key)) + + containerapp_env = self.cmd('containerapp env show -g {} -n {}'.format(resource_group, env_name)).get_output_in_json() + + while containerapp_env["properties"]["provisioningState"].lower() == "waiting": + time.sleep(5) + containerapp_env = self.cmd('containerapp env show -g {} -n {}'.format(resource_group, env_name)).get_output_in_json() + + self.cmd('containerapp env certificate list -g {} -n {}'.format(resource_group, env_name), checks=[ + JMESPathCheck('length(@)', 0), + ]) + + # test that non pfx or pem files are not supported + txt_file = os.path.join(TEST_DIR, 'cert.txt') + self.cmd('containerapp env certificate upload -g {} -n {} --certificate-file "{}"'.format(resource_group, env_name, txt_file), expect_failure=True) + + # test pfx file with password + pfx_file = os.path.join(TEST_DIR, 'cert.pfx') + pfx_password = 'test12' + cert = self.cmd('containerapp env certificate upload -g {} -n {} --certificate-file "{}" --password {}'.format(resource_group, env_name, pfx_file, pfx_password), checks=[ + JMESPathCheck('type', "Microsoft.App/managedEnvironments/certificates"), + ]).get_output_in_json() + + cert_name = cert["name"] + cert_id = cert["id"] + cert_thumbprint = cert["properties"]["thumbprint"] + cert_location = cert["location"] + + self.cmd('containerapp env certificate list -n {} -g {} -l "{}"'.format(env_name, resource_group, cert_location), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].properties.thumbprint', cert_thumbprint), + JMESPathCheck('[0].name', cert_name), + JMESPathCheck('[0].id', cert_id), + ]) + + self.cmd('containerapp env certificate list -n {} -g {} -l "{}"'.format(env_name, resource_group, "eastus2"), checks=[ + JMESPathCheck('length(@)', 0), + ]) + + # test pem file without password + pem_file = os.path.join(TEST_DIR, 'cert.pem') + cert_2 = self.cmd('containerapp env certificate upload -g {} -n {} --certificate-file "{}"'.format(resource_group, env_name, pem_file), checks=[ + JMESPathCheck('type', "Microsoft.App/managedEnvironments/certificates"), + ]).get_output_in_json() + cert_name_2 = cert_2["name"] + cert_id_2 = cert_2["id"] + cert_thumbprint_2 = cert_2["properties"]["thumbprint"] + + # list certs with a wrong location + self.cmd('containerapp env certificate upload -g {} -n {} --certificate-file "{}" -l "{}"'.format(resource_group, env_name, pem_file, "eastus2"), expect_failure=True) + + self.cmd('containerapp env certificate list -n {} -g {}'.format(env_name, resource_group), checks=[ + JMESPathCheck('length(@)', 2), + ]) + + self.cmd('containerapp env certificate list -n {} -g {} --certificate {}'.format(env_name, resource_group, cert_name), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].name', cert_name), + JMESPathCheck('[0].id', cert_id), + JMESPathCheck('[0].properties.thumbprint', cert_thumbprint), + ]) + + self.cmd('containerapp env certificate list -n {} -g {} --certificate {}'.format(env_name, resource_group, cert_id), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].name', cert_name), + JMESPathCheck('[0].id', cert_id), + JMESPathCheck('[0].properties.thumbprint', cert_thumbprint), + ]) + + self.cmd('containerapp env certificate list -n {} -g {} --thumbprint {}'.format(env_name, resource_group, cert_thumbprint), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].name', cert_name), + JMESPathCheck('[0].id', cert_id), + JMESPathCheck('[0].properties.thumbprint', cert_thumbprint), + ]) + + self.cmd('containerapp env certificate delete -n {} -g {} --thumbprint {} -l {} --yes'.format(env_name, resource_group, cert_thumbprint, cert_location)) + + self.cmd('containerapp env certificate list -n {} -g {} --certificate {}'.format(env_name, resource_group, cert_id_2), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].name', cert_name_2), + JMESPathCheck('[0].id', cert_id_2), + JMESPathCheck('[0].properties.thumbprint', cert_thumbprint_2), + ]) + + self.cmd('containerapp env certificate delete -n {} -g {} --certificate {} --yes'.format(env_name, resource_group, cert_name_2)) + + self.cmd('containerapp env certificate list -g {} -n {}'.format(resource_group, env_name), checks=[ + JMESPathCheck('length(@)', 0), ]) \ No newline at end of file diff --git a/src/containerapp/setup.py b/src/containerapp/setup.py index 3cd4536dafb..1d484ae339c 100644 --- a/src/containerapp/setup.py +++ b/src/containerapp/setup.py @@ -17,7 +17,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.3.4' +VERSION = '0.3.5' # The full list of classifiers is available at