diff --git a/src/command_modules/azure-cli-storage/HISTORY.rst b/src/command_modules/azure-cli-storage/HISTORY.rst
index 3a69e8aa3..51989b349 100644
--- a/src/command_modules/azure-cli-storage/HISTORY.rst
+++ b/src/command_modules/azure-cli-storage/HISTORY.rst
@@ -3,6 +3,12 @@
 Release History
 ===============
 
+unreleased
+++++++++++
+* Enable service encryption by customer managed key
+* Breaking change: rename --encryption option to --encryption-services for az storage account create and az storage account update command.
+* Fix #4220: az storage account update encryption - syntax mismatch
+
 2.0.12 (2017-08-11)
 +++++++++++++++++++
 * Enable create storage account with system assigned identity
diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_params.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_params.py
index 0e159c576..157a5d77f 100644
--- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_params.py
+++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_params.py
@@ -19,7 +19,7 @@ from azure.cli.core.commands import (register_cli_argument, register_extra_cli_a
 
 from azure.common import AzureMissingResourceHttpError
 
-from azure.cli.core.profiles import get_sdk, ResourceType
+from azure.cli.core.profiles import get_sdk, ResourceType, supported_api_version
 
 from ._factory import get_storage_data_service_client
 from ._validators import \
@@ -30,8 +30,8 @@ from ._validators import \
      validate_custom_domain, validate_public_access,
      process_blob_upload_batch_parameters, process_blob_download_batch_parameters,
      process_file_upload_batch_parameters, process_file_download_batch_parameters,
-     get_content_setting_validator, validate_encryption, validate_accept,
-     validate_key, storage_account_key_options,
+     get_content_setting_validator, validate_encryption_services, validate_accept,
+     validate_key, storage_account_key_options, validate_encryption_source,
      process_file_download_namespace,
      process_metric_update_namespace, process_blob_copy_batch_namespace,
      get_source_file_or_blob_service_client, process_blob_source_uri,
@@ -112,7 +112,6 @@ class CommandContext(object):
         max_api = kwargs.pop('max_api', None)
         min_api = kwargs.pop('min_api', None)
         if resource_type and (max_api or min_api):
-            from azure.cli.core.profiles import supported_api_version
             return supported_api_version(resource_type, min_api=min_api, max_api=max_api)
         return True
 
@@ -286,7 +285,6 @@ register_cli_argument('storage', 'if_match', arg_group='Pre-condition')
 register_cli_argument('storage', 'if_none_match', arg_group='Pre-condition')
 
 register_cli_argument('storage', 'container_name', container_name_type)
-
 for item in ['check-name', 'delete', 'list', 'show', 'show-usage', 'update', 'keys']:
     register_cli_argument('storage account {}'.format(item), 'account_name', account_name_type, options_list=('--name', '-n'))
 
@@ -300,21 +298,35 @@ for item in ['blob', 'file', 'queue', 'table']:
 def register_common_storage_account_options(context):
     context.reg_arg('https_only', help='Allows https traffic only to storage service.', **three_state_flag())
     context.reg_arg('sku', help='The storage account SKU.', **model_choice_list(ResourceType.MGMT_STORAGE, 'SkuName'))
-    context.reg_arg('assign_identity', help='Generate and assign a new Storage Account Identity for this storage '
-                                            'account for use with key management services like Azure KeyVault.',
-                    action='store_true', resource_type=ResourceType.MGMT_STORAGE, min_api='2017-06-01')
     context.reg_arg('access_tier', help='The access tier used for billing StandardBlob accounts. Cannot be set for '
                                         'StandardLRS, StandardGRS, StandardRAGRS, or PremiumLRS account types. It is '
                                         'required for StandardBlob accounts during creation',
                     **model_choice_list(ResourceType.MGMT_STORAGE, 'AccessTier'))
 
-    encryption_services_model = get_sdk(ResourceType.MGMT_STORAGE, 'models#EncryptionServices')
-    if encryption_services_model:
-        encryption_choices = list(encryption_services_model._attribute_map.keys())  # pylint: disable=protected-access
-        context.reg_arg('encryption', nargs='+', help='Specifies which service(s) to encrypt.',
-                        validator=validate_encryption,
-                        resource_type=ResourceType.MGMT_STORAGE, min_api='2016-12-01',
-                        **enum_choice_list(encryption_choices))
+    # after API 2016-12-01
+    if supported_api_version(resource_type=ResourceType.MGMT_STORAGE, min_api='2016-12-01'):
+        encryption_services_model = get_sdk(ResourceType.MGMT_STORAGE, 'models#EncryptionServices')
+        if encryption_services_model:
+
+            encryption_choices = []
+            for attribute in encryption_services_model._attribute_map.keys():  # pylint: disable=protected-access
+                if not encryption_services_model._validation.get(attribute, {}).get('readonly'):  # pylint: disable=protected-access
+                    # skip readonly attributes, which are not for input
+                    encryption_choices.append(attribute)
+
+            context.reg_arg('encryption_services', nargs='+', help='Specifies which service(s) to encrypt.',
+                            validator=validate_encryption_services, **enum_choice_list(encryption_choices))
+
+    # after API 2017-06-01
+    if supported_api_version(resource_type=ResourceType.MGMT_STORAGE, min_api='2017-06-01'):
+        context.reg_arg('assign_identity', action='store_true',
+                        help='Generate and assign a new Storage Account Identity for this storage account for use with '
+                             'key management services like Azure KeyVault.')
+
+        # the options of encryption key sources are hardcoded since there isn't a enum represents them in the SDK.
+        context.reg_arg('encryption_key_source', help='The encryption keySource (provider). Default: Microsoft.Storage',
+                        validator=validate_encryption_source,
+                        **enum_choice_list(['Microsoft.Storage', 'Microsoft.Keyvault']))
 
 
 with CommandContext('storage account create') as c:
@@ -338,6 +350,15 @@ with CommandContext('storage account update') as c:
               **enum_choice_list(['true', 'false']))
     c.reg_arg('tags', tags_type, default=None)
 
