Skip to content

Commit c7dd038

Browse files
committed
add e2eTLS, minTLS, cipher to az webapp create
1 parent c4da12c commit c7dd038

3 files changed

Lines changed: 20 additions & 2 deletions

File tree

src/azure-cli/azure/cli/command_modules/appservice/_help.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1907,6 +1907,9 @@
19071907
- name: Create a container webapp with an image pulled from a private Azure Container Registry using a User Assigned Managed Identity
19081908
text: >
19091909
az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName --container-image-name myregistry.azurecr.io/docker-image:tag --assign-identity MyAssignIdentities --acr-use-identity --acr-identity MyUserAssignedIdentityResourceId
1910+
- name: Create a web app with end-to-end encryption enabled and minimum TLS version 1.2
1911+
text: >
1912+
az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName --end-to-end-encryption-enabled true --min-tls-version 1.2
19101913
"""
19111914

19121915
helps['webapp create-remote-connection'] = """

src/azure-cli/azure/cli/command_modules/appservice/_params.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,13 @@ def load_arguments(self, _):
328328
'Use \'[system]\' to refer system assigned identity, or a resource id to refer user assigned identity.')
329329
c.argument('basic_auth', help='Enable or disable basic auth for both SCM and FTP Basic Auth Publishing Credentials. Defaults to Enabled if not specified. See https://aka.ms/app-service-basic-auth to learn more.', arg_type=get_enum_type(BASIC_AUTH_TYPES))
330330
c.argument('auto_generated_domain_name_label_scope', options_list=['--domain-name-scope'], help="Specify the scope of uniqueness for the default hostname during resource creation.", arg_type=get_enum_type(AutoGeneratedDomainNameLabelScope))
331+
c.argument('end_to_end_encryption_enabled', options_list=['--end-to-end-encryption-enabled', '-e'],
332+
help='Enable or disable end-to-end encryption between the Front End and the Workers.',
333+
arg_type=get_three_state_flag(return_label=True))
334+
c.argument('min_tls_version',
335+
help="The minimum version of TLS required for SSL requests, e.g., '1.0', '1.1', '1.2'")
336+
c.argument('min_tls_cipher_suite', options_list=['--min-tls-cipher-suite'],
337+
help="The minimum TLS Cipher Suite required for requests, e.g., 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384'")
331338
c.ignore('language')
332339
c.ignore('using_webapp_up')
333340

src/azure-cli/azure/cli/command_modules/appservice/custom.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ def create_webapp(cmd, resource_group_name, name, plan, runtime=None, startup_fi
126126
using_webapp_up=False, language=None, assign_identities=None,
127127
role='Contributor', scope=None, vnet=None, subnet=None, https_only=False,
128128
public_network_access=None, acr_use_identity=False, acr_identity=None, basic_auth="",
129-
auto_generated_domain_name_label_scope=None):
129+
auto_generated_domain_name_label_scope=None, end_to_end_encryption_enabled=None,
130+
min_tls_version=None, min_tls_cipher_suite=None):
130131
from azure.mgmt.web.models import Site
131132
from azure.core.exceptions import ResourceNotFoundError as _ResourceNotFoundError
132133
SiteConfig, SkuDescription, NameValuePair = cmd.get_models(
@@ -238,10 +239,17 @@ def create_webapp(cmd, resource_group_name, name, plan, runtime=None, startup_fi
238239
if acr_use_identity:
239240
site_config.acr_use_managed_identity_creds = acr_use_identity
240241

242+
if min_tls_version:
243+
site_config.min_tls_version = min_tls_version
244+
245+
if min_tls_cipher_suite:
246+
site_config.min_tls_cipher_suite = min_tls_cipher_suite
247+
241248
webapp_def = Site(location=location, site_config=site_config, server_farm_id=plan_info.id, tags=tags,
242249
https_only=https_only, virtual_network_subnet_id=subnet_resource_id,
243250
public_network_access=public_network_access, vnet_route_all_enabled=vnet_route_all_enabled,
244-
auto_generated_domain_name_label_scope=auto_generated_domain_name_label_scope)
251+
auto_generated_domain_name_label_scope=auto_generated_domain_name_label_scope,
252+
end_to_end_encryption_enabled=end_to_end_encryption_enabled)
245253
if runtime:
246254
runtime = _StackRuntimeHelper.remove_delimiters(runtime)
247255

0 commit comments

Comments
 (0)