Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/containerapp/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ Release History
===============
Upcoming
++++++
* 'az containerapp hostname bind': fix bug where the prompt for validation method didn't take value in
* Make --validation-method parameter case insensitive for 'az containerapp hostname bind' and 'az containerapp env certificate create'
* 'az containerapp auth update': remove unsupported argument --enable-token-store
* 'az containerapp update'/'az containerapp env update': fix --no-wait
* 'az containerapp update': fix the --yaml update behavior to respect the empty array in patch-request
Expand Down
12 changes: 6 additions & 6 deletions src/containerapp/azext_containerapp/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -2930,9 +2930,9 @@ def create_managed_certificate(cmd, name, resource_group_name, hostname, validat
cert_name = generate_randomized_managed_cert_name(hostname, resource_group_name)
if not check_managed_cert_name_availability(cmd, resource_group_name, name, certificate_name):
cert_name = None
certificate_envelop = prepare_managed_certificate_envelop(cmd, name, resource_group_name, hostname, validation_method)
certificate_envelop = prepare_managed_certificate_envelop(cmd, name, resource_group_name, hostname, validation_method.upper())
Comment thread
lil131 marked this conversation as resolved.
try:
r = ManagedEnvironmentClient.create_or_update_managed_certificate(cmd, resource_group_name, name, cert_name, certificate_envelop, True, validation_method == 'TXT')
r = ManagedEnvironmentClient.create_or_update_managed_certificate(cmd, resource_group_name, name, cert_name, certificate_envelop, True, validation_method.upper() == 'TXT')
return r
except Exception as e:
handle_raw_exception(e)
Expand Down Expand Up @@ -3157,13 +3157,13 @@ def bind_hostname(cmd, resource_group_name, name, hostname, thumbprint=None, cer
cert_name = random_name
logger.warning("Creating managed certificate '%s' for %s.\nIt may take up to 20 minutes to create and issue a managed certificate.", cert_name, standardized_hostname)

validation = validation_method
validation = validation_method.upper()
while validation not in ["TXT", "CNAME", "HTTP"]:
validation = prompt_str('\nPlease choose one of the following domain validation methods: TXT, CNAME, HTTP\nYour answer: ')
validation = prompt_str('\nPlease choose one of the following domain validation methods: TXT, CNAME, HTTP\nYour answer: ').upper()

certificate_envelop = prepare_managed_certificate_envelop(cmd, env_name, resource_group_name, standardized_hostname, validation_method, location)
certificate_envelop = prepare_managed_certificate_envelop(cmd, env_name, resource_group_name, standardized_hostname, validation, location)
try:
managed_cert = ManagedEnvironmentClient.create_or_update_managed_certificate(cmd, resource_group_name, env_name, cert_name, certificate_envelop, False, validation_method == 'TXT')
managed_cert = ManagedEnvironmentClient.create_or_update_managed_certificate(cmd, resource_group_name, env_name, cert_name, certificate_envelop, False, validation == 'TXT')
except Exception as e:
handle_raw_exception(e)
cert_id = managed_cert["id"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,13 +295,13 @@ def test_containerapp_env_certificate_e2e(self, resource_group):
self.cmd('containerapp hostname add -g {} -n {} --hostname {}'.format(resource_group, ca_name, hostname_1), expect_failure=True)

# create a managed certificate
self.cmd('containerapp env certificate create -n {} -g {} --hostname {} -v CNAME -c {}'.format(env_name, resource_group, hostname_1, cert_name), checks=[
self.cmd('containerapp env certificate create -n {} -g {} --hostname {} -v cname -c {}'.format(env_name, resource_group, hostname_1, cert_name), checks=[
JMESPathCheck('type', "Microsoft.App/managedEnvironments/managedCertificates"),
JMESPathCheck('name', cert_name),
JMESPathCheck('properties.subjectName', hostname_1),
]).get_output_in_json()

self.cmd('containerapp env certificate create -n {} -g {} --hostname {} -v CNAME'.format(env_name, resource_group, hostname_1), expect_failure=True)
self.cmd('containerapp env certificate create -n {} -g {} --hostname {} -v cname'.format(env_name, resource_group, hostname_1), expect_failure=True)
self.cmd('containerapp env certificate list -g {} -n {} -m'.format(resource_group, env_name), checks=[
JMESPathCheck('length(@)', 1),
])
Expand All @@ -316,7 +316,7 @@ def test_containerapp_env_certificate_e2e(self, resource_group):
JMESPathCheck('length(@)', 0),
])

self.cmd('containerapp hostname bind -g {} -n {} --hostname {} --environment {} -v CNAME'.format(resource_group, ca_name, hostname_1, env_name))
self.cmd('containerapp hostname bind -g {} -n {} --hostname {} --environment {} -v cname'.format(resource_group, ca_name, hostname_1, env_name))
certs = self.cmd('containerapp env certificate list -g {} -n {}'.format(resource_group, env_name), checks=[
JMESPathCheck('length(@)', 1),
]).get_output_in_json()
Expand Down