+    # after API 2017-06-01
+    if supported_api_version(resource_type=ResourceType.MGMT_STORAGE, min_api='2017-06-01'):
+        c.reg_arg('encryption_key_vault_properties', ignore_type)
+
+        with c.arg_group('Customer managed key') as g:
+            g.reg_extra_arg('encryption_key_name', help='The name of the KeyVault key.')
+            g.reg_extra_arg('encryption_key_vault', help='The Uri of the KeyVault')
+            g.reg_extra_arg('encryption_key_version', help='The version of the KeyVault key')
+
 
 register_cli_argument('storage account keys renew', 'key_name', options_list=('--key',), help='The key to regenerate.', validator=validate_key, **enum_choice_list(list(storage_account_key_options.keys())))
 register_cli_argument('storage account keys renew', 'account_name', account_name_type, id_part=None)
diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_validators.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_validators.py
index ffaddd11d..eb8363060 100644
--- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_validators.py
+++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_validators.py
@@ -371,17 +371,43 @@ def validate_custom_domain(namespace):
         raise ValueError('usage error: --custom-domain DOMAIN [--use-subdomain]')
 
 
-def validate_encryption(namespace):
-    ''' Builds up the encryption object for storage account operations based on the
-    list of services passed in. '''
-    if namespace.encryption:
-        Encryption, EncryptionServices, EncryptionService = get_sdk(ResourceType.MGMT_STORAGE,
-                                                                    'Encryption',
-                                                                    'EncryptionServices',
-                                                                    'EncryptionService',
-                                                                    mod='models')
-        services = {service: EncryptionService(True) for service in namespace.encryption}
-        namespace.encryption = Encryption(EncryptionServices(**services))
+def validate_encryption_services(namespace):
+    """
+    Builds up the encryption services object for storage account operations based on the list of services passed in.
+    """
+    if namespace.encryption_services:
+        EncryptionServices, EncryptionService = get_sdk(
+            ResourceType.MGMT_STORAGE, 'EncryptionServices', 'EncryptionService', mod='models')
+        services = {service: EncryptionService(True) for service in namespace.encryption_services}
+
+        namespace.encryption_services = EncryptionServices(**services)
+
+
+def validate_encryption_source(namespace):
+    ns = vars(namespace)
+    if namespace.encryption_key_source:
+        allowed_options = ['Microsoft.Storage', 'Microsoft.Keyvault']
+        if namespace.encryption_key_source not in allowed_options:
+            raise ValueError('--encryption-key-source allows to values: {}'.format(', '.join(allowed_options)))
+
+    key_name = ns.pop('encryption_key_name', None)
+    key_version = ns.pop('encryption_key_version', None)
+    key_vault_uri = ns.pop('encryption_key_vault', None)
+
+    if namespace.encryption_key_source == 'Microsoft.Keyvault' and not (key_name and key_version and key_vault_uri):
+        raise ValueError('--encryption-key-name, --encryption-key-vault, and --encryption-key-version are required '
+                         'when --encryption-key-source=Microsoft.Keyvault is specified.')
+
+    if key_name or key_version or key_vault_uri:
+        if namespace.encryption_key_source != 'Microsoft.Keyvault':
+            raise ValueError('--encryption-key-name, --encryption-key-vault, and --encryption-key-version are not '
+                             'applicable when --encryption-key-source=Microsoft.Keyvault is not specified.')
+        KeyVaultProperties = get_sdk(ResourceType.MGMT_STORAGE, 'KeyVaultProperties', mod='models')
+        if not KeyVaultProperties:
+            return
+
+        kv_prop = KeyVaultProperties(key_name, key_version, key_vault_uri)
+        namespace.encryption_key_vault_properties = kv_prop
 
 
 def validate_entity(namespace):
diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/custom.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/custom.py
index 8ce90a73a..273fabe5c 100644
--- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/custom.py
+++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/custom.py
@@ -40,8 +40,8 @@ def _update_progress(current, total):
 # CUSTOM METHODS
 
 def create_storage_account(resource_group_name, account_name, sku, assign_identity=False, location=None, kind=None,
-                           tags=None, custom_domain=None, encryption=None, access_tier=None, https_only=None):
-    StorageAccountCreateParameters, Kind, Sku, CustomDomain, AccessTier, Identity = get_sdk(
+                           encryption_services=None, tags=None, custom_domain=None, access_tier=None, https_only=None):
+    StorageAccountCreateParameters, Kind, Sku, CustomDomain, AccessTier, Identity, Encryption = get_sdk(
         ResourceType.MGMT_STORAGE,
         'StorageAccountCreateParameters',
         'Kind',
@@ -49,13 +49,14 @@ def create_storage_account(resource_group_name, account_name, sku, assign_identi
         'CustomDomain',
         'AccessTier',
         'Identity',
+        'Encryption',
         mod='models')
     scf = storage_client_factory()
     params = StorageAccountCreateParameters(sku=Sku(sku), kind=Kind(kind), location=location, tags=tags)
     if custom_domain:
         params.custom_domain = CustomDomain(custom_domain, None)
-    if encryption:
-        params.encryption = encryption
+    if encryption_services:
+        params.encryption = Encryption(services=encryption_services)
     if access_tier:
         params.access_tier = AccessTier(access_tier)
     if assign_identity:
@@ -77,15 +78,17 @@ def create_storage_account_with_account_type(resource_group_name, account_name,
     return scf.storage_accounts.create(resource_group_name, account_name, params)
 
 
-def update_storage_account(instance, sku=None, tags=None, custom_domain=None, use_subdomain=None, encryption=None,
+def update_storage_account(instance, sku=None, tags=None, custom_domain=None, use_subdomain=None,
+                           encryption_services=None, encryption_key_source=None, encryption_key_vault_properties=None,
                            access_tier=None, https_only=None, assign_identity=False):
-    StorageAccountUpdateParameters, Sku, CustomDomain, AccessTier, Identity = get_sdk(
+    StorageAccountUpdateParameters, Sku, CustomDomain, AccessTier, Identity, Encryption = get_sdk(
         ResourceType.MGMT_STORAGE,
         'StorageAccountUpdateParameters',
         'Sku',
         'CustomDomain',
         'AccessTier',
         'Identity',
+        'Encryption',
         mod='models')
     domain = instance.custom_domain
     if custom_domain is not None:
@@ -93,11 +96,19 @@ def update_storage_account(instance, sku=None, tags=None, custom_domain=None, us
         if use_subdomain is not None:
             domain.name = use_subdomain == 'true'
 
+    encryption = instance.encryption or Encryption()
+    if encryption_services:
+        encryption.services = encryption_services
+    if encryption_key_source:
+        encryption.key_source = encryption_key_source
+    if encryption_key_vault_properties:
+        encryption.key_vault_properties = encryption_key_vault_properties
+
     params = StorageAccountUpdateParameters(
         sku=Sku(sku) if sku is not None else instance.sku,
         tags=tags if tags is not None else instance.tags,
         custom_domain=domain,
-        encryption=encryption if encryption is not None else instance.encryption,
+        encryption=encryption,
         access_tier=AccessTier(access_tier) if access_tier is not None else instance.access_tier,
         enable_https_traffic_only=https_only if https_only is not None else instance.enable_https_traffic_only
     )

az storage account update encryption - syntax mismatch?
### Description

`az storage account update \
	--name ${storageacct} --resource-group ${res_group} \
	--encryption queue table blob file`

based on this in usage:

`[--encryption {queue,table,blob,file} [{queue,table,blob,file} ...]]`

results in 

`az storage account update: error: __init__() got an unexpected keyword argument 'queue'`

issueing them one at a time appears to work.

---

### Environment summary

**Install Method:** nightly
**CLI Version:** azure-cli (2.0.12+1.dev20170808)
**OS Version:** Ubuntu 16.04 x64
**Shell Type:** bash

diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py
index cfd57ca27..92da19ef3 100644
--- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py
+++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py
@@ -6,14 +6,14 @@
 import unittest
 from argparse import Namespace
 from six import StringIO
-from azure.cli.command_modules.storage._validators import (
-    get_permission_validator, get_datetime_type, datetime, ipv4_range_type, resource_type_type, services_type,
-    process_blob_source_uri, get_char_options_validator)
+
+from azure.cli.command_modules.storage._validators import (get_permission_validator, get_datetime_type, datetime,
+                                                           ipv4_range_type, resource_type_type, services_type,
+                                                           process_blob_source_uri, get_char_options_validator)
 from azure.cli.core.profiles import get_sdk, ResourceType
 from azure.cli.testsdk import api_version_constraint
 
 
-@api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-12-01')
 class TestStorageValidators(unittest.TestCase):
     def setUp(self):
         self.io = StringIO()
@@ -116,5 +116,59 @@ class TestStorageValidators(unittest.TestCase):
         self.assertEqual(result, set('ab'))
 
 
+@api_version_constraint(resource_type=ResourceType.MGMT_STORAGE, min_api='2016-12-01')
+class TestEncryptionValidators(unittest.TestCase):
+    def test_validate_encryption_services(self):
+        from azure.cli.command_modules.storage._validators import validate_encryption_services
+
+        ns = Namespace(encryption_services=['blob'])
+        validate_encryption_services(ns)
+        self.assertIsNotNone(ns.encryption_services.blob)
+        self.assertTrue(ns.encryption_services.blob.enabled)
+        self.assertIsNone(ns.encryption_services.file)
+
+        ns = Namespace(encryption_services=['file'])
+        validate_encryption_services(ns)
+        self.assertIsNotNone(ns.encryption_services.file)
+        self.assertTrue(ns.encryption_services.file.enabled)
+        self.assertIsNone(ns.encryption_services.blob)
+
+        ns = Namespace(encryption_services=['blob', 'file'])
+        validate_encryption_services(ns)
+        self.assertIsNotNone(ns.encryption_services.blob)
+        self.assertTrue(ns.encryption_services.blob.enabled)
+        self.assertIsNotNone(ns.encryption_services.file)
+        self.assertTrue(ns.encryption_services.file.enabled)
+
+    def test_validate_encryption_source(self):
+        from azure.cli.command_modules.storage._validators import validate_encryption_source
+
+        with self.assertRaises(ValueError):
+            validate_encryption_source(Namespace(encryption_key_source='Notanoption'))
+
+        with self.assertRaises(ValueError):
+            validate_encryption_source(Namespace(encryption_key_source='Microsoft.Keyvault'))
+
+        with self.assertRaises(ValueError):
+            validate_encryption_source(Namespace(encryption_key_source='Microsoft.Storage',
+                                                 encryption_key_name='key_name',
+                                                 encryption_key_version='key_version',
+                                                 encryption_key_vault='https://example.com/key_uri'))
+
+        ns = Namespace(encryption_key_source='Microsoft.Keyvault',
+                       encryption_key_name='key_name',
+                       encryption_key_version='key_version',
+                       encryption_key_vault='https://example.com/key_uri')
+        validate_encryption_source(ns)
+        self.assertFalse(hasattr(ns, 'encryption_key_name'))
+        self.assertFalse(hasattr(ns, 'encryption_key_version'))
+        self.assertFalse(hasattr(ns, 'encryption_key_uri'))
+
+        properties = ns.encryption_key_vault_properties
+        self.assertEqual(properties.key_name, 'key_name')
+        self.assertEqual(properties.key_version, 'key_version')
+        self.assertEqual(properties.key_vault_uri, 'https://example.com/key_uri')
+
+
 if __name__ == '__main__':
     unittest.main()

python scripts/dev_setup.py
parse_log_pytest
requirements.txt
pytest
apt-get update apt-get install -y gcc libssl-dev libffi-dev
3.5
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
adal==0.4.3
applicationinsights==0.10.0
argcomplete==1.8.0
astroid==2.11.7
attrs==22.2.0
autopep8==2.0.4
azure-batch==3.1.0
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli&subdirectory=src/azure-cli
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_acr&subdirectory=src/command_modules/azure-cli-acr
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_acs&subdirectory=src/command_modules/azure-cli-acs
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_appservice&subdirectory=src/command_modules/azure-cli-appservice
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_batch&subdirectory=src/command_modules/azure-cli-batch
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_billing&subdirectory=src/command_modules/azure-cli-billing
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_cdn&subdirectory=src/command_modules/azure-cli-cdn
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_cloud&subdirectory=src/command_modules/azure-cli-cloud
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_cognitiveservices&subdirectory=src/command_modules/azure-cli-cognitiveservices
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_component&subdirectory=src/command_modules/azure-cli-component
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_configure&subdirectory=src/command_modules/azure-cli-configure
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_consumption&subdirectory=src/command_modules/azure-cli-consumption
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_container&subdirectory=src/command_modules/azure-cli-container
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_core&subdirectory=src/azure-cli-core
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_cosmosdb&subdirectory=src/command_modules/azure-cli-cosmosdb
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_dla&subdirectory=src/command_modules/azure-cli-dla
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_dls&subdirectory=src/command_modules/azure-cli-dls
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_eventgrid&subdirectory=src/command_modules/azure-cli-eventgrid
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_feedback&subdirectory=src/command_modules/azure-cli-feedback
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_find&subdirectory=src/command_modules/azure-cli-find
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_interactive&subdirectory=src/command_modules/azure-cli-interactive
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_iot&subdirectory=src/command_modules/azure-cli-iot
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_keyvault&subdirectory=src/command_modules/azure-cli-keyvault
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_lab&subdirectory=src/command_modules/azure-cli-lab
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_monitor&subdirectory=src/command_modules/azure-cli-monitor
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_network&subdirectory=src/command_modules/azure-cli-network
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_nspkg&subdirectory=src/azure-cli-nspkg
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_profile&subdirectory=src/command_modules/azure-cli-profile
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_rdbms&subdirectory=src/command_modules/azure-cli-rdbms
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_redis&subdirectory=src/command_modules/azure-cli-redis
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_resource&subdirectory=src/command_modules/azure-cli-resource
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_role&subdirectory=src/command_modules/azure-cli-role
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_sf&subdirectory=src/command_modules/azure-cli-sf
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_sql&subdirectory=src/command_modules/azure-cli-sql
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_storage&subdirectory=src/command_modules/azure-cli-storage
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_taskhelp&subdirectory=src/command_modules/azure-cli-taskhelp
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_testsdk&subdirectory=src/azure-cli-testsdk
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_utility_automation&subdirectory=scripts
-e git+https://github.com/Azure/azure-cli.git@966cbaa94a8eba13f89a220fb1fe73bed3e2244b#egg=azure_cli_vm&subdirectory=src/command_modules/azure-cli-vm
azure-common==1.1.28
azure-core==1.24.2
azure-datalake-store==0.0.15
azure-devtools==0.4.3
azure-graphrbac==0.30.0rc6
azure-keyvault==0.3.4
azure-mgmt-authorization==0.30.0rc6
azure-mgmt-batch==4.1.0
azure-mgmt-billing==0.1.0
azure-mgmt-cdn==0.30.2
azure-mgmt-cognitiveservices==1.0.0
azure-mgmt-compute==2.0.0
azure-mgmt-consumption==0.1.0
azure-mgmt-containerinstance==9.2.0
azure-mgmt-containerregistry==0.3.1
azure-mgmt-containerservice==1.0.0
azure-mgmt-core==1.3.2
azure-mgmt-datalake-analytics==0.1.6
azure-mgmt-datalake-nspkg==3.0.1
azure-mgmt-datalake-store==0.1.6
azure-mgmt-devtestlabs==2.0.0
azure-mgmt-dns==1.0.1
azure-mgmt-documentdb==0.1.3
azure-mgmt-iothub==0.2.2
azure-mgmt-keyvault==0.40.0
azure-mgmt-monitor==0.2.1
azure-mgmt-network==1.3.0
azure-mgmt-nspkg==1.0.0
azure-mgmt-rdbms==0.1.0
azure-mgmt-redis==1.0.0
azure-mgmt-resource==1.1.0
azure-mgmt-sql==0.6.0
azure-mgmt-storage==1.2.0
azure-mgmt-trafficmanager==0.30.0
azure-mgmt-web==0.32.0
azure-monitor==0.3.0
azure-multiapi-storage==0.1.2
azure-nspkg==1.0.0
azure-servicefabric==5.6.130
bleach==4.1.0
certifi==2021.5.30
cffi==1.15.1
colorama==0.3.7
ConfigArgParse==1.7
coverage==6.2
cryptography==40.0.2
docutils==0.18.1
flake8==5.0.4
futures==3.1.1
humanfriendly==2.4
idna==3.10
importlib-metadata==4.2.0
iniconfig==1.1.1
isodate==0.7.0
isort==5.10.1
jeepney==0.7.1
jmespath==0.10.0
keyring==23.4.1
lazy-object-proxy==1.7.1
mccabe==0.7.0
mock==5.2.0
msrest==0.7.1
msrestazure==0.4.34
nose==1.3.7
oauthlib==3.2.2
packaging==21.3
paramiko==2.0.2
pbr==6.1.1
pluggy==1.0.0
prompt-toolkit==3.0.36
py==1.11.0
pyasn1==0.5.1
pycodestyle==2.10.0
pycparser==2.21
pydocumentdb==2.3.5
pyflakes==2.5.0
Pygments==2.14.0
PyJWT==2.4.0
pylint==1.7.1
pyOpenSSL==16.2.0
pyparsing==3.1.4
pytest==7.0.1
python-dateutil==2.9.0.post0
pytz==2025.2
PyYAML==3.11
readme-renderer==34.0
requests==2.9.1
requests-oauthlib==2.0.0
scp==0.15.0
SecretStorage==3.3.3
six==1.10.0
sshtunnel==0.4.0
tabulate==0.7.7
tomli==1.2.3
typed-ast==1.5.5
typing-extensions==4.1.1
urllib3==1.26.20
urllib3-secure-extra==0.1.0
vcrpy==1.10.3
vsts-cd-manager==0.118.0
wcwidth==0.2.13
webencodings==0.5.1
Whoosh==2.7.4
wrapt==1.16.0
xmltodict==0.14.2
zipp==3.6.0

name: azure-cli
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - adal==0.4.3
      - applicationinsights==0.10.0
      - argcomplete==1.8.0
      - astroid==2.11.7
      - attrs==22.2.0
      - autopep8==2.0.4
      - azure-batch==3.1.0
      - azure-common==1.1.28
      - azure-core==1.24.2
      - azure-datalake-store==0.0.15
      - azure-devtools==0.4.3
      - azure-graphrbac==0.30.0rc6
      - azure-keyvault==0.3.4
      - azure-mgmt-authorization==0.30.0rc6
      - azure-mgmt-batch==4.1.0
      - azure-mgmt-billing==0.1.0
      - azure-mgmt-cdn==0.30.2
      - azure-mgmt-cognitiveservices==1.0.0
      - azure-mgmt-compute==2.0.0
      - azure-mgmt-consumption==0.1.0
      - azure-mgmt-containerinstance==9.2.0
      - azure-mgmt-containerregistry==0.3.1
      - azure-mgmt-containerservice==1.0.0
      - azure-mgmt-core==1.3.2
      - azure-mgmt-datalake-analytics==0.1.6
      - azure-mgmt-datalake-nspkg==3.0.1
      - azure-mgmt-datalake-store==0.1.6
      - azure-mgmt-devtestlabs==2.0.0
      - azure-mgmt-dns==1.0.1
      - azure-mgmt-documentdb==0.1.3
      - azure-mgmt-iothub==0.2.2
      - azure-mgmt-keyvault==0.40.0
      - azure-mgmt-monitor==0.2.1
      - azure-mgmt-network==1.3.0
      - azure-mgmt-nspkg==1.0.0
      - azure-mgmt-rdbms==0.1.0
      - azure-mgmt-redis==1.0.0
      - azure-mgmt-resource==1.1.0
      - azure-mgmt-sql==0.6.0
      - azure-mgmt-storage==1.2.0
      - azure-mgmt-trafficmanager==0.30.0
      - azure-mgmt-web==0.32.0
      - azure-monitor==0.3.0
      - azure-multiapi-storage==0.1.2
      - azure-nspkg==1.0.0
      - azure-servicefabric==5.6.130
      - bleach==4.1.0
      - cffi==1.15.1
      - colorama==0.3.7
      - configargparse==1.7
      - coverage==6.2
      - cryptography==40.0.2
      - docutils==0.18.1
      - flake8==5.0.4
      - futures==3.1.1
      - humanfriendly==2.4
      - idna==3.10
      - importlib-metadata==4.2.0
      - iniconfig==1.1.1
      - isodate==0.7.0
      - isort==5.10.1
      - jeepney==0.7.1
      - jmespath==0.10.0
      - keyring==23.4.1
      - lazy-object-proxy==1.7.1
      - mccabe==0.7.0
      - mock==5.2.0
      - msrest==0.7.1
      - msrestazure==0.4.34
      - nose==1.3.7
      - oauthlib==3.2.2
      - packaging==21.3
      - paramiko==2.0.2
      - pbr==6.1.1
      - pip==9.0.1
      - pluggy==1.0.0
      - prompt-toolkit==3.0.36
      - py==1.11.0
      - pyasn1==0.5.1
      - pycodestyle==2.10.0
      - pycparser==2.21
      - pydocumentdb==2.3.5
      - pyflakes==2.5.0
      - pygments==2.14.0
      - pyjwt==2.4.0
      - pylint==1.7.1
      - pyopenssl==16.2.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - pyyaml==3.11
      - readme-renderer==34.0
      - requests==2.9.1
      - requests-oauthlib==2.0.0
      - scp==0.15.0
      - secretstorage==3.3.3
      - setuptools==30.4.0
      - six==1.10.0
      - sshtunnel==0.4.0
      - tabulate==0.7.7
      - tomli==1.2.3
      - typed-ast==1.5.5
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - urllib3-secure-extra==0.1.0
      - vcrpy==1.10.3
      - vsts-cd-manager==0.118.0
      - wcwidth==0.2.13
      - webencodings==0.5.1
      - whoosh==2.7.4
      - wrapt==1.16.0
      - xmltodict==0.14.2
      - zipp==3.6.0
prefix: /opt/conda/envs/azure-cli

src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestEncryptionValidators::test_validate_encryption_services src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestEncryptionValidators::test_validate_encryption_source
src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestStorageValidators::test_datetime_string_type src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestStorageValidators::test_datetime_type src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestStorageValidators::test_ipv4_range_type src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestStorageValidators::test_permission_validator src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestStorageValidators::test_resource_types_type src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestStorageValidators::test_services_type src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestStorageValidators::test_storage_get_char_options_validator src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/test_storage_validators.py::TestStorageValidators::test_storage_process_blob_source_uri_redundent_parameter
src/command_modules/azure-cli-storage/HISTORY.rst src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_params.py src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/custom.py src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_validators.py
src/command_modules/azure-cli-storage/HISTORY.rst src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_params.py src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/custom.py src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_validators.py