From 25605746f6fcf12199b7d706f2e1873fbef89709 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Wed, 4 May 2016 12:25:35 -0700 Subject: [PATCH 01/27] Intial rework. --- .../cli/command_modules/storage/__init__.py | 564 +----------------- .../cli/command_modules/storage/custom.py | 244 ++++++++ .../cli/command_modules/storage/generated.py | 225 +++++++ 3 files changed, 473 insertions(+), 560 deletions(-) create mode 100644 src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/custom.py create mode 100644 src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/__init__.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/__init__.py index 13b45a8670a..69553b3401f 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/__init__.py +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/__init__.py @@ -1,561 +1,5 @@ -from __future__ import print_function -from sys import stderr +from .generated import command_table as generated_command_table +from .custom import command_table as convenience_command_table -from azure.storage.blob import PublicAccess, BlockBlobService, AppendBlobService, PageBlobService -from azure.storage.file import FileService -from azure.storage import CloudStorageAccount -from azure.mgmt.storage import StorageManagementClient, StorageManagementClientConfiguration -from azure.mgmt.storage.models import AccountType -from azure.mgmt.storage.operations import StorageAccountsOperations - -from azure.cli.commands import (CommandTable, - LongRunningOperation, - RESOURCE_GROUP_ARG_NAME) -from azure.cli.commands._command_creation import get_mgmt_service_client, get_data_service_client -from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition -from azure.cli._locale import L - -from ._params import PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS -from ._validators import validate_key_value_pairs - -command_table = CommandTable() - -# FACTORIES - -def _storage_client_factory(_): - return get_mgmt_service_client(StorageManagementClient, StorageManagementClientConfiguration) - -def _file_data_service_factory(args): - return get_data_service_client( - FileService, - args.pop('account_name', None), - args.pop('account_key', None), - connection_string=args.pop('connection_string', None), - sas_token=args.pop('sas_token', None)) - -def _blob_data_service_factory(args): - blob_type = args.get('type') - blob_service = blob_types.get(blob_type, BlockBlobService) - return get_data_service_client( - blob_service, - args.pop('account_name', None), - args.pop('account_key', None), - connection_string=args.pop('connection_string', None), - sas_token=args.pop('sas_token', None)) - -def _cloud_storage_account_service_factory(args): - account_name = args.pop('account_name', None) - account_key = args.pop('account_key', None) - sas_token = args.pop('sas_token', None) - connection_string = args.pop('connection_string', None) - if connection_string: - # CloudStorageAccount doesn't accept connection string directly, so we must parse - # out the account name and key manually - conn_dict = validate_key_value_pairs(connection_string) - account_name = conn_dict['AccountName'] - account_key = conn_dict['AccountKey'] - return CloudStorageAccount(account_name, account_key, sas_token) - -def _update_progress(current, total): - if total: - message = 'Percent complete: %' - percent_done = current * 100 / total - message += '{: >5.1f}'.format(percent_done) - print('\b' * len(message) + message, end='', file=stderr) - stderr.flush() - if current == total: - print('', file=stderr) - -#### ACCOUNT COMMANDS ############################################################################# - -build_operation( - 'storage account', 'storage_accounts', _storage_client_factory, - [ - AutoCommandDefinition(StorageAccountsOperations.check_name_availability, - 'Result', 'check-name'), - AutoCommandDefinition(StorageAccountsOperations.delete, None), - AutoCommandDefinition(StorageAccountsOperations.get_properties, 'StorageAccount', 'show') - ], command_table, PARAMETER_ALIASES) - -build_operation( - 'storage account', None, _cloud_storage_account_service_factory, - [ - AutoCommandDefinition(CloudStorageAccount.generate_shared_access_signature, - 'SAS', 'generate-sas') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -@command_table.command('storage account list', description=L('List storage accounts.')) -@command_table.option(**PARAMETER_ALIASES['optional_resource_group_name']) -def list_accounts(args): - from azure.mgmt.storage.models import StorageAccount - from msrestazure.azure_active_directory import UserPassCredentials - smc = _storage_client_factory({}) - group = args.get(RESOURCE_GROUP_ARG_NAME) - if group: - accounts = smc.storage_accounts.list_by_resource_group(group) - else: - accounts = smc.storage_accounts.list() - return list(accounts) - -build_operation( - 'storage account keys', 'storage_accounts', _storage_client_factory, - [ - AutoCommandDefinition(StorageAccountsOperations.list_keys, '[StorageAccountKeys]', 'list') - ], command_table, PARAMETER_ALIASES) - -key_options = ['key1', 'key2'] -@command_table.command('storage account keys renew') -@command_table.description(L('Regenerate one or both keys for a storage account.')) -@command_table.option(**PARAMETER_ALIASES['resource_group_name']) -@command_table.option(**PARAMETER_ALIASES['account_name']) -@command_table.option('--key -y', default=key_options, - choices=key_options, help=L('Key to renew')) -def renew_account_keys(args): - smc = _storage_client_factory({}) - keys_to_renew = args.get('key') - for key in keys_to_renew if isinstance(keys_to_renew, list) else [keys_to_renew]: - result = smc.storage_accounts.regenerate_key( - resource_group_name=args.get(RESOURCE_GROUP_ARG_NAME), - account_name=args.get('account_name'), - key_name=key) - return result - -@command_table.command('storage account usage') -@command_table.description( - L('Show the current count and limit of the storage accounts under the subscription.')) -def show_account_usage(_): - smc = _storage_client_factory({}) - return next((x for x in smc.usage.list() if x.name.value == 'StorageAccounts'), None) - -@command_table.command('storage account connection-string') -@command_table.description(L('Show the connection string for a storage account.')) -@command_table.option(**PARAMETER_ALIASES['resource_group_name']) -@command_table.option(**PARAMETER_ALIASES['account_name_required']) -@command_table.option('--use-http', action='store_const', const='http', default='https', - help=L('use http as the default endpoint protocol')) -def show_storage_connection_string(args): - smc = _storage_client_factory({}) - endpoint_protocol = args.get('use_http') - storage_account = args.get('account_name') - keys = smc.storage_accounts.list_keys(args.get(RESOURCE_GROUP_ARG_NAME), - storage_account) - - connection_string = 'DefaultEndpointsProtocol={};AccountName={};AccountKey={}'.format( - endpoint_protocol, - storage_account, - keys.key1) #pylint: disable=no-member - return {'ConnectionString':connection_string} - -# TODO: update this once enums are supported in commands first-class (task #115175885) -storage_account_types = {'Standard_LRS': AccountType.standard_lrs, - 'Standard_ZRS': AccountType.standard_zrs, - 'Standard_GRS': AccountType.standard_grs, - 'Standard_RAGRS': AccountType.standard_ragrs, - 'Premium_LRS': AccountType.premium_lrs} - -@command_table.command('storage account create') -@command_table.description(L('Create a storage account.')) -@command_table.option(**PARAMETER_ALIASES['resource_group_name']) -@command_table.option(**PARAMETER_ALIASES['account_name_required']) -@command_table.option(**PARAMETER_ALIASES['location']) -@command_table.option('--type', choices=storage_account_types.keys(), required=True) -@command_table.option(**PARAMETER_ALIASES['tags']) -def create_account(args): - from azure.mgmt.storage.models import StorageAccountCreateParameters - smc = _storage_client_factory({}) - - resource_group = args.get(RESOURCE_GROUP_ARG_NAME) - account_name = args.get('account_name') - account_type = storage_account_types[args.get('type')] - params = StorageAccountCreateParameters(args.get('location'), - account_type, - args.get('tags')) - - op = LongRunningOperation('Creating storage account', 'Storage account created') - poller = smc.storage_accounts.create(resource_group, account_name, params) - return op(poller) - -@command_table.command('storage account set') -@command_table.description(L('Update storage account property (only one at a time).')) -@command_table.option(**PARAMETER_ALIASES['resource_group_name']) -@command_table.option(**PARAMETER_ALIASES['account_name_required']) -@command_table.option('--type', - choices=storage_account_types.keys()) -@command_table.option(**PARAMETER_ALIASES['tags']) -@command_table.option('--custom-domain', help=L('the custom domain name')) -@command_table.option('--subdomain', help=L('use indirect CNAME validation')) -def set_account(args): - from azure.mgmt.storage.models import StorageAccountUpdateParameters, CustomDomain - smc = _storage_client_factory({}) - - resource_group = args.get(RESOURCE_GROUP_ARG_NAME) - account_name = args.get('account_name') - domain = args.get('custom_domain') - account_type = storage_account_types[args.get('type')] if args.get('type') else None - - params = StorageAccountUpdateParameters(args.get('tags'), account_type, domain) - return smc.storage_accounts.update(resource_group, account_name, params) - -#### BLOB COMMANDS ################################################################################ - -# CONTAINER COMMANDS - -build_operation( - 'storage container', None, _blob_data_service_factory, - [ - AutoCommandDefinition(BlockBlobService.list_containers, '[Container]', 'list'), - AutoCommandDefinition(BlockBlobService.delete_container, 'Bool', 'delete'), - AutoCommandDefinition(BlockBlobService.get_container_properties, - 'ContainerProperties', 'show'), - AutoCommandDefinition(BlockBlobService.create_container, 'Bool', 'create'), - AutoCommandDefinition(BlockBlobService.generate_container_shared_access_signature, - 'SAS', 'generate-sas') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage container acl', None, _blob_data_service_factory, - [ - AutoCommandDefinition(BlockBlobService.set_container_acl, 'StoredAccessPolicy', 'set'), - AutoCommandDefinition(BlockBlobService.get_container_acl, '[StoredAccessPolicy]', 'show'), - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage container metadata', None, _blob_data_service_factory, - [ - AutoCommandDefinition(BlockBlobService.set_container_metadata, 'Properties', 'set'), - AutoCommandDefinition(BlockBlobService.get_container_metadata, 'Metadata', 'show'), - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -# TODO: update this once enums are supported in commands first-class (task #115175885) -public_access_types = {'none': None, - 'blob': PublicAccess.Blob, - 'container': PublicAccess.Container} - -@command_table.command('storage container exists') -@command_table.description(L('Check if a storage container exists.')) -@command_table.option(**PARAMETER_ALIASES['container_name']) -@command_table.option_set(STORAGE_DATA_CLIENT_ARGS) -@command_table.option('--snapshot', help=L('UTC datetime value which specifies a snapshot')) -@command_table.option(**PARAMETER_ALIASES['timeout']) -def exists_container(args): - bbs = _blob_data_service_factory(args) - return bbs.exists( - container_name=args.get('container_name'), - snapshot=args.get('snapshot'), - timeout=args.get('timeout')) - -lease_duration_values = {'min':15, 'max':60, 'infinite':-1} -lease_duration_values_string = 'Between {} and {} seconds. ({} for infinite)'.format( - lease_duration_values['min'], - lease_duration_values['max'], - lease_duration_values['infinite']) - -build_operation( - 'storage container lease', None, _blob_data_service_factory, - [ - AutoCommandDefinition(BlockBlobService.acquire_container_lease, 'LeaseID', 'acquire'), - AutoCommandDefinition(BlockBlobService.renew_container_lease, 'LeaseID', 'renew'), - AutoCommandDefinition(BlockBlobService.release_container_lease, None, 'release'), - AutoCommandDefinition(BlockBlobService.change_container_lease, None, 'change'), - AutoCommandDefinition(BlockBlobService.break_container_lease, 'Int', 'break') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -# BLOB COMMANDS - -build_operation( - 'storage blob', None, _blob_data_service_factory, - [ - AutoCommandDefinition(BlockBlobService.list_blobs, '[Blob]', 'list'), - AutoCommandDefinition(BlockBlobService.delete_blob, None, 'delete'), - AutoCommandDefinition(BlockBlobService.generate_blob_shared_access_signature, - 'SAS', 'generate-sas'), - AutoCommandDefinition(BlockBlobService.make_blob_url, 'URL', 'url'), - AutoCommandDefinition(BlockBlobService.snapshot_blob, 'SnapshotProperties', 'snapshot'), - AutoCommandDefinition(BlockBlobService.get_blob_properties, 'Properties', 'show'), - AutoCommandDefinition(BlockBlobService.set_blob_properties, 'Propeties', 'set') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage blob service-properties', None, _blob_data_service_factory, - [ - AutoCommandDefinition(BlockBlobService.get_blob_service_properties, - '[ServiceProperties]', 'show'), - AutoCommandDefinition(BlockBlobService.set_blob_service_properties, - 'ServiceProperties', 'set') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage blob metadata', None, _blob_data_service_factory, - [ - AutoCommandDefinition(BlockBlobService.get_blob_metadata, 'Metadata', 'show'), - AutoCommandDefinition(BlockBlobService.set_blob_metadata, 'Metadata', 'set') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -blob_types = { - 'block': BlockBlobService, - 'page': PageBlobService, - 'append': AppendBlobService -} -blob_types_str = ' '.join(blob_types.keys()) - -@command_table.command('storage blob upload') -@command_table.description(L('Upload a blob to a container.')) -@command_table.option(**PARAMETER_ALIASES['container_name']) -@command_table.option(**PARAMETER_ALIASES['blob_name']) -@command_table.option('--type', required=True, choices=blob_types.keys(), - help=L('type of blob to upload ({})'.format(blob_types_str))) -@command_table.option('--upload-from', required=True, - help=L('local path to upload from')) -@command_table.option_set(STORAGE_DATA_CLIENT_ARGS) -@command_table.option('--container.public-access', default=None, - choices=public_access_types.keys(), - type=lambda x: public_access_types.get(x, ValueError)) -@command_table.option('--content.type') -@command_table.option('--content.disposition') -@command_table.option('--content.encoding') -@command_table.option('--content.language') -@command_table.option('--content.md5') -@command_table.option('--content.cache-control') -def upload_blob(args): - from azure.storage.blob import ContentSettings - bds = _blob_data_service_factory(args) - blob_type = args.get('type') - container_name = args.get('container_name') - blob_name = args.get('blob_name') - file_path = args.get('upload_from') - content_settings = ContentSettings( - content_type=args.get('content.type'), - content_disposition=args.get('content.disposition'), - content_encoding=args.get('content.encoding'), - content_language=args.get('content.language'), - content_md5=args.get('content.md5'), - cache_control=args.get('content.cache-control') - ) - - def upload_append_blob(): - if not bds.exists(container_name, blob_name): - bds.create_blob( - container_name=container_name, - blob_name=blob_name, - content_settings=content_settings) - return bds.append_blob_from_path( - container_name=container_name, - blob_name=blob_name, - file_path=file_path, - progress_callback=_update_progress - ) - - def upload_block_blob(): - return bds.create_blob_from_path( - container_name=container_name, - blob_name=blob_name, - file_path=file_path, - progress_callback=_update_progress, - content_settings=content_settings - ) - - type_func = { - 'append': upload_append_blob, - 'block': upload_block_blob, - 'page': upload_block_blob # same implementation - } - return type_func[blob_type]() - -@command_table.command('storage blob download') -@command_table.description(L('Download the specified blob.')) -@command_table.option(**PARAMETER_ALIASES['container_name']) -@command_table.option(**PARAMETER_ALIASES['blob_name']) -@command_table.option('--download-to', help=L('the file path to download to'), required=True) -@command_table.option_set(STORAGE_DATA_CLIENT_ARGS) -def download_blob(args): - bbs = _blob_data_service_factory(args) - - # show dot indicator of download progress (one for every 10%) - bbs.get_blob_to_path(args.get('container_name'), - args.get('blob_name'), - args.get('download_to'), - progress_callback=_update_progress) - -@command_table.command('storage blob exists') -@command_table.description(L('Check if a storage blob exists.')) -@command_table.option(**PARAMETER_ALIASES['container_name']) -@command_table.option(**PARAMETER_ALIASES['blob_name']) -@command_table.option_set(STORAGE_DATA_CLIENT_ARGS) -@command_table.option('--snapshot', help=L('UTC datetime value which specifies a snapshot')) -@command_table.option(**PARAMETER_ALIASES['timeout']) -def exists_blob(args): - bbs = _blob_data_service_factory(args) - return bbs.exists( - blob_name=args.get('blob_name'), - container_name=args.get('container_name'), - snapshot=args.get('snapshot'), - timeout=args.get('timeout')) - -build_operation( - 'storage blob lease', None, _blob_data_service_factory, - [ - AutoCommandDefinition(BlockBlobService.acquire_blob_lease, 'LeaseID', 'acquire'), - AutoCommandDefinition(BlockBlobService.renew_blob_lease, 'LeaseID', 'renew'), - AutoCommandDefinition(BlockBlobService.release_blob_lease, None, 'release'), - AutoCommandDefinition(BlockBlobService.change_blob_lease, None, 'change'), - AutoCommandDefinition(BlockBlobService.break_blob_lease, 'Int', 'break') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage blob copy', None, _blob_data_service_factory, - [ - AutoCommandDefinition(BlockBlobService.copy_blob, 'CopyOperationProperties', 'start'), - AutoCommandDefinition(BlockBlobService.abort_copy_blob, None, 'cancel'), - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -#### FILE COMMANDS ################################################################################ - -# SHARE COMMANDS - -build_operation( - 'storage share', None, _file_data_service_factory, - [ - AutoCommandDefinition(FileService.list_shares, '[Share]', 'list'), - AutoCommandDefinition(FileService.list_directories_and_files, - '[ShareContents]', 'contents'), - AutoCommandDefinition(FileService.create_share, 'Boolean', 'create'), - AutoCommandDefinition(FileService.delete_share, 'Boolean', 'delete'), - AutoCommandDefinition(FileService.generate_share_shared_access_signature, - 'SAS', 'generate-sas'), - AutoCommandDefinition(FileService.get_share_stats, 'ShareStats', 'stats'), - AutoCommandDefinition(FileService.get_share_properties, 'Properties', 'show'), - AutoCommandDefinition(FileService.set_share_properties, 'Properties', 'set') - - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage share metadata', None, _file_data_service_factory, - [ - AutoCommandDefinition(FileService.get_share_metadata, 'Metadata', 'show'), - AutoCommandDefinition(FileService.set_share_metadata, 'Metadata', 'set') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage share acl', None, _file_data_service_factory, - [ - AutoCommandDefinition(FileService.set_share_acl, '[StoredAccessPolicy]', 'set'), - AutoCommandDefinition(FileService.get_share_acl, 'StoredAccessPolicy', 'show'), - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -@command_table.command('storage share exists') -@command_table.description(L('Check if a file share exists.')) -@command_table.option(**PARAMETER_ALIASES['share_name']) -@command_table.option_set(STORAGE_DATA_CLIENT_ARGS) -def exist_share(args): - fsc = _file_data_service_factory(args) - return fsc.exists(share_name=args.get('share_name')) - -# DIRECTORY COMMANDS - -build_operation( - 'storage directory', None, _file_data_service_factory, - [ - AutoCommandDefinition(FileService.create_directory, 'Boolean', 'create'), - AutoCommandDefinition(FileService.delete_directory, 'Boolean', 'delete'), - AutoCommandDefinition(FileService.get_directory_properties, 'Properties', 'show') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage directory metadata', None, _file_data_service_factory, - [ - AutoCommandDefinition(FileService.get_directory_metadata, 'Metadata', 'show'), - AutoCommandDefinition(FileService.set_directory_metadata, 'Metadata', 'set') - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -@command_table.command('storage directory exists') -@command_table.description(L('Check if a directory exists.')) -@command_table.option(**PARAMETER_ALIASES['share_name']) -@command_table.option('--directory-name -d', help=L('the directory name'), required=True) -@command_table.option_set(STORAGE_DATA_CLIENT_ARGS) -def exist_directory(args): - fsc = _file_data_service_factory(args) - return fsc.exists(share_name=args.get('share_name'), - directory_name=args.get('directory_name')) - -# FILE COMMANDS - -FILE_PARAM_ALIASES = PARAMETER_ALIASES.copy() -FILE_PARAM_ALIASES.update({ - 'directory_name': { - 'name': '--directory-name -d', - 'required': False - } -}) - -build_operation( - 'storage file', None, _file_data_service_factory, - [ - AutoCommandDefinition(FileService.delete_file, 'Boolean', 'delete'), - AutoCommandDefinition(FileService.resize_file, 'Result', 'resize'), - AutoCommandDefinition(FileService.make_file_url, 'URL', 'url'), - AutoCommandDefinition(FileService.generate_file_shared_access_signature, - 'SAS', 'generate-sas'), - AutoCommandDefinition(FileService.get_file_properties, 'Properties', 'show'), - AutoCommandDefinition(FileService.set_file_properties, 'Properties', 'set') - ], command_table, FILE_PARAM_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage file metadata', None, _file_data_service_factory, - [ - AutoCommandDefinition(FileService.get_file_metadata, 'Metadata', 'show'), - AutoCommandDefinition(FileService.set_file_metadata, 'Metadata', 'set') - ], command_table, FILE_PARAM_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -build_operation( - 'storage file service-properties', None, _file_data_service_factory, - [ - AutoCommandDefinition(FileService.get_file_service_properties, 'ServiceProperties', 'show'), - AutoCommandDefinition(FileService.set_file_service_properties, 'ServiceProperties', 'set') - ], command_table, FILE_PARAM_ALIASES, STORAGE_DATA_CLIENT_ARGS) - -@command_table.command('storage file download') -@command_table.option(**PARAMETER_ALIASES['share_name']) -@command_table.option('--file-name -f', help=L('the file name'), required=True) -@command_table.option('--local-file-name', help=L('the path to the local file'), required=True) -@command_table.option('--directory-name -d', help=L('the directory name')) -@command_table.option_set(STORAGE_DATA_CLIENT_ARGS) -def storage_file_download(args): - fsc = _file_data_service_factory(args) - fsc.get_file_to_path(args.get('share_name'), - args.get('directory_name'), - args.get('file_name'), - args.get('local_file_name'), - progress_callback=_update_progress) - -@command_table.command('storage file exists') -@command_table.description(L('Check if a file exists.')) -@command_table.option(**PARAMETER_ALIASES['share_name']) -@command_table.option('--file-name -f', help=L('the file name to check'), required=True) -@command_table.option('--directory-name -d', help=L('subdirectory path to the file')) -@command_table.option_set(STORAGE_DATA_CLIENT_ARGS) -def exist_file(args): - fsc = _file_data_service_factory(args) - return fsc.exists(share_name=args.get('share_name'), - directory_name=args.get('directory_name'), - file_name=args.get('file_name')) - -@command_table.command('storage file upload') -@command_table.option(**PARAMETER_ALIASES['share_name']) -@command_table.option('--file-name -f', help=L('the destination file name'), required=True) -@command_table.option('--local-file-name', help=L('the file name to upload'), required=True) -@command_table.option('--directory-name -d', help=L('the destination directory to upload to')) -@command_table.option_set(STORAGE_DATA_CLIENT_ARGS) -def storage_file_upload(args): - fsc = _file_data_service_factory(args) - fsc.create_file_from_path(args.get('share_name'), - args.get('directory_name'), - args.get('file_name'), - args.get('local_file_name'), - progress_callback=_update_progress) - -build_operation( - 'storage file copy', None, _file_data_service_factory, - [ - AutoCommandDefinition(FileService.copy_file, 'CopyOperationPropeties', 'start'), - AutoCommandDefinition(FileService.abort_copy_file, None, 'cancel'), - ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) +command_table = generated_command_table +command_table.update(convenience_command_table) 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 new file mode 100644 index 00000000000..ba0648cec73 --- /dev/null +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/custom.py @@ -0,0 +1,244 @@ +from __future__ import print_function +from sys import stderr + +from azure.storage.blob import PublicAccess, BlockBlobService, AppendBlobService, PageBlobService +from azure.storage.file import FileService +from azure.storage import CloudStorageAccount +from azure.mgmt.storage import StorageManagementClient, StorageManagementClientConfiguration +from azure.mgmt.storage.models import AccountType +from azure.mgmt.storage.operations import StorageAccountsOperations + +from azure.cli.commands import CommandTable, LongRunningOperation +from azure.cli.commands._command_creation import get_mgmt_service_client, get_data_service_client +from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition +from azure.cli._locale import L + +from ._params import PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS +from ._validators import validate_key_value_pairs + + +def _update_progress(current, total): + if total: + message = 'Percent complete: %' + percent_done = current * 100 / total + message += '{: >5.1f}'.format(percent_done) + print('\b' * len(message) + message, end='', file=stderr) + stderr.flush() + if current == total: + print('', file=stderr) + +class ConvenienceStorageAccountCommands(object): + + def __init__(self, _): + pass + + def list(self, resource_group_name=None): + ''' List storage accounts. ''' + from azure.mgmt.storage.models import StorageAccount + from msrestazure.azure_active_directory import UserPassCredentials + scf = _storage_client_factory(None) + if resource_group_name: + accounts = scf.storage_accounts.list_by_resource_group(resource_group_name) + else: + accounts = scf.storage_accounts.list() + return list(accounts) + + _key_options = ['key1', 'key2'] + def renew_keys(self, resource_group_name, account_name, key=_key_options): + ''' Regenerate one or both keys for a storage account. + :param str key:Key to renew.''' + scf = _storage_client_factory(None) + for k in key if isinstance(key, list) else [key]: + result = scf.storage_accounts.regenerate_key( + resource_group_name=resource_group_name, + account_name=account_name, + key_name=k) + return result + + def usage(self): + ''' Show the current count and limit of the storage accounts under the subscription. ''' + scf = _storage_client_factory(None) + return next((x for x in scf.usage.list() if x.name.value == 'StorageAccounts'), None) + + def connection_string(self, resource_group_name, account_name, use_http='https'): + ''' Show the connection string for a storage account. + :param str use_http:use http as the default endpoint protocol ''' + scf = _storage_client_factory(None) + keys = scf.storage_accounts.list_keys(resource_group_name, account_name) + connection_string = 'DefaultEndpointsProtocol={};AccountName={};AccountKey={}'.format( + use_http, + account_name, + keys.key1) #pylint: disable=no-member + return {'ConnectionString':connection_string} + + # TODO: update this once enums are supported in commands first-class (task #115175885) + _storage_account_types = {'Standard_LRS': AccountType.standard_lrs, + 'Standard_ZRS': AccountType.standard_zrs, + 'Standard_GRS': AccountType.standard_grs, + 'Standard_RAGRS': AccountType.standard_ragrs, + 'Premium_LRS': AccountType.premium_lrs} + def create(self, resource_group_name, account_name, location, account_type, tags=None): + ''' Create a storage account. ''' + from azure.mgmt.storage.models import StorageAccountCreateParameters + scf = _storage_client_factory(None) + params = StorageAccountCreateParameters(location, account_type, tags) + op = LongRunningOperation('Creating storage account', 'Storage account created') + poller = scf.storage_accounts.create(resource_group_name, account_name, params) + return op(poller) + + def set(self, resource_group_name, account_name, + account_type=None, tags=None, custom_domain=None, subdomain=None): + ''' Update storage account property (only one at a time). + :param str custom_domain:the custom domain name + :param str subdomain:use indirect CNAME validation''' + from azure.mgmt.storage.models import StorageAccountUpdateParameters, CustomDomain + scf = _storage_client_factory(None) + params = StorageAccountUpdateParameters(tags, account_type, custom_domain) + return scf.storage_accounts.update(resource_group_name, account_name, params) + +class ConvenienceBlobServiceCommands(object): + + def __init__(self, _): + pass + + # TODO: update this once enums are supported in commands first-class (task #115175885) + _public_access_types = {'none': None, + 'blob': PublicAccess.Blob, + 'container': PublicAccess.Container} + @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) + def exists(self, container_name, snapshot=None, timeout=None): + '''Check if a storage container exists. + :param str snapshot:UTC datetime value which specifies a snapshot + ''' + bds = _blob_data_service_factory(args) + return bds.exists( + container_name=container_name, + snapshot=snapshot, + timeout=timeout) + + _lease_duration_values = {'min':15, 'max':60, 'infinite':-1} + _lease_duration_values_string = 'Between {} and {} seconds. ({} for infinite)'.format( + _lease_duration_values['min'], + _lease_duration_values['max'], + _lease_duration_values['infinite']) + + _blob_types = { + 'block': BlockBlobService, + 'page': PageBlobService, + 'append': AppendBlobService + } + @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) + def upload(self, container_name, blob_name, blob_type, upload_from, + container_public_access=None, content_type=None, content_disposition=None, + content_encoding=None, content_language=None, content_md5=None, + content_cache_control=None): # pylint: disable=too-many-args + '''Upload a blob to a container. + :param str blob_type:type of blob to upload + :param str upload_from:local path to upload from + ''' + from azure.storage.blob import ContentSettings + bds = _blob_data_service_factory(args) + content_settings = ContentSettings( + content_type=content_type, + content_disposition=content_disposition, + content_encoding=content_encoding, + content_language=content_language, + content_md5=content_md5, + cache_control=content_cache_control + ) + + def upload_append_blob(): + if not bds.exists(container_name, blob_name): + bds.create_blob( + container_name=container_name, + blob_name=blob_name, + content_settings=content_settings) + return bds.append_blob_from_path( + container_name=container_name, + blob_name=blob_name, + file_path=upload_from, + progress_callback=_update_progress + ) + + def upload_block_blob(): + return bds.create_blob_from_path( + container_name=container_name, + blob_name=blob_name, + file_path=upload_from, + progress_callback=_update_progress, + content_settings=content_settings + ) + + type_func = { + 'append': upload_append_blob, + 'block': upload_block_blob, + 'page': upload_block_blob # same implementation + } + return type_func[blob_type]() + + @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) + def download(self, container_name, blob_name, download_to): + ''' Download the specified blob. + :param str download_to:the file path to download to + ''' + bds = _blob_data_service_factory(args) + + # show dot indicator of download progress (one for every 10%) + bds.get_blob_to_path(container_name, blob_name, download_to, + progress_callback=_update_progress) + @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) + def exists(self, container_name, blob_name, snapshot=None, timeout=None): + ''' Check if a storage blob exists. ''' + bds = _blob_data_service_factory(args) + return bds.exists( + blob_name=blob_name, + container_name=container_name, + snapshot=snapshot, + timeout=timeout) + +class ConvenienceFileShareCommands(object): + + def __init__(self, _): + pass + + @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) + def share_exists(self, share_name): + ''' Check if a file share exists.''' + fds = _file_data_service_factory(args) + return fds.exists(share_name=share_name) + + @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) + def dir_exists(self, share_name, directory_name): + ''' Check if a share directory exists.''' + fds = _file_data_service_factory(args) + return fds.exists(share_name=share_name, directory_name=directory_name) + + + @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) + def download(self, share_name, file_name, local_file_name, directory_name=None): + ''' Download a file from a file share. + :param str file_name:the file name + :param str local_file_name:the path to the local file to download to''' + fds = _file_data_service_factory(args) + fds.get_file_to_path(share_name, directory_name, file_name, local_file_name, + progress_callback=_update_progress) + + @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) + def file_exists(self, share_name, directory_name, file_name): + ''' Check if a file exists at a specified path. + :param str file_name:the file name to check + :param str directory_name:subdirectory path to the file''' + fds = _file_data_service_factory(args) + return fds.exists(share_name=share_name, + directory_name=directory_name, + file_name=file_name) + + @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) + def upload(self, share_name, file_name, local_file_name, directory_name=None): + ''' Upload a file to a file share path. + :param str file_name:the destination file name + :param str local_file_name:the path and file name to upload + :param str directory_name:the destination directory to upload to''' + fds = _file_data_service_factory(args) + fds.create_file_from_path(share_name, directory_name, file_name, local_file_name, + progress_callback=_update_progress) diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py new file mode 100644 index 00000000000..0909e867d0d --- /dev/null +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py @@ -0,0 +1,225 @@ +command_table = CommandTable() + +# FACTORIES + +def _storage_client_factory(_): + return get_mgmt_service_client(StorageManagementClient, StorageManagementClientConfiguration) + +def _file_data_service_factory(args): + return get_data_service_client( + FileService, + args.pop('account_name', None), + args.pop('account_key', None), + connection_string=args.pop('connection_string', None), + sas_token=args.pop('sas_token', None)) + +def _blob_data_service_factory(args): + blob_type = args.get('type') + blob_service = blob_types.get(blob_type, BlockBlobService) + return get_data_service_client( + blob_service, + args.pop('account_name', None), + args.pop('account_key', None), + connection_string=args.pop('connection_string', None), + sas_token=args.pop('sas_token', None)) + +def _cloud_storage_account_service_factory(args): + account_name = args.pop('account_name', None) + account_key = args.pop('account_key', None) + sas_token = args.pop('sas_token', None) + connection_string = args.pop('connection_string', None) + if connection_string: + # CloudStorageAccount doesn't accept connection string directly, so we must parse + # out the account name and key manually + conn_dict = validate_key_value_pairs(connection_string) + account_name = conn_dict['AccountName'] + account_key = conn_dict['AccountKey'] + return CloudStorageAccount(account_name, account_key, sas_token) + +# STORAGE ACCOUNT COMMANDS + +build_operation( + 'storage account', 'storage_accounts', _storage_client_factory, + [ + AutoCommandDefinition(StorageAccountsOperations.check_name_availability, + 'Result', 'check-name'), + AutoCommandDefinition(StorageAccountsOperations.delete, None), + AutoCommandDefinition(StorageAccountsOperations.get_properties, 'StorageAccount', 'show') + ], command_table, PARAMETER_ALIASES) + +build_operation( + 'storage account', None, _cloud_storage_account_service_factory, + [ + AutoCommandDefinition(CloudStorageAccount.generate_shared_access_signature, + 'SAS', 'generate-sas') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage account keys', 'storage_accounts', _storage_client_factory, + [ + AutoCommandDefinition(StorageAccountsOperations.list_keys, '[StorageAccountKeys]', 'list') + ], command_table, PARAMETER_ALIASES) + +# BLOB SERVICE COMMANDS + +build_operation( + 'storage container', None, _blob_data_service_factory, + [ + AutoCommandDefinition(BlockBlobService.list_containers, '[Container]', 'list'), + AutoCommandDefinition(BlockBlobService.delete_container, 'Bool', 'delete'), + AutoCommandDefinition(BlockBlobService.get_container_properties, + 'ContainerProperties', 'show'), + AutoCommandDefinition(BlockBlobService.create_container, 'Bool', 'create'), + AutoCommandDefinition(BlockBlobService.generate_container_shared_access_signature, + 'SAS', 'generate-sas') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage container acl', None, _blob_data_service_factory, + [ + AutoCommandDefinition(BlockBlobService.set_container_acl, 'StoredAccessPolicy', 'set'), + AutoCommandDefinition(BlockBlobService.get_container_acl, '[StoredAccessPolicy]', 'show'), + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage container metadata', None, _blob_data_service_factory, + [ + AutoCommandDefinition(BlockBlobService.set_container_metadata, 'Properties', 'set'), + AutoCommandDefinition(BlockBlobService.get_container_metadata, 'Metadata', 'show'), + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage container lease', None, _blob_data_service_factory, + [ + AutoCommandDefinition(BlockBlobService.acquire_container_lease, 'LeaseID', 'acquire'), + AutoCommandDefinition(BlockBlobService.renew_container_lease, 'LeaseID', 'renew'), + AutoCommandDefinition(BlockBlobService.release_container_lease, None, 'release'), + AutoCommandDefinition(BlockBlobService.change_container_lease, None, 'change'), + AutoCommandDefinition(BlockBlobService.break_container_lease, 'Int', 'break') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage blob', None, _blob_data_service_factory, + [ + AutoCommandDefinition(BlockBlobService.list_blobs, '[Blob]', 'list'), + AutoCommandDefinition(BlockBlobService.delete_blob, None, 'delete'), + AutoCommandDefinition(BlockBlobService.generate_blob_shared_access_signature, + 'SAS', 'generate-sas'), + AutoCommandDefinition(BlockBlobService.make_blob_url, 'URL', 'url'), + AutoCommandDefinition(BlockBlobService.snapshot_blob, 'SnapshotProperties', 'snapshot'), + AutoCommandDefinition(BlockBlobService.get_blob_properties, 'Properties', 'show'), + AutoCommandDefinition(BlockBlobService.set_blob_properties, 'Propeties', 'set') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage blob service-properties', None, _blob_data_service_factory, + [ + AutoCommandDefinition(BlockBlobService.get_blob_service_properties, + '[ServiceProperties]', 'show'), + AutoCommandDefinition(BlockBlobService.set_blob_service_properties, + 'ServiceProperties', 'set') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage blob metadata', None, _blob_data_service_factory, + [ + AutoCommandDefinition(BlockBlobService.get_blob_metadata, 'Metadata', 'show'), + AutoCommandDefinition(BlockBlobService.set_blob_metadata, 'Metadata', 'set') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage blob lease', None, _blob_data_service_factory, + [ + AutoCommandDefinition(BlockBlobService.acquire_blob_lease, 'LeaseID', 'acquire'), + AutoCommandDefinition(BlockBlobService.renew_blob_lease, 'LeaseID', 'renew'), + AutoCommandDefinition(BlockBlobService.release_blob_lease, None, 'release'), + AutoCommandDefinition(BlockBlobService.change_blob_lease, None, 'change'), + AutoCommandDefinition(BlockBlobService.break_blob_lease, 'Int', 'break') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage blob copy', None, _blob_data_service_factory, + [ + AutoCommandDefinition(BlockBlobService.copy_blob, 'CopyOperationProperties', 'start'), + AutoCommandDefinition(BlockBlobService.abort_copy_blob, None, 'cancel'), + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +# FILE SERVICE COMMANDS + +build_operation( + 'storage share', None, _file_data_service_factory, + [ + AutoCommandDefinition(FileService.list_shares, '[Share]', 'list'), + AutoCommandDefinition(FileService.list_directories_and_files, + '[ShareContents]', 'contents'), + AutoCommandDefinition(FileService.create_share, 'Boolean', 'create'), + AutoCommandDefinition(FileService.delete_share, 'Boolean', 'delete'), + AutoCommandDefinition(FileService.generate_share_shared_access_signature, + 'SAS', 'generate-sas'), + AutoCommandDefinition(FileService.get_share_stats, 'ShareStats', 'stats'), + AutoCommandDefinition(FileService.get_share_properties, 'Properties', 'show'), + AutoCommandDefinition(FileService.set_share_properties, 'Properties', 'set') + + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage share metadata', None, _file_data_service_factory, + [ + AutoCommandDefinition(FileService.get_share_metadata, 'Metadata', 'show'), + AutoCommandDefinition(FileService.set_share_metadata, 'Metadata', 'set') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage share acl', None, _file_data_service_factory, + [ + AutoCommandDefinition(FileService.set_share_acl, '[StoredAccessPolicy]', 'set'), + AutoCommandDefinition(FileService.get_share_acl, 'StoredAccessPolicy', 'show'), + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage directory', None, _file_data_service_factory, + [ + AutoCommandDefinition(FileService.create_directory, 'Boolean', 'create'), + AutoCommandDefinition(FileService.delete_directory, 'Boolean', 'delete'), + AutoCommandDefinition(FileService.get_directory_properties, 'Properties', 'show') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage directory metadata', None, _file_data_service_factory, + [ + AutoCommandDefinition(FileService.get_directory_metadata, 'Metadata', 'show'), + AutoCommandDefinition(FileService.set_directory_metadata, 'Metadata', 'set') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage file', None, _file_data_service_factory, + [ + AutoCommandDefinition(FileService.delete_file, 'Boolean', 'delete'), + AutoCommandDefinition(FileService.resize_file, 'Result', 'resize'), + AutoCommandDefinition(FileService.make_file_url, 'URL', 'url'), + AutoCommandDefinition(FileService.generate_file_shared_access_signature, + 'SAS', 'generate-sas'), + AutoCommandDefinition(FileService.get_file_properties, 'Properties', 'show'), + AutoCommandDefinition(FileService.set_file_properties, 'Properties', 'set') + ], command_table, FILE_PARAM_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage file metadata', None, _file_data_service_factory, + [ + AutoCommandDefinition(FileService.get_file_metadata, 'Metadata', 'show'), + AutoCommandDefinition(FileService.set_file_metadata, 'Metadata', 'set') + ], command_table, FILE_PARAM_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage file service-properties', None, _file_data_service_factory, + [ + AutoCommandDefinition(FileService.get_file_service_properties, 'ServiceProperties', 'show'), + AutoCommandDefinition(FileService.set_file_service_properties, 'ServiceProperties', 'set') + ], command_table, FILE_PARAM_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage file copy', None, _file_data_service_factory, + [ + AutoCommandDefinition(FileService.copy_file, 'CopyOperationPropeties', 'start'), + AutoCommandDefinition(FileService.abort_copy_file, None, 'cancel'), + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) From 9b2caab1bfe6c3f07d8ada223a716a6751d5ed64 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Wed, 4 May 2016 17:04:35 -0700 Subject: [PATCH 02/27] Much closer to completion! --- azure-cli.pyproj | 9 +- src/azure/cli/commands/_auto_command.py | 13 +- src/azure/cli/main.py | 6 +- src/azure/cli/utils/command_test_script.py | 2 +- .../cli/command_modules/network/__init__.py | 4 +- .../cli/command_modules/storage/_params.py | 105 +- .../cli/command_modules/storage/custom.py | 159 +-- .../cli/command_modules/storage/generated.py | 166 ++- .../storage/tests/command_specs.py | 2 +- .../tests/recordings/expected_results.res | 5 +- .../recordings/test_storage_account.yaml | 106 +- .../test_storage_account_delete.yaml | 8 +- .../tests/recordings/test_storage_blob.yaml | 1044 ++--------------- .../tests/recordings/test_storage_file.yaml | 458 ++++---- .../azure/cli/command_modules/vm/_params.py | 9 + .../azure/cli/command_modules/vm/custom.py | 16 +- .../azure/cli/command_modules/vm/generated.py | 9 +- 17 files changed, 660 insertions(+), 1461 deletions(-) diff --git a/azure-cli.pyproj b/azure-cli.pyproj index 131d0a662ba..911e9d3c8b7 100644 --- a/azure-cli.pyproj +++ b/azure-cli.pyproj @@ -59,6 +59,12 @@ Code + + Code + + + Code + @@ -161,9 +167,6 @@ Code - - - diff --git a/src/azure/cli/commands/_auto_command.py b/src/azure/cli/commands/_auto_command.py index 159c618d74a..320be63a3bf 100644 --- a/src/azure/cli/commands/_auto_command.py +++ b/src/azure/cli/commands/_auto_command.py @@ -7,7 +7,7 @@ from ..commands import COMMON_PARAMETERS EXCLUDED_PARAMS = frozenset(['self', 'raw', 'custom_headers', 'operation_config', - 'content_version']) + 'content_version', 'kwargs']) class AutoCommandDefinition(object): #pylint: disable=too-few-public-methods @@ -34,9 +34,14 @@ def _get_member(obj, path): pass return obj -def _make_func(client_factory, member_path, return_type_or_func, unbound_func): +def _make_func(client_factory, member_path, return_type_or_func, unbound_func, extra_parameters): def call_client(args): - client = client_factory(args) + client = client_factory(**args) + for p in extra_parameters or []: + param_name = p['name'].split()[0] + param_name = re.sub('--', '', param_name) + param_name = re.sub('-', '_', param_name) + args.pop(param_name) ops_instance = _get_member(client, member_path) try: @@ -98,7 +103,7 @@ def build_operation(command_name, for op in operations: - func = _make_func(client_type, member_path, op.return_type, op.operation) + func = _make_func(client_type, member_path, op.return_type, op.operation, extra_parameters) args = [] try: diff --git a/src/azure/cli/main.py b/src/azure/cli/main.py index 967894f7033..150cc716cc2 100644 --- a/src/azure/cli/main.py +++ b/src/azure/cli/main.py @@ -48,7 +48,7 @@ def main(args, file=sys.stdout): #pylint: disable=redefined-builtin return ex.args[1] if len(ex.args) >= 2 else -1 except KeyboardInterrupt: return -1 - except Exception as ex: # pylint: disable=broad-except - logger.error(ex) - return -1 + #except Exception as ex: # pylint: disable=broad-except + # logger.error(ex) + # return -1 diff --git a/src/azure/cli/utils/command_test_script.py b/src/azure/cli/utils/command_test_script.py index 42894c6ef1b..83da770d2e6 100644 --- a/src/azure/cli/utils/command_test_script.py +++ b/src/azure/cli/utils/command_test_script.py @@ -74,7 +74,7 @@ def _check_json(source, checks): _check_json(source[check], checks[check]) else: assert source[check] == checks[check] - + print('RUNNING: {}'.format(command)) output = StringIO() command += ' -o json' cli(command.split(), file=output) diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py index c15bffaa1b2..b747bcb0ddc 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py @@ -33,7 +33,7 @@ command_table = CommandTable() -def _network_client_factory(_): +def _network_client_factory(**_): return get_mgmt_service_client(NetworkManagementClient, NetworkManagementClientConfiguration) _VNET_PARAM_NAME = '--vnet-name' @@ -384,6 +384,6 @@ def create_update_subnet(args): address_prefix=address_prefix) op = LongRunningOperation('Creating subnet', 'Subnet created') - smc = _network_client_factory(args) + smc = _network_client_factory(**args) poller = smc.subnets.create_or_update(resource_group, vnet, name, subnet_settings) return op(poller) 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 481ed77c43f..98ca8a8fdca 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 @@ -1,13 +1,57 @@ from os import environ from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter) +from azure.cli.commands._command_creation import get_mgmt_service_client, get_data_service_client from azure.cli._locale import L +from azure.mgmt.storage import StorageManagementClient, StorageManagementClientConfiguration +from azure.mgmt.storage.models import AccountType + +from azure.storage.blob import PublicAccess, BlockBlobService, PageBlobService, AppendBlobService +from azure.storage.file import FileService +from azure.storage import CloudStorageAccount + from ._validators import ( validate_container_permission, validate_datetime, validate_datetime_as_string, validate_id, validate_ip_range, validate_key_value_pairs, validate_resource_types, validate_services, validate_tags, validate_lease_duration, validate_quota) +# FACTORIES + +def storage_client_factory(**kwargs): + return get_mgmt_service_client(StorageManagementClient, StorageManagementClientConfiguration) + +def file_data_service_factory(**kwargs): + return get_data_service_client( + FileService, + kwargs.pop('account_name', None), + kwargs.pop('account_key', None), + connection_string=kwargs.pop('connection_string', None), + sas_token=kwargs.pop('sas_token', None)) + +def blob_data_service_factory(**kwargs): + blob_type = kwargs.get('type') + blob_service = blob_types.get(blob_type, BlockBlobService) + return get_data_service_client( + blob_service, + kwargs.pop('account_name', None), + kwargs.pop('account_key', None), + connection_string=kwargs.pop('connection_string', None), + sas_token=kwargs.pop('sas_token', None)) + +def cloud_storage_account_service_factory(**kwargs): + account_name = kwargs.pop('account_name', None) + account_key = kwargs.pop('account_key', None) + sas_token = kwargs.pop('sas_token', None) + connection_string = kwargs.pop('connection_string', None) + if connection_string: + # CloudStorageAccount doesn't accept connection string directly, so we must parse + # out the account name and key manually + conn_dict = validate_key_value_pairs(connection_string) + account_name = conn_dict['AccountName'] + account_key = conn_dict['AccountKey'] + return CloudStorageAccount(account_name, account_key, sas_token) + # HELPER METHODS def get_account_name(string): @@ -22,6 +66,28 @@ def get_connection_string(string): def get_sas_token(string): return string if string != 'query' else environ.get('AZURE_SAS_TOKEN') +# PARAMETER CHOICE LISTS + +storage_account_key_options = ['key1', 'key2'] + +# TODO: update this once enums are supported in commands first-class (task #115175885) +storage_account_types = {'Standard_LRS': AccountType.standard_lrs, + 'Standard_ZRS': AccountType.standard_zrs, + 'Standard_GRS': AccountType.standard_grs, + 'Standard_RAGRS': AccountType.standard_ragrs, + 'Premium_LRS': AccountType.premium_lrs} + +# TODO: update this once enums are supported in commands first-class (task #115175885) +public_access_types = {'none': None, 'blob': PublicAccess.Blob, 'container': PublicAccess.Container} + +lease_duration_values = {'min':15, 'max':60, 'infinite':-1} +lease_duration_values_string = 'Between {} and {} seconds. ({} for infinite)'.format( + lease_duration_values['min'], + lease_duration_values['max'], + lease_duration_values['infinite']) + +blob_types = {'block': BlockBlobService, 'page': PageBlobService, 'append': AppendBlobService} + # BASIC PARAMETER CONFIGURATION PARAMETER_ALIASES = GLOBAL_COMMON_PARAMETERS.copy() @@ -29,45 +95,35 @@ def get_sas_token(string): 'account_key': { 'name': '--account-key -k', 'help': L('the storage account key'), - # While account key *may* actually be required if the environment variable hasn't been - # specified, it is only required unless the connection string has been specified - 'required': False, 'type': get_account_key, 'default': 'query' }, 'account_name': { 'name': '--account-name -n', 'help': L('the storage account name'), - # While account name *may* actually be required if the environment variable hasn't been - # specified, it is only required unless the connection string has been specified - 'required': False, 'type': get_account_name, 'default': 'query' }, - 'account_name_required': { - # this is used only to obtain the connection string. Thus, the env variable default - # does not apply and this is a required parameter - 'name': '--account-name -n', - 'help': L('the storage account name'), - 'required': True + 'account_type': { + 'name': '--account-type', + 'choices': storage_account_types }, 'blob_name': { 'name': '--blob-name -b', 'help': L('the name of the blob'), - 'required': True + }, + 'blob_type': { + 'name': '--blob-type', + 'choices': blob_types.keys(), + 'type': lambda x: blob_types[x] }, 'container_name': { 'name': '--container-name -c', - 'required': True }, 'connection_string': { 'name': '--connection-string', 'help': L('the storage connection string'), - # You can either specify connection string or name/key. There is no convenient way - # to express this kind of relationship in argparse... - # TODO: Move to exclusive group 'type': get_connection_string, - 'required': False, 'default': 'query' }, 'directory_name': { @@ -82,7 +138,6 @@ def get_sas_token(string): 'name': '--if-modified-since', 'help': L('alter only if modified since supplied UTC datetime (Y-m-d\'T\'H:M\'Z\')'), 'type': validate_datetime, - 'required': False, }, 'id': { 'name': '--id', @@ -93,7 +148,6 @@ def get_sas_token(string): 'name': '--if-unmodified-since', 'help': L('alter only if unmodified since supplied UTC datetime (Y-m-d\'T\'H:M\'Z\')'), 'type': validate_datetime, - 'required': False, }, 'ip': { 'name': '--ip', @@ -163,7 +217,6 @@ def get_sas_token(string): 'share_name': { 'name': '--share-name -s', 'help': L('the name of the file share'), - 'required': True, }, 'signed_identifiers': { 'name': '--signed-identifiers', @@ -180,15 +233,19 @@ def get_sas_token(string): 'name': '--tags', 'metavar': 'TAGS', 'help': L('individual and/or key/value pair tags in "a=b;c" format'), - 'required': False, 'type': validate_tags }, 'timeout': { 'name': '--timeout', 'help': L('timeout in seconds'), - 'required': False, 'type': int - } + }, + 'use_http': { + 'name': '--use-http', + 'help': L('specifies that http should be the default endpoint protocol'), + 'action': 'store_const', + 'const': 'http' + }, }) # SUPPLEMENTAL (EXTRA) PARAMETER SETS 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 ba0648cec73..ddb181f4bf2 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 @@ -1,21 +1,13 @@ + # pylint: disable=no-self-use,too-many-arguments + from __future__ import print_function from sys import stderr -from azure.storage.blob import PublicAccess, BlockBlobService, AppendBlobService, PageBlobService -from azure.storage.file import FileService -from azure.storage import CloudStorageAccount -from azure.mgmt.storage import StorageManagementClient, StorageManagementClientConfiguration -from azure.mgmt.storage.models import AccountType -from azure.mgmt.storage.operations import StorageAccountsOperations - from azure.cli.commands import CommandTable, LongRunningOperation -from azure.cli.commands._command_creation import get_mgmt_service_client, get_data_service_client -from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition -from azure.cli._locale import L -from ._params import PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS -from ._validators import validate_key_value_pairs +from ._params import storage_client_factory, blob_data_service_factory, file_data_service_factory +command_table = CommandTable() def _update_progress(current, total): if total: @@ -27,43 +19,45 @@ def _update_progress(current, total): if current == total: print('', file=stderr) +# CUSTOM METHODS + class ConvenienceStorageAccountCommands(object): - def __init__(self, _): + def __init__(self, **_): pass def list(self, resource_group_name=None): ''' List storage accounts. ''' from azure.mgmt.storage.models import StorageAccount from msrestazure.azure_active_directory import UserPassCredentials - scf = _storage_client_factory(None) + scf = storage_client_factory() if resource_group_name: accounts = scf.storage_accounts.list_by_resource_group(resource_group_name) else: accounts = scf.storage_accounts.list() return list(accounts) - _key_options = ['key1', 'key2'] - def renew_keys(self, resource_group_name, account_name, key=_key_options): + def renew_keys(self, resource_group_name, account_name, key=None): ''' Regenerate one or both keys for a storage account. :param str key:Key to renew.''' - scf = _storage_client_factory(None) - for k in key if isinstance(key, list) else [key]: + from azure.cli.command_modules.storage._params import storage_account_key_options + scf = storage_client_factory() + for k in [key] if key else storage_account_key_options: result = scf.storage_accounts.regenerate_key( resource_group_name=resource_group_name, account_name=account_name, key_name=k) return result - def usage(self): + def show_usage(self): ''' Show the current count and limit of the storage accounts under the subscription. ''' - scf = _storage_client_factory(None) + scf = storage_client_factory() return next((x for x in scf.usage.list() if x.name.value == 'StorageAccounts'), None) def connection_string(self, resource_group_name, account_name, use_http='https'): ''' Show the connection string for a storage account. :param str use_http:use http as the default endpoint protocol ''' - scf = _storage_client_factory(None) + scf = storage_client_factory() keys = scf.storage_accounts.list_keys(resource_group_name, account_name) connection_string = 'DefaultEndpointsProtocol={};AccountName={};AccountKey={}'.format( use_http, @@ -71,73 +65,48 @@ def connection_string(self, resource_group_name, account_name, use_http='https') keys.key1) #pylint: disable=no-member return {'ConnectionString':connection_string} - # TODO: update this once enums are supported in commands first-class (task #115175885) - _storage_account_types = {'Standard_LRS': AccountType.standard_lrs, - 'Standard_ZRS': AccountType.standard_zrs, - 'Standard_GRS': AccountType.standard_grs, - 'Standard_RAGRS': AccountType.standard_ragrs, - 'Premium_LRS': AccountType.premium_lrs} def create(self, resource_group_name, account_name, location, account_type, tags=None): - ''' Create a storage account. ''' + ''' Create a storage account. ''' from azure.mgmt.storage.models import StorageAccountCreateParameters - scf = _storage_client_factory(None) + scf = storage_client_factory() params = StorageAccountCreateParameters(location, account_type, tags) op = LongRunningOperation('Creating storage account', 'Storage account created') poller = scf.storage_accounts.create(resource_group_name, account_name, params) return op(poller) def set(self, resource_group_name, account_name, - account_type=None, tags=None, custom_domain=None, subdomain=None): + account_type=None, tags=None, custom_domain=None): ''' Update storage account property (only one at a time). :param str custom_domain:the custom domain name - :param str subdomain:use indirect CNAME validation''' + ''' from azure.mgmt.storage.models import StorageAccountUpdateParameters, CustomDomain - scf = _storage_client_factory(None) + scf = storage_client_factory() params = StorageAccountUpdateParameters(tags, account_type, custom_domain) return scf.storage_accounts.update(resource_group_name, account_name, params) class ConvenienceBlobServiceCommands(object): - def __init__(self, _): - pass + def __init__(self, **kwargs): + self.client = blob_data_service_factory(**kwargs) - # TODO: update this once enums are supported in commands first-class (task #115175885) - _public_access_types = {'none': None, - 'blob': PublicAccess.Blob, - 'container': PublicAccess.Container} - @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) - def exists(self, container_name, snapshot=None, timeout=None): + def container_exists(self, container_name, snapshot=None, timeout=None, **kwargs): '''Check if a storage container exists. :param str snapshot:UTC datetime value which specifies a snapshot ''' - bds = _blob_data_service_factory(args) - return bds.exists( + return self.client.exists( container_name=container_name, snapshot=snapshot, timeout=timeout) - _lease_duration_values = {'min':15, 'max':60, 'infinite':-1} - _lease_duration_values_string = 'Between {} and {} seconds. ({} for infinite)'.format( - _lease_duration_values['min'], - _lease_duration_values['max'], - _lease_duration_values['infinite']) - - _blob_types = { - 'block': BlockBlobService, - 'page': PageBlobService, - 'append': AppendBlobService - } - @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) def upload(self, container_name, blob_name, blob_type, upload_from, - container_public_access=None, content_type=None, content_disposition=None, + content_type=None, content_disposition=None, content_encoding=None, content_language=None, content_md5=None, - content_cache_control=None): # pylint: disable=too-many-args + content_cache_control=None, **kwargs): '''Upload a blob to a container. :param str blob_type:type of blob to upload :param str upload_from:local path to upload from ''' from azure.storage.blob import ContentSettings - bds = _blob_data_service_factory(args) content_settings = ContentSettings( content_type=content_type, content_disposition=content_disposition, @@ -148,12 +117,12 @@ def upload(self, container_name, blob_name, blob_type, upload_from, ) def upload_append_blob(): - if not bds.exists(container_name, blob_name): - bds.create_blob( + if not self.client.exists(container_name, blob_name): + self.client.create_blob( container_name=container_name, blob_name=blob_name, content_settings=content_settings) - return bds.append_blob_from_path( + return self.client.append_blob_from_path( container_name=container_name, blob_name=blob_name, file_path=upload_from, @@ -161,7 +130,7 @@ def upload_append_blob(): ) def upload_block_blob(): - return bds.create_blob_from_path( + return self.client.create_blob_from_path( container_name=container_name, blob_name=blob_name, file_path=upload_from, @@ -176,69 +145,55 @@ def upload_block_blob(): } return type_func[blob_type]() - @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) - def download(self, container_name, blob_name, download_to): + def download(self, container_name, blob_name, download_to, **kwargs): ''' Download the specified blob. :param str download_to:the file path to download to ''' - bds = _blob_data_service_factory(args) - # show dot indicator of download progress (one for every 10%) - bds.get_blob_to_path(container_name, blob_name, download_to, - progress_callback=_update_progress) - @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) - def exists(self, container_name, blob_name, snapshot=None, timeout=None): - ''' Check if a storage blob exists. ''' - bds = _blob_data_service_factory(args) - return bds.exists( + self.client.get_blob_to_path(container_name, blob_name, download_to, + progress_callback=_update_progress) + + def blob_exists(self, container_name, blob_name, snapshot=None, timeout=None, **kwargs): + ''' Check if a storage blob exists. ''' + return self.client.exists( blob_name=blob_name, container_name=container_name, snapshot=snapshot, timeout=timeout) -class ConvenienceFileShareCommands(object): +class ConvenienceFileServiceCommands(object): - def __init__(self, _): - pass + def __init__(self, **kwargs): + self.client = file_data_service_factory(**kwargs) - @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) - def share_exists(self, share_name): + def share_exists(self, share_name, **kwargs): ''' Check if a file share exists.''' - fds = _file_data_service_factory(args) - return fds.exists(share_name=share_name) + return self.client.exists(share_name=share_name) - @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) - def dir_exists(self, share_name, directory_name): + def dir_exists(self, share_name, directory_name, **kwargs): ''' Check if a share directory exists.''' - fds = _file_data_service_factory(args) - return fds.exists(share_name=share_name, directory_name=directory_name) - + return self.client.exists(share_name=share_name, directory_name=directory_name) - @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) - def download(self, share_name, file_name, local_file_name, directory_name=None): + def download(self, share_name, file_name, local_file_name, directory_name=None, **kwargs): ''' Download a file from a file share. :param str file_name:the file name :param str local_file_name:the path to the local file to download to''' - fds = _file_data_service_factory(args) - fds.get_file_to_path(share_name, directory_name, file_name, local_file_name, - progress_callback=_update_progress) + self.client.get_file_to_path(share_name, directory_name, file_name, local_file_name, + progress_callback=_update_progress) - @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) - def file_exists(self, share_name, directory_name, file_name): + def file_exists(self, share_name, file_name, directory_name=None, **kwargs): ''' Check if a file exists at a specified path. :param str file_name:the file name to check - :param str directory_name:subdirectory path to the file''' - fds = _file_data_service_factory(args) - return fds.exists(share_name=share_name, - directory_name=directory_name, - file_name=file_name) - - @command_table.option_set(STORAGE_DATA_CLIENT_ARGS) - def upload(self, share_name, file_name, local_file_name, directory_name=None): + :param str directory_name:subdirectory path to the file + ''' + return self.client.exists(share_name=share_name, + directory_name=directory_name, + file_name=file_name) + + def upload(self, share_name, file_name, local_file_name, directory_name=None, **kwargs): ''' Upload a file to a file share path. :param str file_name:the destination file name :param str local_file_name:the path and file name to upload :param str directory_name:the destination directory to upload to''' - fds = _file_data_service_factory(args) - fds.create_file_from_path(share_name, directory_name, file_name, local_file_name, - progress_callback=_update_progress) + self.client.create_file_from_path(share_name, directory_name, file_name, local_file_name, + progress_callback=_update_progress) diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py index 0909e867d0d..71c51fb2cbb 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py @@ -1,45 +1,32 @@ +from __future__ import print_function + +from azure.cli.commands import CommandTable, LongRunningOperation +from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition + +from azure.mgmt.storage.operations import StorageAccountsOperations +from azure.storage.blob import BlockBlobService +from azure.storage.file import FileService +from azure.storage import CloudStorageAccount + +from ._params import (PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS, storage_client_factory, + blob_data_service_factory, file_data_service_factory, + cloud_storage_account_service_factory) +from .custom import (ConvenienceStorageAccountCommands, ConvenienceBlobServiceCommands, + ConvenienceFileServiceCommands) + command_table = CommandTable() -# FACTORIES - -def _storage_client_factory(_): - return get_mgmt_service_client(StorageManagementClient, StorageManagementClientConfiguration) - -def _file_data_service_factory(args): - return get_data_service_client( - FileService, - args.pop('account_name', None), - args.pop('account_key', None), - connection_string=args.pop('connection_string', None), - sas_token=args.pop('sas_token', None)) - -def _blob_data_service_factory(args): - blob_type = args.get('type') - blob_service = blob_types.get(blob_type, BlockBlobService) - return get_data_service_client( - blob_service, - args.pop('account_name', None), - args.pop('account_key', None), - connection_string=args.pop('connection_string', None), - sas_token=args.pop('sas_token', None)) - -def _cloud_storage_account_service_factory(args): - account_name = args.pop('account_name', None) - account_key = args.pop('account_key', None) - sas_token = args.pop('sas_token', None) - connection_string = args.pop('connection_string', None) - if connection_string: - # CloudStorageAccount doesn't accept connection string directly, so we must parse - # out the account name and key manually - conn_dict = validate_key_value_pairs(connection_string) - account_name = conn_dict['AccountName'] - account_key = conn_dict['AccountKey'] - return CloudStorageAccount(account_name, account_key, sas_token) +# HELPER METHODS + +def _patch_aliases(alias_items): + aliases = PARAMETER_ALIASES.copy() + aliases.update(alias_items) + return aliases # STORAGE ACCOUNT COMMANDS build_operation( - 'storage account', 'storage_accounts', _storage_client_factory, + 'storage account', 'storage_accounts', storage_client_factory, [ AutoCommandDefinition(StorageAccountsOperations.check_name_availability, 'Result', 'check-name'), @@ -48,22 +35,42 @@ def _cloud_storage_account_service_factory(args): ], command_table, PARAMETER_ALIASES) build_operation( - 'storage account', None, _cloud_storage_account_service_factory, + 'storage account', None, cloud_storage_account_service_factory, [ AutoCommandDefinition(CloudStorageAccount.generate_shared_access_signature, 'SAS', 'generate-sas') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage account keys', 'storage_accounts', _storage_client_factory, + 'storage account', None, ConvenienceStorageAccountCommands, + [ + AutoCommandDefinition( + ConvenienceStorageAccountCommands.create, + LongRunningOperation('Creating storage account', 'Storage account created')), + AutoCommandDefinition(ConvenienceStorageAccountCommands.list, '[StorageAccount]'), + AutoCommandDefinition(ConvenienceStorageAccountCommands.show_usage, 'Object'), + AutoCommandDefinition(ConvenienceStorageAccountCommands.set, 'Object'), + AutoCommandDefinition(ConvenienceStorageAccountCommands.connection_string, 'Object') + ], command_table, _patch_aliases({ + 'account_type': {'name': '--type'} + })) + +build_operation( + 'storage account keys', 'storage_accounts', storage_client_factory, [ AutoCommandDefinition(StorageAccountsOperations.list_keys, '[StorageAccountKeys]', 'list') ], command_table, PARAMETER_ALIASES) +build_operation( + 'storage account keys', None, ConvenienceStorageAccountCommands, + [ + AutoCommandDefinition(ConvenienceStorageAccountCommands.renew_keys, 'Object', 'renew') + ], command_table, PARAMETER_ALIASES) + # BLOB SERVICE COMMANDS build_operation( - 'storage container', None, _blob_data_service_factory, + 'storage container', None, blob_data_service_factory, [ AutoCommandDefinition(BlockBlobService.list_containers, '[Container]', 'list'), AutoCommandDefinition(BlockBlobService.delete_container, 'Bool', 'delete'), @@ -75,21 +82,27 @@ def _cloud_storage_account_service_factory(args): ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage container acl', None, _blob_data_service_factory, + 'storage container', None, ConvenienceBlobServiceCommands, + [ + AutoCommandDefinition(ConvenienceBlobServiceCommands.container_exists, 'Bool', 'exists') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage container acl', None, blob_data_service_factory, [ AutoCommandDefinition(BlockBlobService.set_container_acl, 'StoredAccessPolicy', 'set'), AutoCommandDefinition(BlockBlobService.get_container_acl, '[StoredAccessPolicy]', 'show'), ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage container metadata', None, _blob_data_service_factory, + 'storage container metadata', None, blob_data_service_factory, [ AutoCommandDefinition(BlockBlobService.set_container_metadata, 'Properties', 'set'), AutoCommandDefinition(BlockBlobService.get_container_metadata, 'Metadata', 'show'), ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage container lease', None, _blob_data_service_factory, + 'storage container lease', None, blob_data_service_factory, [ AutoCommandDefinition(BlockBlobService.acquire_container_lease, 'LeaseID', 'acquire'), AutoCommandDefinition(BlockBlobService.renew_container_lease, 'LeaseID', 'renew'), @@ -99,7 +112,7 @@ def _cloud_storage_account_service_factory(args): ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage blob', None, _blob_data_service_factory, + 'storage blob', None, blob_data_service_factory, [ AutoCommandDefinition(BlockBlobService.list_blobs, '[Blob]', 'list'), AutoCommandDefinition(BlockBlobService.delete_blob, None, 'delete'), @@ -112,7 +125,17 @@ def _cloud_storage_account_service_factory(args): ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage blob service-properties', None, _blob_data_service_factory, + 'storage blob', None, ConvenienceBlobServiceCommands, + [ + AutoCommandDefinition(ConvenienceBlobServiceCommands.blob_exists, 'Bool', 'exists'), + AutoCommandDefinition(ConvenienceBlobServiceCommands.download, 'Object'), + AutoCommandDefinition(ConvenienceBlobServiceCommands.upload, 'Object') + ], command_table, _patch_aliases({ + 'blob_type': {'name': '--type'} + }), STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage blob service-properties', None, blob_data_service_factory, [ AutoCommandDefinition(BlockBlobService.get_blob_service_properties, '[ServiceProperties]', 'show'), @@ -121,14 +144,14 @@ def _cloud_storage_account_service_factory(args): ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage blob metadata', None, _blob_data_service_factory, + 'storage blob metadata', None, blob_data_service_factory, [ AutoCommandDefinition(BlockBlobService.get_blob_metadata, 'Metadata', 'show'), AutoCommandDefinition(BlockBlobService.set_blob_metadata, 'Metadata', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage blob lease', None, _blob_data_service_factory, + 'storage blob lease', None, blob_data_service_factory, [ AutoCommandDefinition(BlockBlobService.acquire_blob_lease, 'LeaseID', 'acquire'), AutoCommandDefinition(BlockBlobService.renew_blob_lease, 'LeaseID', 'renew'), @@ -138,7 +161,7 @@ def _cloud_storage_account_service_factory(args): ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage blob copy', None, _blob_data_service_factory, + 'storage blob copy', None, blob_data_service_factory, [ AutoCommandDefinition(BlockBlobService.copy_blob, 'CopyOperationProperties', 'start'), AutoCommandDefinition(BlockBlobService.abort_copy_blob, None, 'cancel'), @@ -147,7 +170,7 @@ def _cloud_storage_account_service_factory(args): # FILE SERVICE COMMANDS build_operation( - 'storage share', None, _file_data_service_factory, + 'storage share', None, file_data_service_factory, [ AutoCommandDefinition(FileService.list_shares, '[Share]', 'list'), AutoCommandDefinition(FileService.list_directories_and_files, @@ -163,21 +186,27 @@ def _cloud_storage_account_service_factory(args): ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage share metadata', None, _file_data_service_factory, + 'storage share', None, ConvenienceFileServiceCommands, + [ + AutoCommandDefinition(ConvenienceFileServiceCommands.share_exists, 'Boolean', 'exists') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage share metadata', None, file_data_service_factory, [ AutoCommandDefinition(FileService.get_share_metadata, 'Metadata', 'show'), AutoCommandDefinition(FileService.set_share_metadata, 'Metadata', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage share acl', None, _file_data_service_factory, + 'storage share acl', None, file_data_service_factory, [ AutoCommandDefinition(FileService.set_share_acl, '[StoredAccessPolicy]', 'set'), AutoCommandDefinition(FileService.get_share_acl, 'StoredAccessPolicy', 'show'), ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage directory', None, _file_data_service_factory, + 'storage directory', None, file_data_service_factory, [ AutoCommandDefinition(FileService.create_directory, 'Boolean', 'create'), AutoCommandDefinition(FileService.delete_directory, 'Boolean', 'delete'), @@ -185,14 +214,20 @@ def _cloud_storage_account_service_factory(args): ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage directory metadata', None, _file_data_service_factory, + 'storage directory', None, ConvenienceFileServiceCommands, + [ + AutoCommandDefinition(ConvenienceFileServiceCommands.dir_exists, 'Bool', 'exists') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage directory metadata', None, file_data_service_factory, [ AutoCommandDefinition(FileService.get_directory_metadata, 'Metadata', 'show'), AutoCommandDefinition(FileService.set_directory_metadata, 'Metadata', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage file', None, _file_data_service_factory, + 'storage file', None, file_data_service_factory, [ AutoCommandDefinition(FileService.delete_file, 'Boolean', 'delete'), AutoCommandDefinition(FileService.resize_file, 'Result', 'resize'), @@ -201,24 +236,37 @@ def _cloud_storage_account_service_factory(args): 'SAS', 'generate-sas'), AutoCommandDefinition(FileService.get_file_properties, 'Properties', 'show'), AutoCommandDefinition(FileService.set_file_properties, 'Properties', 'set') - ], command_table, FILE_PARAM_ALIASES, STORAGE_DATA_CLIENT_ARGS) + ], command_table, _patch_aliases({ + 'directory_name': {'required': False} + }), STORAGE_DATA_CLIENT_ARGS) + +build_operation( + 'storage file', None, ConvenienceFileServiceCommands, + [ + AutoCommandDefinition(ConvenienceFileServiceCommands.file_exists, 'Bool', 'exists'), + AutoCommandDefinition(ConvenienceFileServiceCommands.download, 'Object'), + AutoCommandDefinition(ConvenienceFileServiceCommands.upload, 'Object') + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage file metadata', None, _file_data_service_factory, + 'storage file metadata', None, file_data_service_factory, [ AutoCommandDefinition(FileService.get_file_metadata, 'Metadata', 'show'), AutoCommandDefinition(FileService.set_file_metadata, 'Metadata', 'set') - ], command_table, FILE_PARAM_ALIASES, STORAGE_DATA_CLIENT_ARGS) + ], command_table, _patch_aliases({ + 'directory_name': {'required': False} + }), STORAGE_DATA_CLIENT_ARGS) + build_operation( - 'storage file service-properties', None, _file_data_service_factory, + 'storage file service-properties', None, file_data_service_factory, [ AutoCommandDefinition(FileService.get_file_service_properties, 'ServiceProperties', 'show'), AutoCommandDefinition(FileService.set_file_service_properties, 'ServiceProperties', 'set') - ], command_table, FILE_PARAM_ALIASES, STORAGE_DATA_CLIENT_ARGS) + ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( - 'storage file copy', None, _file_data_service_factory, + 'storage file copy', None, file_data_service_factory, [ AutoCommandDefinition(FileService.copy_file, 'CopyOperationPropeties', 'start'), AutoCommandDefinition(FileService.abort_copy_file, None, 'cancel'), diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/command_specs.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/command_specs.py index 79b40f4cce3..00defd38962 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/command_specs.py +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/command_specs.py @@ -39,7 +39,7 @@ def test_body(self): s.rec('storage account list -g {}'.format(rg)) s.test('storage account show --resource-group {} --account-name {}'.format(rg, account), {'name': account, 'accountType': 'Standard_LRS', 'location': 'westus', 'resourceGroup': rg}) - s.rec('storage account usage') + s.rec('storage account show-usage') s.rec('storage account connection-string -g {} --account-name {} --use-http'.format(rg, account)) s.rec('storage account keys list -g {} --account-name {}'.format(rg, account)) s.rec('storage account keys renew -g {} --account-name {}'.format(rg, account)) diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res index 40847a7bd88..c749760b3df 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res @@ -1,6 +1,5 @@ { - "test_storage_account": "{\n \"message\": null,\n \"nameAvailable\": true,\n \"reason\": null\n}{\n \"message\": \"The storage account named travistestresourcegr3014 is already taken.\",\n \"nameAvailable\": false,\n \"reason\": \"AlreadyExists\"\n}Account Type : Standard_LRS\nCreation Time : 2016-04-06T21:44:48.400791+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/teststorageaccount02\nLast Geo Failover Time : None\nLocation : westus\nName : teststorageaccount02\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://teststorageaccount02.blob.core.windows.net/\n File : https://teststorageaccount02.file.core.windows.net/\n Queue : https://teststorageaccount02.queue.core.windows.net/\n Table : https://teststorageaccount02.table.core.windows.net/\nTags :\n Cat : \n Foo : bar\n\nAccount Type : Standard_LRS\nCreation Time : 2016-03-15T23:03:02.798406+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\nLast Geo Failover Time : None\nLocation : westus\nName : travistestresourcegr3014\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://travistestresourcegr3014.blob.core.windows.net/\n File : https://travistestresourcegr3014.file.core.windows.net/\n Queue : https://travistestresourcegr3014.queue.core.windows.net/\n Table : https://travistestresourcegr3014.table.core.windows.net/\nTags :\n None :{\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-03-15T23:03:02.798406+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"travistestresourcegr3014\",\n \"primaryEndpoints\": {\n \"blob\": \"https://travistestresourcegr3014.blob.core.windows.net/\",\n \"file\": \"https://travistestresourcegr3014.file.core.windows.net/\",\n \"queue\": \"https://travistestresourcegr3014.queue.core.windows.net/\",\n \"table\": \"https://travistestresourcegr3014.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n}Current Value : 25\nLimit : 100\nUnit : Count\nName :\n Localized Value : Storage Accounts\n Value : StorageAccountsConnection String : DefaultEndpointsProtocol=http;AccountName=travistestresourcegr3014;AccountKey=4UvGjmfyM5toFnTPxOBQORtavvYyjqQudT25sGYLIWuuTPd8//yR+kR5EFSxIOP8nMp1Sq+iS2v7RIWR9TTL1g==Key1 : 4UvGjmfyM5toFnTPxOBQORtavvYyjqQudT25sGYLIWuuTPd8//yR+kR5EFSxIOP8nMp1Sq+iS2v7RIWR9TTL1g==\nKey2 : tT/Dv39hZDk69DOrt/YG1yUvQgL6oQHv4Ait7Uzv9nKnsZJNilM3uQt1ooxUAUiNwQASBu7yw1lxMYfRX5ecZQ==Key1 : lTZkO7Hu8jezQD7TkrokWoR9z6HSWbJ7ilsm/dOCvBgdYDGiI04AG+Y7GspXjgJv8j/CQng4DSa8v2Ds2+0q3g==\nKey2 : RB9sfkdfwPQj/WtS7dnotP6tOzDasp7qAWJWWFwryc+krWcrHvr/8B9hcr8XetRCBHwO/AFx/kcusoQg1Y4DAA==Key1 : lTZkO7Hu8jezQD7TkrokWoR9z6HSWbJ7ilsm/dOCvBgdYDGiI04AG+Y7GspXjgJv8j/CQng4DSa8v2Ds2+0q3g==\nKey2 : FzsJWePsMhw2AcLTRYeu10rX4O57qViJk2axqj9bLdwCAsCy86PsawIpHrpiwg9INPTxuY6yCloqLPI+Vi1nbQ=={\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"cat\": \"\",\n \"foo\": \"bar\"\n },\n \"type\": null\n}{\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": null\n}{\n \"accountType\": \"Standard_GRS\",\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": null,\n \"type\": null\n}", + "test_storage_account": "{\n \"message\": null,\n \"nameAvailable\": true,\n \"reason\": null\n}{\n \"message\": \"The storage account named travistestresourcegr3014 is already taken.\",\n \"nameAvailable\": false,\n \"reason\": \"AlreadyExists\"\n}Account Type : Standard_LRS\nCreation Time : 2016-04-06T21:44:48.400791+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/teststorageaccount02\nLast Geo Failover Time : None\nLocation : westus\nName : teststorageaccount02\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://teststorageaccount02.blob.core.windows.net/\n File : https://teststorageaccount02.file.core.windows.net/\n Queue : https://teststorageaccount02.queue.core.windows.net/\n Table : https://teststorageaccount02.table.core.windows.net/\nTags :\n Cat : \n Foo : bar\n\nAccount Type : Standard_LRS\nCreation Time : 2016-04-26T00:00:45.729978+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\nLast Geo Failover Time : None\nLocation : westus\nName : travistestresourcegr3014\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://travistestresourcegr3014.blob.core.windows.net/\n File : https://travistestresourcegr3014.file.core.windows.net/\n Queue : https://travistestresourcegr3014.queue.core.windows.net/\n Table : https://travistestresourcegr3014.table.core.windows.net/\nTags :\n None :{\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-04-26T00:00:45.729978+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"travistestresourcegr3014\",\n \"primaryEndpoints\": {\n \"blob\": \"https://travistestresourcegr3014.blob.core.windows.net/\",\n \"file\": \"https://travistestresourcegr3014.file.core.windows.net/\",\n \"queue\": \"https://travistestresourcegr3014.queue.core.windows.net/\",\n \"table\": \"https://travistestresourcegr3014.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n}Current Value : 40\nLimit : 100\nUnit : Count\nName :\n Localized Value : Storage Accounts\n Value : StorageAccountsConnection String : DefaultEndpointsProtocol=http;AccountName=travistestresourcegr3014;AccountKey=c2KEkCapJUqvAC2HDmnv/ZFiaLWkBYmu/fZFnt8ctHqPLtauCVfboEI4OwMQqudAdcEyjS/1cZvcNkas/pIXhg==Key1 : c2KEkCapJUqvAC2HDmnv/ZFiaLWkBYmu/fZFnt8ctHqPLtauCVfboEI4OwMQqudAdcEyjS/1cZvcNkas/pIXhg==\nKey2 : dyTMiz75YtX+6iJr1XLYNtya61294JmVc5XgWOc6JYTMp582ACmTJuVOvbyTq+Hh0EFGM1LyaQItcDRmiXGUnA==Key1 : wg2FxOdgK5ixrOpEkKnBYhOU6m+B1eQX8GIav9i5dG7pVqmBhEYnYz+TnQXUD9VaIfOFjPMHjM8QQsPjcRAI5w==\nKey2 : XLin5Irl8vx6klJ3mX0tJEUi9kK+pr+XMzFt1GyN35wSZhwwHoF/S3Kt+YJDfBfbpiwadcGOGDjxZNEDunazBA==Key1 : wg2FxOdgK5ixrOpEkKnBYhOU6m+B1eQX8GIav9i5dG7pVqmBhEYnYz+TnQXUD9VaIfOFjPMHjM8QQsPjcRAI5w==\nKey2 : 98FwoBTWu8bz4yGG8p4k3EEG/n7RZpF32/kyrrfdmZH1XNIhgLpJPoe/jVr0BgtErhq6L1yaFuQ7HnbKxddwbA=={\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"cat\": \"\",\n \"foo\": \"bar\"\n },\n \"type\": null\n}{\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": null\n}{\n \"accountType\": \"Standard_GRS\",\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": null,\n \"type\": null\n}", "test_storage_account_delete": "", - "test_storage_blob": "truetrue{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36ECB36B47946\\\"\",\n \"lastModified\": \"2016-04-27T18:39:06+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}Next Marker : \nItems :\n Metadata : None\n Name : bootdiagnostics-linuxtest-f6c88058-8d96-4f6a-a090-9fb5411151d0\n Properties :\n Etag : \"0x8D36E19CE91BE4A\"\n Last Modified : 2016-04-26T21:29:10+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : bootdiagnostics-windowste-2006bcb8-19b1-48c0-9822-da025cd5a5f4\n Properties :\n Etag : \"0x8D36E114D516083\"\n Last Modified : 2016-04-26T20:28:18+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : testcontainer01\n Properties :\n Etag : \"0x8D36ECB36B47946\"\n Last Modified : 2016-04-27T18:39:06+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : vhds\n Properties :\n Etag : \"0x8D36E0F38BB034E\"\n Last Modified : 2016-04-26T20:13:24+00:00\n Lease Duration : infinite\n Lease State : leased\n Lease Status : locked\n Lease :\n Duration : None\n State : None\n Status : None{\n \"foo\": \"bar\",\n \"moo\": \"bak\"\n}Cors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nLogging :\n Delete : False\n Read : False\n Version : 1.0\n Write : False\n Retention Policy :\n Days : None\n Enabled : False\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : Falsetruetruetrue\"https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob\"{\n \"a\": \"b\",\n \"c\": \"d\"\n}Next Marker : \nItems :\n Content : None\n Metadata : None\n Name : testappendblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : AppendBlob\n Content Length : 156\n Etag : 0x8D36ECB38BA0167\n Last Modified : 2016-04-27T18:39:09+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testblockblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : BlockBlob\n Content Length : 78\n Etag : 0x8D36ECB3944123A\n Last Modified : 2016-04-27T18:39:10+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : zeGiTMG1TdAobIHawzap3A==\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testpageblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : PageBlob\n Content Length : 512\n Etag : 0x8D36ECB3849C033\n Last Modified : 2016-04-27T18:39:09+00:00\n Page Blob Sequence Number : None\n Sequence Number : 0\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36ECB3944123A\\\"\",\n \"lastModified\": \"2016-04-27T18:39:10+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36ECB3944123A\\\"\",\n \"lastModified\": \"2016-04-27T18:39:10+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36ECB3944123A\\\"\",\n \"lastModified\": \"2016-04-27T18:39:10+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36ECB3944123A\\\"\",\n \"lastModified\": \"2016-04-27T18:39:10+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36ECB3944123A\\\"\",\n \"lastModified\": \"2016-04-27T18:39:10+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}true{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36ECB37B9A601\\\"\",\n \"lastModified\": \"2016-04-27T18:39:08+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36ECB37B9A601\\\"\",\n \"lastModified\": \"2016-04-27T18:39:08+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36ECB37B9A601\\\"\",\n \"lastModified\": \"2016-04-27T18:39:08+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36ECB37B9A601\\\"\",\n \"lastModified\": \"2016-04-27T18:39:08+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}true", - "test_storage_file": "truetruetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}Next Marker : None\nItems :\n Metadata : None\n Name : testshare01\n Properties :\n Etag : \"0x8D36B02F0502194\"\n Last Modified : 2016-04-22T23:07:55+00:00\n Quota : 5120\n Metadata : None\n Name : testshare02\n Properties :\n Etag : \"0x8D36B02F0408D9E\"\n Last Modified : 2016-04-22T23:07:55+00:00\n Quota : 5120\n Metadata : None\n Name : testshare03\n Properties :\n Etag : \"0x8D36AF940AF6C6A\"\n Last Modified : 2016-04-22T21:58:35+00:00\n Quota : 3{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {},\n \"name\": \"testshare01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36B02F1B9F161\\\"\",\n \"lastModified\": \"2016-04-22T23:07:57+00:00\",\n \"quota\": 3\n }\n}true{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testfile.rst\",\n \"properties\": {\n \"contentLength\": 1234,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": null,\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36B02F2314122\\\"\",\n \"lastModified\": \"2016-04-22T23:07:58+00:00\"\n }\n}{\n \"a\": \"b\",\n \"c\": \"d\"\n}\"https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst\"Next Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 1234\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : Nonetruetrue{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {\n \"a\": \"b\",\n \"c\": \"d\"\n },\n \"name\": \"testdir01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36B02F395E311\\\"\",\n \"lastModified\": \"2016-04-22T23:08:01+00:00\"\n }\n}trueNext Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 78\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None1truetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}trueCors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : False" + "test_storage_file": "truetruetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}Next Marker : None\nItems :\n Metadata : None\n Name : testshare\n Properties :\n Etag : \"0x8D36E189FD7EB3F\"\n Last Modified : 2016-04-26T21:20:42+00:00\n Quota : 5120\n Metadata : None\n Name : testshare01\n Properties :\n Etag : \"0x8D37478529F2ADC\"\n Last Modified : 2016-05-05T00:00:52+00:00\n Quota : 5120\n Metadata : None\n Name : testshare02\n Properties :\n Etag : \"0x8D3747852930D21\"\n Last Modified : 2016-05-05T00:00:51+00:00\n Quota : 5120{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {},\n \"name\": \"testshare01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3747856AC5AF6\\\"\",\n \"lastModified\": \"2016-05-05T00:00:58+00:00\",\n \"quota\": 3\n }\n}true{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testfile.rst\",\n \"properties\": {\n \"contentLength\": 1234,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": null,\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3747857072595\\\"\",\n \"lastModified\": \"2016-05-05T00:00:59+00:00\"\n }\n}{\n \"a\": \"b\",\n \"c\": \"d\"\n}\"https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst\"Next Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 1234\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : Nonetruetrue{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {\n \"a\": \"b\",\n \"c\": \"d\"\n },\n \"name\": \"testdir01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3747859A6B74B\\\"\",\n \"lastModified\": \"2016-05-05T00:01:03+00:00\"\n }\n}trueNext Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 78\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None1truetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}trueCors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : False" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml index 85ff82abe54..572d00fb994 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml @@ -1,8 +1,8 @@ interactions: - request: body: !!binary | - eyJ0eXBlIjogIk1pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cyIsICJuYW1lIjogInRl - c3RzdG9yYWdlb21lZ2EifQ== + eyJuYW1lIjogInRlc3RzdG9yYWdlb21lZ2EiLCAidHlwZSI6ICJNaWNyb3NvZnQuU3RvcmFnZS9z + dG9yYWdlQWNjb3VudHMifQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -24,7 +24,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:24 GMT'] + Date: ['Wed, 04 May 2016 23:23:25 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -33,8 +33,8 @@ interactions: status: {code: 200, message: OK} - request: body: !!binary | - eyJ0eXBlIjogIk1pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cyIsICJuYW1lIjogInRy - YXZpc3Rlc3RyZXNvdXJjZWdyMzAxNCJ9 + eyJuYW1lIjogInRyYXZpc3Rlc3RyZXNvdXJjZWdyMzAxNCIsICJ0eXBlIjogIk1pY3Jvc29mdC5T + dG9yYWdlL3N0b3JhZ2VBY2NvdW50cyJ9 headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -57,7 +57,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:25 GMT'] + Date: ['Wed, 04 May 2016 23:23:25 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -87,14 +87,14 @@ interactions: K7zyus2Ws6ye/f7PX72mptM6Z+BvCga4t7P76fbO/vbOp2/2dh/t7z/aPxjv7+w8eLh7/6eo9aou Fll9fbqcraqCUAb4SVlN6M15266aR3ejgxijzXha1fn4qljOqqtmvMzbuwTwvCjR7caX0Sb68i9a 55jFzW9zo+jrbTa5uXNuFHn9l1hiPI9MD00AcQN9WCwviOAtunm9nk7zfJbP6PuGPls3X56/FBD0 - bXaZFSX6AuQ2u2DSEmD6itqfVxX9Mslq/lYm8kZ+orb/L+PvCIx7O7v7NMBNPD78FnX+QXx+b3v3 - /pu9e4926H974wcPD/Z3Pt27LZ8PoHV7Xh8CgHZRAMzKt4HADaMgWmaxW4DghhEQxH9KnJ9Fvl9W - S7zJH8ls3shcH/2S7/+S5P8BC9XYt9kFAAA= + bXaZFSX6AuQ2u2DSEmD6itqfVxX9Mslq/lYm8kZ+orb/L+PvCIx7O7v7NMBNPD78FnX+gXy+9+mb + nZ1H9L/9++MHew8fPjj49LZ8PoDW7Xl9CADaRQEwK98GAjeMgmiZxW4BghtGQBD/KXF+Fvl+WS3x + Jn8ks3kjc330S77/S5L/B76UIYXZBQAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:25 GMT'] + Date: ['Wed, 04 May 2016 23:23:25 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -121,15 +121,15 @@ interactions: o0cf3W3Wk2ZaF6u2qJbN3Z3J7vmn+w92t3cn5zvb+7NZtp3l03vb08nDvQd75zsP7z/cuVvnTbWu p/nndbVeNXfbOrssmjZvWvPFBb64u6qry2KW183dL4ppXTXVeTt+3VZ1dpHfbeTn8XRarZdtHMa9 nd39j0YfldU0A3KE7BV9v27os2W2yOnvDW9R56u8bou8+ejRL/4ok37eXK/w2us2W86yevb7P3/1 - mppO65w7eFMw0L2d3U+3d+5t795/s3fv0Q79b2/84OHB/s6nez9FrVd1scjq69PlbFUVhDrAT8pq - Qm/O23bVPLo7OJgx2o2nVZ2Pr4rlrLpqxsu8vUtAz4sSXd8IAO2iAH7ROl/fCgI3jIJos8ntkOCG - ERC/xBLneWTKaEIIHH1YLC9oAlp09Xo9neb5LJ/R9w19tm6+PH8pIOjb7DIrSvQFyG12waReVku8 - yR/JbN7IXB/9kuT/AWlsbsbtAgAA + mppO65w7eFMw0L2d3U+3d/a39z59s7PziP63f3/8YO/hwwcHn/4UtV7VxSKrr0+Xs1VVEOoAPymr + Cb05b9tV8+ju4GDGaDeeVnU+viqWs+qqGS/z9i4BPS9KdH0jALSLAvhF63x9KwjcMAqizSa3Q4Ib + RkD8Ekuc55EpowkhcPRhsbygCWjR1ev1dJrns3xG3zf02br58vylgKBvs8usKNEXILfZBZN6WS3x + Jn8ks3kjc330S5L/B131zF/tAgAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:26 GMT'] + Date: ['Wed, 04 May 2016 23:23:26 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -153,14 +153,14 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/t3XdflcWC39nd2XEfLrMF - 2lnA9JHp86PXbVVnF/nxdIpOGtcLNSqraVYWP8hnpifTOrXNTetfIr/wj+//xskv+X8Aex9GGNoA - AAA= + 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/t77ivymLB7+zueB8uswXa + WcD0kenzo9dtVWcX+fF0ik4a1ws1KqtpVhY/yGemJ9M6tc1N618iv/CP7//GyS/5fwA6Ljfa2gAA + AA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:27 GMT'] + Date: ['Wed, 04 May 2016 23:23:27 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -185,21 +185,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn20/9Xl5z+9OL/+4n5bPVu+efnuyyc/8eWrNru8/H2uf/oX/cR69mbvfvP57/P87Lvr9ZuX - s4O7d69fffL21f3TZ6/fnX358mD5xWr39S/6pHi9d/ng1dl3Xz188+b57sVnn300Qg971EP75u7T - y3sP5z/19O2nD59+Wbd3f5/Pd6+/uvyJi+efVj/x7cv946J98NUPLh8uf69l81PfeVGUX9xb/0S7 - W1Xvvjr+qnhx9RPHr5+sH1xf7Zbvvvh9zl/93vfz6U/9BPXwS5L/ByTQAirGAAAA + 692PHn003fu9Tt+eZKvvfPWLLo9P9r79dLG8vPtTz4rs+XffPvl9Fuu75z/1bNkeTNtv/6KXz9ts + ffKT55Pq9Gz/y6svfuIXrWfHs+np9U+/vrs7/anL6Yu3WXN3dfZ7zy8+++yjEXrYox5m12++KH7w + 4P7v0/7en3xafKfe/b2f/z4v2uvs0929h/vfWfzk9P7vffHdL6effuf3efPF6v7B3vHJ4s131j/5 + 5eXk+s0v+uTb853TZ59/sfv8OvuJs3b69NWi+L0//2p5TD38kuT/AROtBE7GAAAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:28 GMT'] + Date: ['Wed, 04 May 2016 23:23:28 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -219,21 +219,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn20/9Xl5z+9OL/+4n5bPVu+efnuyyc/8eWrNru8/H2uf/oX/cR69mbvfvP57/P87Lvr9ZuX - s4O7d69fffL21f3TZ6/fnX358mD5xWr39S/6pHi9d/ng1dl3Xz188+b57sVnn300Qg971EP75u7T - y3sP5z/19O2nD59+Wbd3f5/Pd6+/uvyJi+efVj/x7cv946J98NUPLh8uf69l81PfeVGUX9xb/0S7 - W1Xvvjr+qnhx9RPHr5+sH1xf7Zbvvvh9zl/93vfz6U/9BPXwS5L/ByTQAirGAAAA + 692PHn003fu9Tt+eZKvvfPWLLo9P9r79dLG8vPtTz4rs+XffPvl9Fuu75z/1bNkeTNtv/6KXz9ts + ffKT55Pq9Gz/y6svfuIXrWfHs+np9U+/vrs7/anL6Yu3WXN3dfZ7zy8+++yjEXrYox5m12++KH7w + 4P7v0/7en3xafKfe/b2f/z4v2uvs0929h/vfWfzk9P7vffHdL6effuf3efPF6v7B3vHJ4s131j/5 + 5eXk+s0v+uTb853TZ59/sfv8OvuJs3b69NWi+L0//2p5TD38kuT/AROtBE7GAAAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:28 GMT'] + Date: ['Wed, 04 May 2016 23:23:28 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: !!binary | @@ -254,21 +254,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn1Uvvmpt18++Pb64KfzH/zE0wdv3tbV2+9Wrx7+4NNvv/7u5DsPirJZ3J19eXL55GL2+zz9 - vDjb2T/+/JPf58Hnzer3/umL71we/PTdk59YXuw/fZ0dXO49bfY+2flF9y4+++yjEXrYox7aN3ef - Xt57OP+pp28/ffj0y7q9+/t8vnv91eVPXDz/tPqJb1/uHxftg69+cPlw+Xstm5/6zoui/OLe+ifa - 3ap699XxV8WLq584fv1k/eD6ard898Xvc/7q976fT3/qJ6iHX5L8P2FhW9XGAAAA + 692PHn10dbH37N2Xs4vf637xrv5ydfr291o++X3mX3716eKTJ7v5T/zeB5+fZZcPi/uzzx+sfvIX + LZ7MT3+f5e/zg0/eLH/i9/7q6cOfzM7Ov3z20y+/+PZPf3HwEz/RvPzp6avjs/tXn3320Qg97FEP + s+s3XxQ/eHD/92l/708+Lb5T7/7ez3+fF+119unu3sP97yx+cnr/97747pfTT7/z+7z5YnX/YO/4 + ZPHmO+uf/PJycv3mF33y7fnO6bPPv9h9fp39xFk7ffpqUfzen3+1PKYefkny/wD88MKUxgAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:29 GMT'] + Date: ['Wed, 04 May 2016 23:23:28 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: !!binary | @@ -289,15 +289,15 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn1Uvvmpt18++Pb64KfzH/zE0wdv3tbV2+9Wrx7+4NNvv/7u5DsPirJZ3J19eXL55GL2+zz9 - vDjb2T/+/JPf58Hnzer3/umL71we/PTdk59YXuw/fZ0dXO49bfY+2flF9y4+++yjEXrYox5ePXnY - nL+dnV+9/Imfvvvd9vWD2bJqX37afvmDp1mzevCLjr/7ne9+99lVfT395G393Wn97cv67sGTh/Np - ffB75+2rkyffvvry7vGzd3ffTtdN9RMXu7/P/tPjY+rhlyT/D/KUuz7GAAAA + 692PHn10dbH37N2Xs4vf637xrv5ydfr291o++X3mX3716eKTJ7v5T/zeB5+fZZcPi/uzzx+sfvIX + LZ7MT3+f5e/zg0/eLH/i9/7q6cOfzM7Ov3z20y+/+PZPf3HwEz/RvPzp6avjs/tXn3320Qg97FEP + v/fzYnn/rC4PLt99+rb8zr3F773Tfuf0q+Lh29/rk1X9ye/9xQ+etbufX7+4d//q9U/Nr66+XT27 + +/re79V+8vt85+n5k/PJqrjKZtPPv/z86U+/+6kXp0/Xy+wHT46ph1+S/D9IyJ6JxgAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:32 GMT'] + Date: ['Wed, 04 May 2016 23:23:30 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -324,15 +324,15 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn1Uvvmpt18++Pb64KfzH/zE0wdv3tbV2+9Wrx7+4NNvv/7u5DsPirJZ3J19eXL55GL2+zz9 - vDjb2T/+/JPf58Hnzer3/umL71we/PTdk59YXuw/fZ0dXO49bfY+2flF9y4+++yjEXrYox6e/aD5 - znfzl80X86u94+nzN69+n3y9u1P/3vtf3n/wi36y+M7bvezdL/rph5Pns6uT4+bk+uDTl012dbb6 - dr0qri4enr14+ebd+vf59PqkrH7R85dnn/xksbuc/AT18EuS/wdH5dfXxgAAAA== + 692PHn10dbH37N2Xs4vf637xrv5ydfr291o++X3mX3716eKTJ7v5T/zeB5+fZZcPi/uzzx+sfvIX + LZ7MT3+f5e/zg0/eLH/i9/7q6cOfzM7Ov3z20y+/+PZPf3HwEz/RvPzp6avjs/tXn3320Qg97FEP + Dw+eXVVP3nx3fTD5wf71558frPbf3js9/fzu8sGrn1o9u7d39+11XZ/PFj/17d3f+8XZ/OL56jsv + q/zuT/9kvfPkoj2t57/o0+e719mz9U88+PZy8nu9m82uJsfUwy9J/h/CXKiSxgAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:34 GMT'] + Date: ['Wed, 04 May 2016 23:23:31 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -364,7 +364,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:37 GMT'] + Date: ['Wed, 04 May 2016 23:23:33 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -396,13 +396,13 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:39 GMT'] + Date: ['Wed, 04 May 2016 23:23:34 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: !!binary | @@ -428,7 +428,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:41 GMT'] + Date: ['Wed, 04 May 2016 23:23:36 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -460,12 +460,12 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 20:18:43 GMT'] + Date: ['Wed, 04 May 2016 23:23:36 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} version: 1 diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_delete.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_delete.yaml index 1789fdc62f5..5bbf6144bd7 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_delete.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_delete.yaml @@ -16,12 +16,10 @@ interactions: body: {string: ''} headers: Cache-Control: [no-cache] - Content-Length: ['0'] - Date: ['Fri, 08 Apr 2016 15:32:20 GMT'] + Date: ['Wed, 04 May 2016 23:23:40 GMT'] Expires: ['-1'] Pragma: [no-cache] - Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] - status: {code: 200, message: OK} + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 204, message: No Content} version: 1 diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml index 21e360b432e..9fa1e74395d 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml @@ -17,21 +17,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn303fXp81/U5D95vfPq7sXT++fr6surX/R8fjGd/2R2/97ezoO3i/zTt8dXn/zEd5/snFfH - Dz796urF7/Xtu5/MvvOd9Xf2Z/tnrz/99N3v9TD/6Xdnr55eXXx3efbpm4vPPvtohB72qIefvD7Y - r1fFT+8sfnp/8vnv83r54rhtlvs/eb54uXz3kz+1/KI5flN++/M8K56t81efvn5Q3395df/h2U+8 - fPbp5fKL7z779k/Ms/y7O0+u3/7ETy33Dq4XL6aXV9TDL0n+HyBxC83GAAAA + 692PHn10dbH37N2Xs4vf637xrv5ydfr291o++X3mX3716eKTJ7v5T/zeB5+fZZcPi/uzzx+sfvIX + LZ7MT3+f5e/zg0/eLH/i9/7q6cOfzM7Ov3z20y+/+PZPf3HwEz/RvPzp6avjs/tXn3320Qg97FEP + Dw+eXVVP3nx3fTD5wf71558frPbf3js9/fzu8sGrn1o9u7d39+11XZ/PFj/17d3f+8XZ/OL56jsv + q/zuT/9kvfPkoj2t57/o0+e719mz9U88+PZy8nu9m82uJsfUwy9J/h/CXKiSxgAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Wed, 27 Apr 2016 18:39:05 GMT'] + Date: ['Thu, 05 May 2016 00:00:46 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -40,18 +40,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:05 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:46 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:dfdc53c3-0001-002f-7bb4-a0b14c000000\n\ - Time:2016-04-27T18:39:06.1538265Z"} + \ specified container does not exist.\nRequestId:8e4563a7-0001-00c7-2761-a64cb7000000\n\ + Time:2016-05-05T00:00:46.8896285Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Wed, 27 Apr 2016 18:39:05 GMT'] + Date: ['Thu, 05 May 2016 00:00:46 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -61,18 +61,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:06 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:46 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:a663b312-0001-011d-50b4-a0afc9000000\n\ - Time:2016-04-27T18:39:06.4274163Z"} + \ specified container does not exist.\nRequestId:ac45ae54-0001-0095-1061-a65145000000\n\ + Time:2016-05-05T00:00:46.8287088Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Wed, 27 Apr 2016 18:39:05 GMT'] + Date: ['Thu, 05 May 2016 00:00:46 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -83,16 +83,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:06 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Wed, 27 Apr 2016 18:39:06 GMT'] - ETag: ['"0x8D36ECB36B47946"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:06 GMT'] + Date: ['Thu, 05 May 2016 00:00:47 GMT'] + ETag: ['"0x8D374784FE5B877"'] + Last-Modified: ['Thu, 05 May 2016 00:00:47 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -102,16 +102,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:06 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Wed, 27 Apr 2016 18:39:06 GMT'] - ETag: ['"0x8D36ECB36B47946"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:06 GMT'] + Date: ['Thu, 05 May 2016 00:00:47 GMT'] + ETag: ['"0x8D374784FE5B877"'] + Last-Modified: ['Thu, 05 May 2016 00:00:47 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -123,16 +123,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:06 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Wed, 27 Apr 2016 18:39:06 GMT'] - ETag: ['"0x8D36ECB36B47946"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:06 GMT'] + Date: ['Thu, 05 May 2016 00:00:47 GMT'] + ETag: ['"0x8D374784FE5B877"'] + Last-Modified: ['Thu, 05 May 2016 00:00:47 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -144,22 +144,22 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:07 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/?comp=list&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/?comp=list&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFFbootdiagnostics-linuxtest-f6c88058-8d96-4f6a-a090-9fb5411151d0Tue,\ \ 26 Apr 2016 21:29:10 GMT\"0x8D36E19CE91BE4A\"unlockedavailablebootdiagnostics-windowste-2006bcb8-19b1-48c0-9822-da025cd5a5f4Tue,\ - \ 26 Apr 2016 20:28:18 GMT\"0x8D36E114D516083\"unlockedavailabletestcontainer01Wed,\ - \ 27 Apr 2016 18:39:06 GMT\"0x8D36ECB36B47946\"unlockedavailablevhdsTue,\ + \ 26 Apr 2016 20:28:18 GMT\"0x8D36E114D516083\"unlockedavailabletestcontainer01Thu,\ + \ 05 May 2016 00:00:47 GMT\"0x8D374784FE5B877\"unlockedavailablevhdsTue,\ \ 26 Apr 2016 20:13:24 GMT\"0x8D36E0F38BB034E\"lockedleasedinfinite"} headers: Content-Type: [application/xml] - Date: ['Wed, 27 Apr 2016 18:39:06 GMT'] + Date: ['Thu, 05 May 2016 00:00:47 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -170,18 +170,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:07 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Wed, 27 Apr 2016 18:39:06 GMT'] - ETag: ['"0x8D36ECB3782AA85"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:07 GMT'] + Date: ['Thu, 05 May 2016 00:00:48 GMT'] + ETag: ['"0x8D374785066C4A9"'] + Last-Modified: ['Thu, 05 May 2016 00:00:48 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -191,16 +191,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:07 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Wed, 27 Apr 2016 18:39:06 GMT'] - ETag: ['"0x8D36ECB3782AA85"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:07 GMT'] + Date: ['Thu, 05 May 2016 00:00:48 GMT'] + ETag: ['"0x8D374785066C4A9"'] + Last-Modified: ['Thu, 05 May 2016 00:00:48 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] @@ -213,16 +213,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:07 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Wed, 27 Apr 2016 18:39:07 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] + Date: ['Thu, 05 May 2016 00:00:48 GMT'] + ETag: ['"0x8D3747850A4EE3F"'] + Last-Modified: ['Thu, 05 May 2016 00:00:48 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -232,16 +232,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:07 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Wed, 27 Apr 2016 18:39:08 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] + Date: ['Thu, 05 May 2016 00:00:48 GMT'] + ETag: ['"0x8D3747850A4EE3F"'] + Last-Modified: ['Thu, 05 May 2016 00:00:48 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -251,16 +251,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:08 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/?restype=service&comp=properties&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/?restype=service&comp=properties&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse"} headers: Content-Type: [application/xml] - Date: ['Wed, 27 Apr 2016 18:39:08 GMT'] + Date: ['Thu, 05 May 2016 00:00:48 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -274,17 +274,17 @@ interactions: Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Wed, 27 Apr 2016 18:39:08 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Wed, 27 Apr 2016 18:39:07 GMT'] - ETag: ['"0x8D36ECB380022E6"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] + Date: ['Thu, 05 May 2016 00:00:48 GMT'] + ETag: ['"0x8D3747851441EC1"'] + Last-Modified: ['Thu, 05 May 2016 00:00:49 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -294,10 +294,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:08 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:49 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: @@ -305,9 +305,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:08 GMT'] - ETag: ['"0x8D36ECB380022E6"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] + Date: ['Thu, 05 May 2016 00:00:48 GMT'] + ETag: ['"0x8D3747851441EC1"'] + Last-Modified: ['Thu, 05 May 2016 00:00:49 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -315,28 +315,6 @@ interactions: x-ms-version: ['2015-04-05'] x-ms-write-protection: ['false'] status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-blob-content-length: ['512'] - x-ms-blob-type: [PageBlob] - x-ms-date: ['Wed, 27 Apr 2016 18:39:08 GMT'] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:08 GMT'] - ETag: ['"0x8D36ECB3842B9B7"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 201, message: Created} - request: body: !!binary | VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE @@ -352,23 +330,20 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] Content-Length: ['512'] - If-Match: ['"0x8D36ECB3842B9B7"'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:08 GMT'] - x-ms-page-write: [update] - x-ms-range: [bytes=0-511] + x-ms-blob-type: [BlockBlob] + x-ms-date: ['Thu, 05 May 2016 00:00:49 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?comp=page&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: Content-MD5: [JKbxCPFguN3PtJpiW3lCrQ==] - Date: ['Wed, 27 Apr 2016 18:39:08 GMT'] - ETag: ['"0x8D36ECB3849C033"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] + Date: ['Thu, 05 May 2016 00:00:49 GMT'] + ETag: ['"0x8D3747851989552"'] + Last-Modified: ['Thu, 05 May 2016 00:00:50 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-sequence-number: ['0'] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: @@ -377,22 +352,22 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:09 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:49 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['512'] + Content-MD5: [JKbxCPFguN3PtJpiW3lCrQ==] Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - ETag: ['"0x8D36ECB3849C033"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] + Date: ['Thu, 05 May 2016 00:00:50 GMT'] + ETag: ['"0x8D3747851989552"'] + Last-Modified: ['Thu, 05 May 2016 00:00:50 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-sequence-number: ['0'] - x-ms-blob-type: [PageBlob] + x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-version: ['2015-04-05'] @@ -404,14 +379,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:09 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:49 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Wed, 27 Apr 2016 18:39:08 GMT'] + Date: ['Thu, 05 May 2016 00:00:50 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified blob does not exist.} @@ -422,857 +397,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-blob-type: [AppendBlob] - x-ms-date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:08 GMT'] - ETag: ['"0x8D36ECB389224C9"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 201, message: Created} -- request: - body: !!binary | - VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE - TyBOT1QgTU9WRSBPUiBERUxFVEUh - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['78'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Wed, 27 Apr 2016 18:39:08 GMT'] - ETag: ['"0x8D36ECB38981997"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-append-offset: ['0'] - x-ms-blob-committed-block-count: ['1'] - x-ms-version: ['2015-04-05'] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - x-ms-version: ['2015-04-05'] - method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Accept-Ranges: [bytes] - Content-Length: ['78'] - Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - ETag: ['"0x8D36ECB38981997"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-committed-block-count: ['1'] - x-ms-blob-type: [AppendBlob] - x-ms-lease-state: [available] - x-ms-lease-status: [unlocked] - x-ms-version: ['2015-04-05'] - x-ms-write-protection: ['false'] - status: {code: 200, message: OK} -- request: - body: !!binary | - VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE - TyBOT1QgTU9WRSBPUiBERUxFVEUh - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['78'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - ETag: ['"0x8D36ECB38BA0167"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-append-offset: ['78'] - x-ms-blob-committed-block-count: ['2'] - x-ms-version: ['2015-04-05'] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - x-ms-version: ['2015-04-05'] - method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Accept-Ranges: [bytes] - Content-Length: ['156'] - Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:06 GMT'] - ETag: ['"0x8D36ECB38BA0167"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-committed-block-count: ['2'] - x-ms-blob-type: [AppendBlob] - x-ms-lease-state: [available] - x-ms-lease-status: [unlocked] - x-ms-version: ['2015-04-05'] - x-ms-write-protection: ['false'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - x-ms-meta-a: [b] - x-ms-meta-c: [d] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - ETag: ['"0x8D36ECB38FBADA9"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:10 GMT'] - x-ms-version: ['2015-04-05'] - method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:09 GMT'] - ETag: ['"0x8D36ECB38FBADA9"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-meta-a: [b] - x-ms-meta-c: [d] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:10 GMT'] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:10 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:10 GMT'] - x-ms-version: ['2015-04-05'] - method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:10 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:10 GMT'] - x-ms-version: ['2015-04-05'] - method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=list&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: "\uFEFFtestappendblobWed,\ - \ 27 Apr 2016 18:39:09 GMT0x8D36ECB38BA0167156application/octet-streamAppendBlobunlockedavailabletestblockblobWed,\ - \ 27 Apr 2016 18:39:10 GMT0x8D36ECB3944123A78application/octet-streamzeGiTMG1TdAobIHawzap3A==BlockBlobunlockedavailabletestpageblobWed,\ - \ 27 Apr 2016 18:39:09 GMT0x8D36ECB3849C033512application/octet-stream0PageBlobunlockedavailable"} - headers: - Content-Type: [application/xml] - Date: ['Wed, 27 Apr 2016 18:39:11 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:11 GMT'] - x-ms-version: ['2015-04-05'] - method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Accept-Ranges: [bytes] - Content-Length: ['78'] - Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:10 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-type: [BlockBlob] - x-ms-lease-state: [available] - x-ms-lease-status: [unlocked] - x-ms-version: ['2015-04-05'] - x-ms-write-protection: ['false'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:11 GMT'] - x-ms-range: [bytes=None-] - x-ms-version: ['2015-04-05'] - method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: This is a test file for performance of automated tests. DO NOT - MOVE OR DELETE!} - headers: - Accept-Ranges: [bytes] - Content-Length: ['78'] - Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:11 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-type: [BlockBlob] - x-ms-lease-state: [available] - x-ms-lease-status: [unlocked] - x-ms-version: ['2015-04-05'] - x-ms-write-protection: ['false'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - If-Modified-Since: ['Fri, 08 Apr 2016 12:00:00 GMT'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:11 GMT'] - x-ms-lease-action: [acquire] - x-ms-lease-duration: ['60'] - x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:10 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-version: ['2015-04-05'] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:11 GMT'] - x-ms-version: ['2015-04-05'] - method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Accept-Ranges: [bytes] - Content-Length: ['78'] - Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:10 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-type: [BlockBlob] - x-ms-lease-duration: [fixed] - x-ms-lease-state: [leased] - x-ms-lease-status: [locked] - x-ms-version: ['2015-04-05'] - x-ms-write-protection: ['false'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:11 GMT'] - x-ms-lease-action: [change] - x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-proposed-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:12 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:12 GMT'] - x-ms-lease-action: [renew] - x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:12 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:12 GMT'] - x-ms-version: ['2015-04-05'] - method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Accept-Ranges: [bytes] - Content-Length: ['78'] - Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:11 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-type: [BlockBlob] - x-ms-lease-duration: [fixed] - x-ms-lease-state: [leased] - x-ms-lease-status: [locked] - x-ms-version: ['2015-04-05'] - x-ms-write-protection: ['false'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:12 GMT'] - x-ms-lease-action: [break] - x-ms-lease-break-period: ['30'] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:11 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-time: ['30'] - x-ms-version: ['2015-04-05'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:12 GMT'] - x-ms-version: ['2015-04-05'] - method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Accept-Ranges: [bytes] - Content-Length: ['78'] - Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:12 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-type: [BlockBlob] - x-ms-lease-state: [breaking] - x-ms-lease-status: [locked] - x-ms-version: ['2015-04-05'] - x-ms-write-protection: ['false'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:12 GMT'] - x-ms-lease-action: [release] - x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - x-ms-version: ['2015-04-05'] - method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Accept-Ranges: [bytes] - Content-Length: ['78'] - Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - ETag: ['"0x8D36ECB3944123A"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:10 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-type: [BlockBlob] - x-ms-lease-state: [available] - x-ms-lease-status: [unlocked] - x-ms-version: ['2015-04-05'] - x-ms-write-protection: ['false'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=snapshot&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - ETag: ['"0x8D36ECB38BA0167"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-snapshot: ['2016-04-27T18:39:13.6437182Z'] - x-ms-version: ['2015-04-05'] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - x-ms-version: ['2015-04-05'] - method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?snapshot=2016-04-27T18%3A39%3A13.6437182Z&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Accept-Ranges: [bytes] - Content-Length: ['156'] - Content-Type: [application/octet-stream] - Date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - ETag: ['"0x8D36ECB38BA0167"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:09 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-committed-block-count: ['2'] - x-ms-blob-type: [AppendBlob] - x-ms-version: ['2015-04-05'] - x-ms-write-protection: ['false'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - x-ms-version: ['2015-04-05'] - method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - x-ms-version: ['2015-04-05'] - method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 404, message: The specified blob does not exist.} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - If-Modified-Since: ['Fri, 08 Apr 2016 12:00:00 GMT'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:14 GMT'] - x-ms-lease-action: [acquire] - x-ms-lease-duration: ['60'] - x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:13 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-version: ['2015-04-05'] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:14 GMT'] - x-ms-version: ['2015-04-05'] - method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:14 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-duration: [fixed] - x-ms-lease-state: [leased] - x-ms-lease-status: [locked] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:14 GMT'] - x-ms-lease-action: [change] - x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-proposed-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:14 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:14 GMT'] - x-ms-lease-action: [renew] - x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:14 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:14 GMT'] - x-ms-version: ['2015-04-05'] - method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-duration: [fixed] - x-ms-lease-state: [leased] - x-ms-lease-status: [locked] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - x-ms-lease-action: [break] - x-ms-lease-break-period: ['30'] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-time: ['30'] - x-ms-version: ['2015-04-05'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - x-ms-version: ['2015-04-05'] - method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-state: [breaking] - x-ms-lease-status: [locked] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - x-ms-lease-action: [release] - x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2015-04-05'] - method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:14 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - x-ms-version: ['2015-04-05'] - method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - ETag: ['"0x8D36ECB37B9A601"'] - Last-Modified: ['Wed, 27 Apr 2016 18:39:08 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-lease-state: [available] - x-ms-lease-status: [unlocked] - x-ms-version: ['2015-04-05'] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - x-ms-version: ['2015-04-05'] - method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: ''} - headers: - Date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:16 GMT'] - x-ms-version: ['2015-04-05'] - method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D - response: - body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:6666e5a9-0001-007d-76b4-a0acbe000000\n\ - Time:2016-04-27T18:39:15.8101674Z"} - headers: - Content-Length: ['225'] - Content-Type: [application/xml] - Date: ['Wed, 27 Apr 2016 18:39:15 GMT'] - Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2015-04-05'] - status: {code: 404, message: The specified container does not exist.} -- request: - body: null - headers: - Accept-Encoding: [identity] - Connection: [keep-alive] - Content-Length: ['0'] - User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Wed, 27 Apr 2016 18:39:16 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:50 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&srt=sco&sp=rwdl&ss=b&se=2017-01-01T00%3A00Z&sv=2015-04-05&sig=FP%2BTMAIs08vDIse1dcgf7snH2wZHLyi3orTRcZdzYSA%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Wed, 27 Apr 2016 18:39:15 GMT'] + Date: ['Thu, 05 May 2016 00:00:49 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml index 9ceeea1ec2b..44a46360b48 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml @@ -17,21 +17,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn1Uvvmpt18++Pb64KfzH/zE0wdv3tbV2+9Wrx7+4NNvv/7u5DsPirJZ3J19eXL55GL2+zz9 - vDjb2T/+/JPf58Hnzer3/umL71we/PTdk59YXuw/fZ0dXO49bfY+2flF9y4+++yjEXrYox6e/aD5 - znfzl80X86u94+nzN69+n3y9u1P/3vtf3n/wi36y+M7bvezdL/rph5Pns6uT4+bk+uDTl012dbb6 - dr0qri4enr14+ebd+vf59PqkrH7R85dnn/xksbuc/AT18EuS/wdH5dfXxgAAAA== + 692PHn10dbH37N2Xs4vf637xrv5ydfr291o++X3mX3716eKTJ7v5T/zeB5+fZZcPi/uzzx+sfvIX + LZ7MT3+f5e/zg0/eLH/i9/7q6cOfzM7Ov3z20y+/+PZPf3HwEz/RvPzp6avjs/tXn3320Qg97FEP + Dw+eXVVP3nx3fTD5wf71558frPbf3js9/fzu8sGrn1o9u7d39+11XZ/PFj/17d3f+8XZ/OL56jsv + q/zuT/9kvfPkoj2t57/o0+e719mz9U88+PZy8nu9m82uJsfUwy9J/h/CXKiSxgAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Fri, 22 Apr 2016 23:07:54 GMT'] + Date: ['Thu, 05 May 2016 00:00:50 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -40,18 +40,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:54 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:51 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFFShareNotFoundThe\ - \ specified share does not exist.\nRequestId:ad533a56-001a-0078-5aeb-9cd253000000\n\ - Time:2016-04-22T23:07:55.2755634Z"} + \ specified share does not exist.\nRequestId:0419c24f-001a-0053-5f61-a62c79000000\n\ + Time:2016-05-05T00:00:51.8311438Z"} headers: Content-Length: ['217'] Content-Type: [application/xml] - Date: ['Fri, 22 Apr 2016 23:07:54 GMT'] + Date: ['Thu, 05 May 2016 00:00:51 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified share does not exist.} @@ -62,18 +62,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:54 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:51 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFFShareNotFoundThe\ - \ specified share does not exist.\nRequestId:7a37cb8b-001a-00bd-60eb-9cac68000000\n\ - Time:2016-04-22T23:07:54.9360518Z"} + \ specified share does not exist.\nRequestId:95e64101-001a-0048-1361-a602eb000000\n\ + Time:2016-05-05T00:00:52.0520627Z"} headers: Content-Length: ['217'] Content-Type: [application/xml] - Date: ['Fri, 22 Apr 2016 23:07:54 GMT'] + Date: ['Thu, 05 May 2016 00:00:51 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified share does not exist.} @@ -84,16 +84,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:54 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:51 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:55 GMT'] - ETag: ['"0x8D36B02F0502194"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:55 GMT'] + Date: ['Thu, 05 May 2016 00:00:51 GMT'] + ETag: ['"0x8D37478529F2ADC"'] + Last-Modified: ['Thu, 05 May 2016 00:00:52 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -104,18 +104,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:55 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:51 GMT'] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:54 GMT'] - ETag: ['"0x8D36B02F0408D9E"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:55 GMT'] + Date: ['Thu, 05 May 2016 00:00:51 GMT'] + ETag: ['"0x8D3747852930D21"'] + Last-Modified: ['Thu, 05 May 2016 00:00:51 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -125,16 +125,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:55 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:52 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:54 GMT'] - ETag: ['"0x8D36B02F0502194"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:55 GMT'] + Date: ['Thu, 05 May 2016 00:00:53 GMT'] + ETag: ['"0x8D37478529F2ADC"'] + Last-Modified: ['Thu, 05 May 2016 00:00:52 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-share-quota: ['5120'] x-ms-version: ['2015-04-05'] @@ -145,16 +145,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:55 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:52 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:55 GMT'] - ETag: ['"0x8D36B02F0408D9E"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:55 GMT'] + Date: ['Thu, 05 May 2016 00:00:53 GMT'] + ETag: ['"0x8D3747852930D21"'] + Last-Modified: ['Thu, 05 May 2016 00:00:51 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] @@ -166,21 +166,21 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:55 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:53 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/?comp=list&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/?comp=list&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFFtestshare01Fri, 22\ - \ Apr 2016 23:07:55 GMT\"0x8D36B02F0502194\"5120testshare02Fri,\ - \ 22 Apr 2016 23:07:55 GMT\"0x8D36B02F0408D9E\"5120testshare03Fri,\ - \ 22 Apr 2016 21:58:35 GMT\"0x8D36AF940AF6C6A\"3testshareTue, 26 Apr\ + \ 2016 21:20:42 GMT\"0x8D36E189FD7EB3F\"5120testshare01Thu,\ + \ 05 May 2016 00:00:52 GMT\"0x8D37478529F2ADC\"5120testshare02Thu,\ + \ 05 May 2016 00:00:51 GMT\"0x8D3747852930D21\"5120"} headers: Content-Type: [application/xml] - Date: ['Fri, 22 Apr 2016 23:07:56 GMT'] + Date: ['Thu, 05 May 2016 00:00:52 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -191,18 +191,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:56 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:53 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:56 GMT'] - ETag: ['"0x8D36B02F127ED8B"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:56 GMT'] + Date: ['Thu, 05 May 2016 00:00:53 GMT'] + ETag: ['"0x8D3747853EDC819"'] + Last-Modified: ['Thu, 05 May 2016 00:00:54 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -212,16 +212,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:56 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:53 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:56 GMT'] - ETag: ['"0x8D36B02F127ED8B"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:56 GMT'] + Date: ['Thu, 05 May 2016 00:00:53 GMT'] + ETag: ['"0x8D3747853EDC819"'] + Last-Modified: ['Thu, 05 May 2016 00:00:54 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -234,16 +234,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:56 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:54 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:56 GMT'] - ETag: ['"0x8D36B02F176962C"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:57 GMT'] + Date: ['Thu, 05 May 2016 00:00:56 GMT'] + ETag: ['"0x8D3747855EB25CB"'] + Last-Modified: ['Thu, 05 May 2016 00:00:57 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -253,16 +253,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:56 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:57 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:56 GMT'] - ETag: ['"0x8D36B02F176962C"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:57 GMT'] + Date: ['Thu, 05 May 2016 00:00:56 GMT'] + ETag: ['"0x8D3747855EB25CB"'] + Last-Modified: ['Thu, 05 May 2016 00:00:57 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -273,17 +273,17 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:57 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:57 GMT'] x-ms-share-quota: ['3'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=properties&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=properties&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:56 GMT'] - ETag: ['"0x8D36B02F1B9F161"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:57 GMT'] + Date: ['Thu, 05 May 2016 00:00:58 GMT'] + ETag: ['"0x8D3747856AC5AF6"'] + Last-Modified: ['Thu, 05 May 2016 00:00:58 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -293,16 +293,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:57 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:58 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:57 GMT'] - ETag: ['"0x8D36B02F1B9F161"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:57 GMT'] + Date: ['Thu, 05 May 2016 00:00:57 GMT'] + ETag: ['"0x8D3747856AC5AF6"'] + Last-Modified: ['Thu, 05 May 2016 00:00:58 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-share-quota: ['3'] x-ms-version: ['2015-04-05'] @@ -315,17 +315,17 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-content-length: ['78'] - x-ms-date: ['Fri, 22 Apr 2016 23:07:57 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:58 GMT'] x-ms-type: [file] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:57 GMT'] - ETag: ['"0x8D36B02F1C9171A"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:57 GMT'] + Date: ['Thu, 05 May 2016 00:00:58 GMT'] + ETag: ['"0x8D37478569B2A04"'] + Last-Modified: ['Thu, 05 May 2016 00:00:58 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -338,19 +338,19 @@ interactions: Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:57 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:58 GMT'] x-ms-range: [bytes=0-77] x-ms-version: ['2015-04-05'] x-ms-write: [update] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=range&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=range&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Fri, 22 Apr 2016 23:07:57 GMT'] - ETag: ['"0x8D36B02F1D2DD7C"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:58 GMT'] + Date: ['Thu, 05 May 2016 00:00:58 GMT'] + ETag: ['"0x8D3747856A3907F"'] + Last-Modified: ['Thu, 05 May 2016 00:00:58 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -360,18 +360,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:57 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:58 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Fri, 22 Apr 2016 23:07:57 GMT'] - ETag: ['"0x8D36B02F1D2DD7C"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:58 GMT'] + Date: ['Thu, 05 May 2016 00:00:59 GMT'] + ETag: ['"0x8D3747856A3907F"'] + Last-Modified: ['Thu, 05 May 2016 00:00:58 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -382,11 +382,11 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:58 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:58 GMT'] x-ms-range: [bytes=None-] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE!} @@ -394,9 +394,9 @@ interactions: Accept-Ranges: [bytes] Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Fri, 22 Apr 2016 23:07:57 GMT'] - ETag: ['"0x8D36B02F1D2DD7C"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:58 GMT'] + Date: ['Thu, 05 May 2016 00:00:58 GMT'] + ETag: ['"0x8D3747856A3907F"'] + Last-Modified: ['Thu, 05 May 2016 00:00:58 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -409,16 +409,16 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-content-length: ['1234'] - x-ms-date: ['Fri, 22 Apr 2016 23:07:58 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:59 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=properties&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=properties&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:59 GMT'] - ETag: ['"0x8D36B02F2314122"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:58 GMT'] + Date: ['Thu, 05 May 2016 00:00:58 GMT'] + ETag: ['"0x8D3747857072595"'] + Last-Modified: ['Thu, 05 May 2016 00:00:59 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -428,18 +428,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:58 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:59 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: Content-Length: ['1234'] Content-Type: [application/octet-stream] - Date: ['Fri, 22 Apr 2016 23:07:58 GMT'] - ETag: ['"0x8D36B02F2314122"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:58 GMT'] + Date: ['Thu, 05 May 2016 00:00:59 GMT'] + ETag: ['"0x8D3747857072595"'] + Last-Modified: ['Thu, 05 May 2016 00:00:59 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -451,18 +451,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:58 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:00:59 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:59 GMT'] - ETag: ['"0x8D36B02F274EA55"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:59 GMT'] + Date: ['Thu, 05 May 2016 00:01:00 GMT'] + ETag: ['"0x8D374785836A0CE"'] + Last-Modified: ['Thu, 05 May 2016 00:01:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -472,16 +472,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:58 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:01 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:59 GMT'] - ETag: ['"0x8D36B02F274EA55"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:59 GMT'] + Date: ['Thu, 05 May 2016 00:01:01 GMT'] + ETag: ['"0x8D374785836A0CE"'] + Last-Modified: ['Thu, 05 May 2016 00:01:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -494,16 +494,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:59 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:01 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:59 GMT'] - ETag: ['"0x8D36B02F2BE3A37"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:59 GMT'] + Date: ['Thu, 05 May 2016 00:01:01 GMT'] + ETag: ['"0x8D37478588373FB"'] + Last-Modified: ['Thu, 05 May 2016 00:01:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -513,16 +513,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:59 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:01 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:59 GMT'] - ETag: ['"0x8D36B02F2BE3A37"'] - Last-Modified: ['Fri, 22 Apr 2016 23:07:59 GMT'] + Date: ['Thu, 05 May 2016 00:01:01 GMT'] + ETag: ['"0x8D37478588373FB"'] + Last-Modified: ['Thu, 05 May 2016 00:01:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -532,10 +532,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:59 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:02 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=directory&comp=list&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=directory&comp=list&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFF"} headers: Content-Type: [application/xml] - Date: ['Fri, 22 Apr 2016 23:07:59 GMT'] + Date: ['Thu, 05 May 2016 00:01:02 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -554,14 +554,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:07:59 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:02 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:59 GMT'] + Date: ['Thu, 05 May 2016 00:01:02 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -571,14 +571,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:00 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:02 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:00 GMT'] + Date: ['Thu, 05 May 2016 00:01:02 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified resource does not exist.} @@ -589,16 +589,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:00 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:02 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:59 GMT'] - ETag: ['"0x8D36B02F35B63DA"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:00 GMT'] + Date: ['Thu, 05 May 2016 00:01:03 GMT'] + ETag: ['"0x8D37478594F0BF8"'] + Last-Modified: ['Thu, 05 May 2016 00:01:03 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -608,16 +608,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:00 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:03 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:07:59 GMT'] - ETag: ['"0x8D36B02F35B63DA"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:00 GMT'] + Date: ['Thu, 05 May 2016 00:01:03 GMT'] + ETag: ['"0x8D37478594F0BF8"'] + Last-Modified: ['Thu, 05 May 2016 00:01:03 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -628,18 +628,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:00 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:03 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:00 GMT'] - ETag: ['"0x8D36B02F395E311"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:01 GMT'] + Date: ['Thu, 05 May 2016 00:01:03 GMT'] + ETag: ['"0x8D3747859A6B74B"'] + Last-Modified: ['Thu, 05 May 2016 00:01:03 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -649,16 +649,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:00 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:03 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:01 GMT'] - ETag: ['"0x8D36B02F395E311"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:01 GMT'] + Date: ['Thu, 05 May 2016 00:01:03 GMT'] + ETag: ['"0x8D3747859A6B74B"'] + Last-Modified: ['Thu, 05 May 2016 00:01:03 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -670,16 +670,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:01 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:04 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:00 GMT'] - ETag: ['"0x8D36B02F395E311"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:01 GMT'] + Date: ['Thu, 05 May 2016 00:01:03 GMT'] + ETag: ['"0x8D3747859A6B74B"'] + Last-Modified: ['Thu, 05 May 2016 00:01:03 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -692,16 +692,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:01 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:04 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:01 GMT'] - ETag: ['"0x8D36B02F4007EC5"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:01 GMT'] + Date: ['Thu, 05 May 2016 00:01:03 GMT'] + ETag: ['"0x8D374785A1439CD"'] + Last-Modified: ['Thu, 05 May 2016 00:01:04 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -711,16 +711,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:01 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:04 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:02 GMT'] - ETag: ['"0x8D36B02F4007EC5"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:01 GMT'] + Date: ['Thu, 05 May 2016 00:01:05 GMT'] + ETag: ['"0x8D374785A1439CD"'] + Last-Modified: ['Thu, 05 May 2016 00:01:04 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -732,17 +732,17 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-content-length: ['78'] - x-ms-date: ['Fri, 22 Apr 2016 23:08:01 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:04 GMT'] x-ms-type: [file] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:02 GMT'] - ETag: ['"0x8D36B02F4475D00"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:02 GMT'] + Date: ['Thu, 05 May 2016 00:01:04 GMT'] + ETag: ['"0x8D374785A65A1F9"'] + Last-Modified: ['Thu, 05 May 2016 00:01:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -755,19 +755,19 @@ interactions: Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:01 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:05 GMT'] x-ms-range: [bytes=0-77] x-ms-version: ['2015-04-05'] x-ms-write: [update] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?comp=range&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?comp=range&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Fri, 22 Apr 2016 23:08:02 GMT'] - ETag: ['"0x8D36B02F45038C5"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:02 GMT'] + Date: ['Thu, 05 May 2016 00:01:04 GMT'] + ETag: ['"0x8D374785A6ECBF1"'] + Last-Modified: ['Thu, 05 May 2016 00:01:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -777,18 +777,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:02 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:05 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Fri, 22 Apr 2016 23:08:02 GMT'] - ETag: ['"0x8D36B02F45038C5"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:02 GMT'] + Date: ['Thu, 05 May 2016 00:01:05 GMT'] + ETag: ['"0x8D374785A6ECBF1"'] + Last-Modified: ['Thu, 05 May 2016 00:01:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -799,11 +799,11 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:02 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:05 GMT'] x-ms-range: [bytes=None-] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE!} @@ -811,9 +811,9 @@ interactions: Accept-Ranges: [bytes] Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Fri, 22 Apr 2016 23:08:01 GMT'] - ETag: ['"0x8D36B02F45038C5"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:02 GMT'] + Date: ['Thu, 05 May 2016 00:01:05 GMT'] + ETag: ['"0x8D374785A6ECBF1"'] + Last-Modified: ['Thu, 05 May 2016 00:01:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -824,10 +824,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:02 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:05 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=list&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=list&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFF"} headers: Content-Type: [application/xml] - Date: ['Fri, 22 Apr 2016 23:08:01 GMT'] + Date: ['Thu, 05 May 2016 00:01:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -845,15 +845,15 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:02 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:05 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=stats&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=stats&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFF1"} headers: Content-Type: [application/xml] - Date: ['Fri, 22 Apr 2016 23:08:03 GMT'] + Date: ['Thu, 05 May 2016 00:01:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -864,14 +864,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:02 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:05 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:02 GMT'] + Date: ['Thu, 05 May 2016 00:01:08 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -881,14 +881,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:03 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:07 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:03 GMT'] + Date: ['Thu, 05 May 2016 00:01:07 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified resource does not exist.} @@ -899,14 +899,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:03 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:07 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:03 GMT'] + Date: ['Thu, 05 May 2016 00:01:07 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -916,18 +916,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:03 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:08 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFFResourceNotFoundThe\ - \ specified resource does not exist.\nRequestId:bfe73879-001a-011d-25eb-9c255b000000\n\ - Time:2016-04-22T23:08:04.3505672Z"} + \ specified resource does not exist.\nRequestId:e7ccdb2f-001a-0040-3c61-a61998000000\n\ + Time:2016-05-05T00:01:08.3491353Z"} headers: Content-Length: ['223'] Content-Type: [application/xml] - Date: ['Fri, 22 Apr 2016 23:08:03 GMT'] + Date: ['Thu, 05 May 2016 00:01:08 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified resource does not exist.} @@ -938,18 +938,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:04 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:08 GMT'] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:04 GMT'] - ETag: ['"0x8D36B02F5C4BD0F"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:04 GMT'] + Date: ['Thu, 05 May 2016 00:01:08 GMT'] + ETag: ['"0x8D374785C781387"'] + Last-Modified: ['Thu, 05 May 2016 00:01:08 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -959,16 +959,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:04 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:08 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&comp=metadata&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&comp=metadata&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:03 GMT'] - ETag: ['"0x8D36B02F5C4BD0F"'] - Last-Modified: ['Fri, 22 Apr 2016 23:08:04 GMT'] + Date: ['Thu, 05 May 2016 00:01:08 GMT'] + ETag: ['"0x8D374785C781387"'] + Last-Modified: ['Thu, 05 May 2016 00:01:08 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] @@ -981,14 +981,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:04 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:08 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:05 GMT'] + Date: ['Thu, 05 May 2016 00:01:09 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -998,16 +998,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:05 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:09 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/?restype=service&comp=properties&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/?restype=service&comp=properties&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: "\uFEFF1.0truetruetrue71.0falsefalse"} headers: Content-Type: [application/xml] - Date: ['Fri, 22 Apr 2016 23:08:04 GMT'] + Date: ['Thu, 05 May 2016 00:01:10 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -1018,14 +1018,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:05 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:10 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:04 GMT'] + Date: ['Thu, 05 May 2016 00:01:10 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -1036,14 +1036,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Fri, 22 Apr 2016 23:08:05 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:01:10 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&ss=f&se=2017-01-01T00%3A00Z&sig=kyScBgkQqQHedmxXn7KlMz9PWJBaGeokuSnCEXQPft4%3D&srt=sco&sv=2015-04-05 + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&ss=f&se=2017-01-01T00%3A00Z&srt=sco&sig=DBYin5vhjWSje8r8AA13Mkpu0MSVsYFtuPfFSDVjXcA%3D&sp=rwdl&sv=2015-04-05 response: body: {string: ''} headers: - Date: ['Fri, 22 Apr 2016 23:08:05 GMT'] + Date: ['Thu, 05 May 2016 00:01:10 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py index 4c040826850..4af1a1c1e63 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py @@ -1,9 +1,18 @@ +from azure.mgmt.compute import ComputeManagementClient, ComputeManagementClientConfiguration from azure.mgmt.compute.models import VirtualHardDisk from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter) +from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli._locale import L from azure.cli.command_modules.vm._validators import MinMaxValue +# FACTORIES + +def _compute_client_factory(**_): + return get_mgmt_service_client(ComputeManagementClient, ComputeManagementClientConfiguration) + +# BASIC PARAMETER CONFIGURATION + PARAMETER_ALIASES = GLOBAL_COMMON_PARAMETERS.copy() PARAMETER_ALIASES.update({ 'diskname': { diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index dbcb0b27916..822f8a416bc 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -11,19 +11,15 @@ from azure.cli._locale import L from azure.cli.commands import CommandTable, LongRunningOperation, RESOURCE_GROUP_ARG_NAME from azure.cli.commands._command_creation import get_mgmt_service_client -from azure.mgmt.compute import ComputeManagementClient, ComputeManagementClientConfiguration -from ._params import PARAMETER_ALIASES - -def _compute_client_factory(_): - return get_mgmt_service_client(ComputeManagementClient, ComputeManagementClientConfiguration) +from ._params import PARAMETER_ALIASES, _compute_client_factory command_table = CommandTable() def vm_getter(args): ''' Retreive a VM based on the `args` passed in. ''' - client = _compute_client_factory(args) + client = _compute_client_factory(**args) result = client.virtual_machines.get(args.get(RESOURCE_GROUP_ARG_NAME), args.get('vm_name')) return result @@ -31,7 +27,7 @@ def vm_setter(args, instance, start_msg, end_msg): '''Update the given Virtual Machine instance ''' instance.resources = None # Issue: https://github.com/Azure/autorest/issues/934 - client = _compute_client_factory(args) + client = _compute_client_factory(**args) poller = client.virtual_machines.create_or_update( resource_group_name=args.get(RESOURCE_GROUP_ARG_NAME), vm_name=args.get('vm_name'), @@ -66,7 +62,7 @@ def invoke(args): @command_table.command('vm list', description=L('List Virtual Machines.')) @command_table.option(**PARAMETER_ALIASES['optional_resource_group_name']) def list_vm(args): - ccf = _compute_client_factory(args) + ccf = _compute_client_factory(**args) group = args.get(RESOURCE_GROUP_ARG_NAME) vm_list = ccf.virtual_machines.list(resource_group_name=group) if group else \ ccf.virtual_machines.list_all() @@ -144,7 +140,7 @@ def _load_images_thru_services(publisher, offer, sku, location): from concurrent.futures import ThreadPoolExecutor all_images = [] - client = _compute_client_factory({}) + client = _compute_client_factory() def _load_images_from_publisher(publisher): offers = client.virtual_machine_images.list_offers(location, publisher) @@ -205,7 +201,7 @@ def _parse_rg_name(strid): class ConvenienceVmCommands(object): # pylint: disable=too-few-public-methods - def __init__(self, _): + def __init__(self, **_): pass # pylint: disable=no-self-use,too-many-arguments diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index 8c20051a080..5e5f01a2a04 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -1,6 +1,6 @@ import argparse import re -from azure.mgmt.compute import ComputeManagementClient, ComputeManagementClientConfiguration + from azure.mgmt.compute.operations import (AvailabilitySetsOperations, VirtualMachineExtensionImagesOperations, VirtualMachineExtensionsOperations, @@ -11,8 +11,8 @@ VirtualMachineScaleSetsOperations, VirtualMachineScaleSetVMsOperations) -from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition +from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli.commands import CommandTable, LongRunningOperation from azure.cli._locale import L from azure.cli.command_modules.vm.mgmt.lib import (VMCreationClient as VMClient, @@ -21,14 +21,11 @@ from azure.cli.command_modules.vm.mgmt.lib.operations import VMOperations from azure.cli._help_files import helps -from ._params import PARAMETER_ALIASES +from ._params import PARAMETER_ALIASES, _compute_client_factory from .custom import ConvenienceVmCommands command_table = CommandTable() -def _compute_client_factory(_): - return get_mgmt_service_client(ComputeManagementClient, ComputeManagementClientConfiguration) - def _patch_aliases(alias_items): aliases = PARAMETER_ALIASES.copy() aliases.update(alias_items) From 582aa54e8ea1998f68d41c603d5e585d32e282c5 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Wed, 4 May 2016 17:14:38 -0700 Subject: [PATCH 03/27] Finally storage works again!!!!!! --- src/azure/cli/main.py | 6 +- src/azure/cli/utils/command_test_script.py | 2 +- .../cli/command_modules/storage/_params.py | 5 +- .../tests/recordings/expected_results.res | 1 + .../tests/recordings/test_storage_blob.yaml | 1032 +++++++++++++++-- 5 files changed, 957 insertions(+), 89 deletions(-) diff --git a/src/azure/cli/main.py b/src/azure/cli/main.py index 150cc716cc2..967894f7033 100644 --- a/src/azure/cli/main.py +++ b/src/azure/cli/main.py @@ -48,7 +48,7 @@ def main(args, file=sys.stdout): #pylint: disable=redefined-builtin return ex.args[1] if len(ex.args) >= 2 else -1 except KeyboardInterrupt: return -1 - #except Exception as ex: # pylint: disable=broad-except - # logger.error(ex) - # return -1 + except Exception as ex: # pylint: disable=broad-except + logger.error(ex) + return -1 diff --git a/src/azure/cli/utils/command_test_script.py b/src/azure/cli/utils/command_test_script.py index 83da770d2e6..e71fb78896d 100644 --- a/src/azure/cli/utils/command_test_script.py +++ b/src/azure/cli/utils/command_test_script.py @@ -74,7 +74,7 @@ def _check_json(source, checks): _check_json(source[check], checks[check]) else: assert source[check] == checks[check] - print('RUNNING: {}'.format(command)) + #print('RUNNING: {}'.format(command)) output = StringIO() command += ' -o json' cli(command.split(), file=output) 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 98ca8a8fdca..42023503cfb 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 @@ -30,7 +30,7 @@ def file_data_service_factory(**kwargs): sas_token=kwargs.pop('sas_token', None)) def blob_data_service_factory(**kwargs): - blob_type = kwargs.get('type') + blob_type = kwargs.get('blob_type') blob_service = blob_types.get(blob_type, BlockBlobService) return get_data_service_client( blob_service, @@ -114,8 +114,7 @@ def get_sas_token(string): }, 'blob_type': { 'name': '--blob-type', - 'choices': blob_types.keys(), - 'type': lambda x: blob_types[x] + 'choices': blob_types.keys() }, 'container_name': { 'name': '--container-name -c', diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res index c749760b3df..a9adc62f919 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res @@ -1,5 +1,6 @@ { "test_storage_account": "{\n \"message\": null,\n \"nameAvailable\": true,\n \"reason\": null\n}{\n \"message\": \"The storage account named travistestresourcegr3014 is already taken.\",\n \"nameAvailable\": false,\n \"reason\": \"AlreadyExists\"\n}Account Type : Standard_LRS\nCreation Time : 2016-04-06T21:44:48.400791+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/teststorageaccount02\nLast Geo Failover Time : None\nLocation : westus\nName : teststorageaccount02\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://teststorageaccount02.blob.core.windows.net/\n File : https://teststorageaccount02.file.core.windows.net/\n Queue : https://teststorageaccount02.queue.core.windows.net/\n Table : https://teststorageaccount02.table.core.windows.net/\nTags :\n Cat : \n Foo : bar\n\nAccount Type : Standard_LRS\nCreation Time : 2016-04-26T00:00:45.729978+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\nLast Geo Failover Time : None\nLocation : westus\nName : travistestresourcegr3014\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://travistestresourcegr3014.blob.core.windows.net/\n File : https://travistestresourcegr3014.file.core.windows.net/\n Queue : https://travistestresourcegr3014.queue.core.windows.net/\n Table : https://travistestresourcegr3014.table.core.windows.net/\nTags :\n None :{\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-04-26T00:00:45.729978+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"travistestresourcegr3014\",\n \"primaryEndpoints\": {\n \"blob\": \"https://travistestresourcegr3014.blob.core.windows.net/\",\n \"file\": \"https://travistestresourcegr3014.file.core.windows.net/\",\n \"queue\": \"https://travistestresourcegr3014.queue.core.windows.net/\",\n \"table\": \"https://travistestresourcegr3014.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n}Current Value : 40\nLimit : 100\nUnit : Count\nName :\n Localized Value : Storage Accounts\n Value : StorageAccountsConnection String : DefaultEndpointsProtocol=http;AccountName=travistestresourcegr3014;AccountKey=c2KEkCapJUqvAC2HDmnv/ZFiaLWkBYmu/fZFnt8ctHqPLtauCVfboEI4OwMQqudAdcEyjS/1cZvcNkas/pIXhg==Key1 : c2KEkCapJUqvAC2HDmnv/ZFiaLWkBYmu/fZFnt8ctHqPLtauCVfboEI4OwMQqudAdcEyjS/1cZvcNkas/pIXhg==\nKey2 : dyTMiz75YtX+6iJr1XLYNtya61294JmVc5XgWOc6JYTMp582ACmTJuVOvbyTq+Hh0EFGM1LyaQItcDRmiXGUnA==Key1 : wg2FxOdgK5ixrOpEkKnBYhOU6m+B1eQX8GIav9i5dG7pVqmBhEYnYz+TnQXUD9VaIfOFjPMHjM8QQsPjcRAI5w==\nKey2 : XLin5Irl8vx6klJ3mX0tJEUi9kK+pr+XMzFt1GyN35wSZhwwHoF/S3Kt+YJDfBfbpiwadcGOGDjxZNEDunazBA==Key1 : wg2FxOdgK5ixrOpEkKnBYhOU6m+B1eQX8GIav9i5dG7pVqmBhEYnYz+TnQXUD9VaIfOFjPMHjM8QQsPjcRAI5w==\nKey2 : 98FwoBTWu8bz4yGG8p4k3EEG/n7RZpF32/kyrrfdmZH1XNIhgLpJPoe/jVr0BgtErhq6L1yaFuQ7HnbKxddwbA=={\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"cat\": \"\",\n \"foo\": \"bar\"\n },\n \"type\": null\n}{\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": null\n}{\n \"accountType\": \"Standard_GRS\",\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": null,\n \"type\": null\n}", "test_storage_account_delete": "", + "test_storage_blob": "truetrue{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D37479D4A12DC2\\\"\",\n \"lastModified\": \"2016-05-05T00:11:39+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}Next Marker : \nItems :\n Metadata : None\n Name : bootdiagnostics-linuxtest-f6c88058-8d96-4f6a-a090-9fb5411151d0\n Properties :\n Etag : \"0x8D36E19CE91BE4A\"\n Last Modified : 2016-04-26T21:29:10+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : bootdiagnostics-windowste-2006bcb8-19b1-48c0-9822-da025cd5a5f4\n Properties :\n Etag : \"0x8D36E114D516083\"\n Last Modified : 2016-04-26T20:28:18+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : testcontainer01\n Properties :\n Etag : \"0x8D37479D4A12DC2\"\n Last Modified : 2016-05-05T00:11:39+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : vhds\n Properties :\n Etag : \"0x8D36E0F38BB034E\"\n Last Modified : 2016-04-26T20:13:24+00:00\n Lease Duration : infinite\n Lease State : leased\n Lease Status : locked\n Lease :\n Duration : None\n State : None\n Status : None{\n \"foo\": \"bar\",\n \"moo\": \"bak\"\n}Cors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nLogging :\n Delete : False\n Read : False\n Version : 1.0\n Write : False\n Retention Policy :\n Days : None\n Enabled : False\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : Falsetruetruetrue\"https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob\"{\n \"a\": \"b\",\n \"c\": \"d\"\n}Next Marker : \nItems :\n Content : None\n Metadata : None\n Name : testappendblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : AppendBlob\n Content Length : 156\n Etag : 0x8D37479D6C9B2F3\n Last Modified : 2016-05-05T00:11:43+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testblockblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : BlockBlob\n Content Length : 78\n Etag : 0x8D37479D74EBB74\n Last Modified : 2016-05-05T00:11:44+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : zeGiTMG1TdAobIHawzap3A==\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testpageblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : PageBlob\n Content Length : 512\n Etag : 0x8D37479D64BB0FC\n Last Modified : 2016-05-05T00:11:42+00:00\n Page Blob Sequence Number : None\n Sequence Number : 0\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D37479D74EBB74\\\"\",\n \"lastModified\": \"2016-05-05T00:11:44+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D37479D74EBB74\\\"\",\n \"lastModified\": \"2016-05-05T00:11:44+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D37479D74EBB74\\\"\",\n \"lastModified\": \"2016-05-05T00:11:44+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D37479D74EBB74\\\"\",\n \"lastModified\": \"2016-05-05T00:11:44+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D37479D74EBB74\\\"\",\n \"lastModified\": \"2016-05-05T00:11:44+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}true{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D37479D564734C\\\"\",\n \"lastModified\": \"2016-05-05T00:11:40+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D37479D564734C\\\"\",\n \"lastModified\": \"2016-05-05T00:11:40+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D37479D564734C\\\"\",\n \"lastModified\": \"2016-05-05T00:11:40+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D37479D564734C\\\"\",\n \"lastModified\": \"2016-05-05T00:11:40+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}true", "test_storage_file": "truetruetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}Next Marker : None\nItems :\n Metadata : None\n Name : testshare\n Properties :\n Etag : \"0x8D36E189FD7EB3F\"\n Last Modified : 2016-04-26T21:20:42+00:00\n Quota : 5120\n Metadata : None\n Name : testshare01\n Properties :\n Etag : \"0x8D37478529F2ADC\"\n Last Modified : 2016-05-05T00:00:52+00:00\n Quota : 5120\n Metadata : None\n Name : testshare02\n Properties :\n Etag : \"0x8D3747852930D21\"\n Last Modified : 2016-05-05T00:00:51+00:00\n Quota : 5120{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {},\n \"name\": \"testshare01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3747856AC5AF6\\\"\",\n \"lastModified\": \"2016-05-05T00:00:58+00:00\",\n \"quota\": 3\n }\n}true{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testfile.rst\",\n \"properties\": {\n \"contentLength\": 1234,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": null,\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3747857072595\\\"\",\n \"lastModified\": \"2016-05-05T00:00:59+00:00\"\n }\n}{\n \"a\": \"b\",\n \"c\": \"d\"\n}\"https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst\"Next Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 1234\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : Nonetruetrue{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {\n \"a\": \"b\",\n \"c\": \"d\"\n },\n \"name\": \"testdir01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3747859A6B74B\\\"\",\n \"lastModified\": \"2016-05-05T00:01:03+00:00\"\n }\n}trueNext Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 78\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None1truetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}trueCors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : False" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml index 9fa1e74395d..543a0750cb5 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml @@ -25,7 +25,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 00:00:46 GMT'] + Date: ['Thu, 05 May 2016 00:11:38 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -40,18 +40,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:46 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:38 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:8e4563a7-0001-00c7-2761-a64cb7000000\n\ - Time:2016-05-05T00:00:46.8896285Z"} + \ specified container does not exist.\nRequestId:a0cb63ba-0001-000f-1262-a6dd80000000\n\ + Time:2016-05-05T00:11:39.0971228Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 00:00:46 GMT'] + Date: ['Thu, 05 May 2016 00:11:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -61,18 +61,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:46 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:39 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:ac45ae54-0001-0095-1061-a65145000000\n\ - Time:2016-05-05T00:00:46.8287088Z"} + \ specified container does not exist.\nRequestId:e2da33f5-0001-0053-6b62-a62c79000000\n\ + Time:2016-05-05T00:11:39.5147058Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 00:00:46 GMT'] + Date: ['Thu, 05 May 2016 00:11:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -83,16 +83,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:39 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 00:00:47 GMT'] - ETag: ['"0x8D374784FE5B877"'] - Last-Modified: ['Thu, 05 May 2016 00:00:47 GMT'] + Date: ['Thu, 05 May 2016 00:11:38 GMT'] + ETag: ['"0x8D37479D4A12DC2"'] + Last-Modified: ['Thu, 05 May 2016 00:11:39 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -102,16 +102,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:39 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 00:00:47 GMT'] - ETag: ['"0x8D374784FE5B877"'] - Last-Modified: ['Thu, 05 May 2016 00:00:47 GMT'] + Date: ['Thu, 05 May 2016 00:11:39 GMT'] + ETag: ['"0x8D37479D4A12DC2"'] + Last-Modified: ['Thu, 05 May 2016 00:11:39 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -123,16 +123,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:39 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 00:00:47 GMT'] - ETag: ['"0x8D374784FE5B877"'] - Last-Modified: ['Thu, 05 May 2016 00:00:47 GMT'] + Date: ['Thu, 05 May 2016 00:11:39 GMT'] + ETag: ['"0x8D37479D4A12DC2"'] + Last-Modified: ['Thu, 05 May 2016 00:11:39 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -144,22 +144,22 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:39 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/?comp=list&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/?comp=list&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: "\uFEFFbootdiagnostics-linuxtest-f6c88058-8d96-4f6a-a090-9fb5411151d0Tue,\ \ 26 Apr 2016 21:29:10 GMT\"0x8D36E19CE91BE4A\"unlockedavailablebootdiagnostics-windowste-2006bcb8-19b1-48c0-9822-da025cd5a5f4Tue,\ \ 26 Apr 2016 20:28:18 GMT\"0x8D36E114D516083\"unlockedavailabletestcontainer01Thu,\ - \ 05 May 2016 00:00:47 GMT\"0x8D374784FE5B877\"unlockedavailablevhdsTue,\ + \ 05 May 2016 00:11:39 GMT\"0x8D37479D4A12DC2\"unlockedavailablevhdsTue,\ \ 26 Apr 2016 20:13:24 GMT\"0x8D36E0F38BB034E\"lockedleasedinfinite"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 00:00:47 GMT'] + Date: ['Thu, 05 May 2016 00:11:39 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -170,18 +170,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:47 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:40 GMT'] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 00:00:48 GMT'] - ETag: ['"0x8D374785066C4A9"'] - Last-Modified: ['Thu, 05 May 2016 00:00:48 GMT'] + Date: ['Thu, 05 May 2016 00:11:40 GMT'] + ETag: ['"0x8D37479D52670D3"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -191,16 +191,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:40 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 00:00:48 GMT'] - ETag: ['"0x8D374785066C4A9"'] - Last-Modified: ['Thu, 05 May 2016 00:00:48 GMT'] + Date: ['Thu, 05 May 2016 00:11:40 GMT'] + ETag: ['"0x8D37479D52670D3"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] @@ -213,16 +213,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:40 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 00:00:48 GMT'] - ETag: ['"0x8D3747850A4EE3F"'] - Last-Modified: ['Thu, 05 May 2016 00:00:48 GMT'] + Date: ['Thu, 05 May 2016 00:11:40 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -232,16 +232,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:40 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 00:00:48 GMT'] - ETag: ['"0x8D3747850A4EE3F"'] - Last-Modified: ['Thu, 05 May 2016 00:00:48 GMT'] + Date: ['Thu, 05 May 2016 00:11:41 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -251,16 +251,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:40 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/?restype=service&comp=properties&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/?restype=service&comp=properties&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 00:00:48 GMT'] + Date: ['Thu, 05 May 2016 00:11:41 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -274,17 +274,17 @@ interactions: Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Thu, 05 May 2016 00:00:48 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:41 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 05 May 2016 00:00:48 GMT'] - ETag: ['"0x8D3747851441EC1"'] - Last-Modified: ['Thu, 05 May 2016 00:00:49 GMT'] + Date: ['Thu, 05 May 2016 00:11:40 GMT'] + ETag: ['"0x8D37479D6087CC4"'] + Last-Modified: ['Thu, 05 May 2016 00:11:42 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -294,10 +294,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:49 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:41 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: @@ -305,9 +305,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 00:00:48 GMT'] - ETag: ['"0x8D3747851441EC1"'] - Last-Modified: ['Thu, 05 May 2016 00:00:49 GMT'] + Date: ['Thu, 05 May 2016 00:11:40 GMT'] + ETag: ['"0x8D37479D6087CC4"'] + Last-Modified: ['Thu, 05 May 2016 00:11:42 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -315,6 +315,28 @@ interactions: x-ms-version: ['2015-04-05'] x-ms-write-protection: ['false'] status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-blob-content-length: ['512'] + x-ms-blob-type: [PageBlob] + x-ms-date: ['Thu, 05 May 2016 00:11:41 GMT'] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:41 GMT'] + ETag: ['"0x8D37479D6445C2A"'] + Last-Modified: ['Thu, 05 May 2016 00:11:42 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 201, message: Created} - request: body: !!binary | VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE @@ -330,20 +352,23 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] Content-Length: ['512'] + If-Match: ['"0x8D37479D6445C2A"'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-blob-type: [BlockBlob] - x-ms-date: ['Thu, 05 May 2016 00:00:49 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:41 GMT'] + x-ms-page-write: [update] + x-ms-range: [bytes=0-511] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?comp=page&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: Content-MD5: [JKbxCPFguN3PtJpiW3lCrQ==] - Date: ['Thu, 05 May 2016 00:00:49 GMT'] - ETag: ['"0x8D3747851989552"'] - Last-Modified: ['Thu, 05 May 2016 00:00:50 GMT'] + Date: ['Thu, 05 May 2016 00:11:41 GMT'] + ETag: ['"0x8D37479D64BB0FC"'] + Last-Modified: ['Thu, 05 May 2016 00:11:42 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-sequence-number: ['0'] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: @@ -352,22 +377,22 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:49 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:41 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['512'] - Content-MD5: [JKbxCPFguN3PtJpiW3lCrQ==] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 00:00:50 GMT'] - ETag: ['"0x8D3747851989552"'] - Last-Modified: ['Thu, 05 May 2016 00:00:50 GMT'] + Date: ['Thu, 05 May 2016 00:11:41 GMT'] + ETag: ['"0x8D37479D64BB0FC"'] + Last-Modified: ['Thu, 05 May 2016 00:11:42 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-blob-type: [BlockBlob] + x-ms-blob-sequence-number: ['0'] + x-ms-blob-type: [PageBlob] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-version: ['2015-04-05'] @@ -379,14 +404,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:49 GMT'] + x-ms-date: ['Thu, 05 May 2016 00:11:41 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 00:00:50 GMT'] + Date: ['Thu, 05 May 2016 00:11:42 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified blob does not exist.} @@ -397,14 +422,857 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 00:00:50 GMT'] + x-ms-blob-type: [AppendBlob] + x-ms-date: ['Thu, 05 May 2016 00:11:42 GMT'] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:42 GMT'] + ETag: ['"0x8D37479D68F5A89"'] + Last-Modified: ['Thu, 05 May 2016 00:11:42 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 201, message: Created} +- request: + body: !!binary | + VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE + TyBOT1QgTU9WRSBPUiBERUxFVEUh + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['78'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:42 GMT'] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Content-MD5: [zeGiTMG1TdAobIHawzap3A==] + Date: ['Thu, 05 May 2016 00:11:42 GMT'] + ETag: ['"0x8D37479D696D674"'] + Last-Modified: ['Thu, 05 May 2016 00:11:42 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-append-offset: ['0'] + x-ms-blob-committed-block-count: ['1'] + x-ms-version: ['2015-04-05'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:42 GMT'] + x-ms-version: ['2015-04-05'] + method: HEAD + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Accept-Ranges: [bytes] + Content-Length: ['78'] + Content-Type: [application/octet-stream] + Date: ['Thu, 05 May 2016 00:11:41 GMT'] + ETag: ['"0x8D37479D696D674"'] + Last-Modified: ['Thu, 05 May 2016 00:11:42 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-committed-block-count: ['1'] + x-ms-blob-type: [AppendBlob] + x-ms-lease-state: [available] + x-ms-lease-status: [unlocked] + x-ms-version: ['2015-04-05'] + x-ms-write-protection: ['false'] + status: {code: 200, message: OK} +- request: + body: !!binary | + VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE + TyBOT1QgTU9WRSBPUiBERUxFVEUh + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['78'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:42 GMT'] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Content-MD5: [zeGiTMG1TdAobIHawzap3A==] + Date: ['Thu, 05 May 2016 00:11:41 GMT'] + ETag: ['"0x8D37479D6C9B2F3"'] + Last-Modified: ['Thu, 05 May 2016 00:11:43 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-append-offset: ['78'] + x-ms-blob-committed-block-count: ['2'] + x-ms-version: ['2015-04-05'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:42 GMT'] + x-ms-version: ['2015-04-05'] + method: HEAD + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Accept-Ranges: [bytes] + Content-Length: ['156'] + Content-Type: [application/octet-stream] + Date: ['Thu, 05 May 2016 00:11:42 GMT'] + ETag: ['"0x8D37479D6C9B2F3"'] + Last-Modified: ['Thu, 05 May 2016 00:11:43 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-committed-block-count: ['2'] + x-ms-blob-type: [AppendBlob] + x-ms-lease-state: [available] + x-ms-lease-status: [unlocked] + x-ms-version: ['2015-04-05'] + x-ms-write-protection: ['false'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:42 GMT'] + x-ms-meta-a: [b] + x-ms-meta-c: [d] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:42 GMT'] + ETag: ['"0x8D37479D7117C25"'] + Last-Modified: ['Thu, 05 May 2016 00:11:43 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:43 GMT'] + x-ms-version: ['2015-04-05'] + method: GET + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:43 GMT'] + ETag: ['"0x8D37479D7117C25"'] + Last-Modified: ['Thu, 05 May 2016 00:11:43 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-meta-a: [b] + x-ms-meta-c: [d] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:43 GMT'] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:43 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:43 GMT'] + x-ms-version: ['2015-04-05'] + method: GET + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:42 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:43 GMT'] + x-ms-version: ['2015-04-05'] + method: GET + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=list&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: "\uFEFFtestappendblobThu,\ + \ 05 May 2016 00:11:43 GMT0x8D37479D6C9B2F3156application/octet-streamAppendBlobunlockedavailabletestblockblobThu,\ + \ 05 May 2016 00:11:44 GMT0x8D37479D74EBB7478application/octet-streamzeGiTMG1TdAobIHawzap3A==BlockBlobunlockedavailabletestpageblobThu,\ + \ 05 May 2016 00:11:42 GMT0x8D37479D64BB0FC512application/octet-stream0PageBlobunlockedavailable"} + headers: + Content-Type: [application/xml] + Date: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:43 GMT'] + x-ms-version: ['2015-04-05'] + method: HEAD + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Accept-Ranges: [bytes] + Content-Length: ['78'] + Content-MD5: [zeGiTMG1TdAobIHawzap3A==] + Content-Type: [application/octet-stream] + Date: ['Thu, 05 May 2016 00:11:43 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-type: [BlockBlob] + x-ms-lease-state: [available] + x-ms-lease-status: [unlocked] + x-ms-version: ['2015-04-05'] + x-ms-write-protection: ['false'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:44 GMT'] + x-ms-range: [bytes=None-] + x-ms-version: ['2015-04-05'] + method: GET + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: This is a test file for performance of automated tests. DO NOT + MOVE OR DELETE!} + headers: + Accept-Ranges: [bytes] + Content-Length: ['78'] + Content-MD5: [zeGiTMG1TdAobIHawzap3A==] + Content-Type: [application/octet-stream] + Date: ['Thu, 05 May 2016 00:11:44 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-type: [BlockBlob] + x-ms-lease-state: [available] + x-ms-lease-status: [unlocked] + x-ms-version: ['2015-04-05'] + x-ms-write-protection: ['false'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + If-Modified-Since: ['Fri, 08 Apr 2016 12:00:00 GMT'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:44 GMT'] + x-ms-lease-action: [acquire] + x-ms-lease-duration: ['60'] + x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:44 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] + x-ms-version: ['2015-04-05'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:44 GMT'] + x-ms-version: ['2015-04-05'] + method: HEAD + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Accept-Ranges: [bytes] + Content-Length: ['78'] + Content-MD5: [zeGiTMG1TdAobIHawzap3A==] + Content-Type: [application/octet-stream] + Date: ['Thu, 05 May 2016 00:11:44 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-type: [BlockBlob] + x-ms-lease-duration: [fixed] + x-ms-lease-state: [leased] + x-ms-lease-status: [locked] + x-ms-version: ['2015-04-05'] + x-ms-write-protection: ['false'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:44 GMT'] + x-ms-lease-action: [change] + x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] + x-ms-proposed-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:44 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:44 GMT'] + x-ms-lease-action: [renew] + x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:44 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:45 GMT'] + x-ms-version: ['2015-04-05'] + method: HEAD + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Accept-Ranges: [bytes] + Content-Length: ['78'] + Content-MD5: [zeGiTMG1TdAobIHawzap3A==] + Content-Type: [application/octet-stream] + Date: ['Thu, 05 May 2016 00:11:45 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-type: [BlockBlob] + x-ms-lease-duration: [fixed] + x-ms-lease-state: [leased] + x-ms-lease-status: [locked] + x-ms-version: ['2015-04-05'] + x-ms-write-protection: ['false'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:45 GMT'] + x-ms-lease-action: [break] + x-ms-lease-break-period: ['30'] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:45 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-time: ['30'] + x-ms-version: ['2015-04-05'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:45 GMT'] + x-ms-version: ['2015-04-05'] + method: HEAD + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Accept-Ranges: [bytes] + Content-Length: ['78'] + Content-MD5: [zeGiTMG1TdAobIHawzap3A==] + Content-Type: [application/octet-stream] + Date: ['Thu, 05 May 2016 00:11:46 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-type: [BlockBlob] + x-ms-lease-state: [breaking] + x-ms-lease-status: [locked] + x-ms-version: ['2015-04-05'] + x-ms-write-protection: ['false'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:45 GMT'] + x-ms-lease-action: [release] + x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:45 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:45 GMT'] + x-ms-version: ['2015-04-05'] + method: HEAD + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Accept-Ranges: [bytes] + Content-Length: ['78'] + Content-MD5: [zeGiTMG1TdAobIHawzap3A==] + Content-Type: [application/octet-stream] + Date: ['Thu, 05 May 2016 00:11:45 GMT'] + ETag: ['"0x8D37479D74EBB74"'] + Last-Modified: ['Thu, 05 May 2016 00:11:44 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-type: [BlockBlob] + x-ms-lease-state: [available] + x-ms-lease-status: [unlocked] + x-ms-version: ['2015-04-05'] + x-ms-write-protection: ['false'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:46 GMT'] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=snapshot&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:45 GMT'] + ETag: ['"0x8D37479D6C9B2F3"'] + Last-Modified: ['Thu, 05 May 2016 00:11:43 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-snapshot: ['2016-05-05T00:11:46.9054747Z'] + x-ms-version: ['2015-04-05'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:46 GMT'] + x-ms-version: ['2015-04-05'] + method: HEAD + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?snapshot=2016-05-05T00%3A11%3A46.9054747Z&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Accept-Ranges: [bytes] + Content-Length: ['156'] + Content-Type: [application/octet-stream] + Date: ['Thu, 05 May 2016 00:11:45 GMT'] + ETag: ['"0x8D37479D6C9B2F3"'] + Last-Modified: ['Thu, 05 May 2016 00:11:43 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-blob-committed-block-count: ['2'] + x-ms-blob-type: [AppendBlob] + x-ms-version: ['2015-04-05'] + x-ms-write-protection: ['false'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:46 GMT'] + x-ms-version: ['2015-04-05'] + method: DELETE + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:45 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:46 GMT'] + x-ms-version: ['2015-04-05'] + method: HEAD + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:46 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 404, message: The specified blob does not exist.} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + If-Modified-Since: ['Fri, 08 Apr 2016 12:00:00 GMT'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:46 GMT'] + x-ms-lease-action: [acquire] + x-ms-lease-duration: ['60'] + x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:47 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] + x-ms-version: ['2015-04-05'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:47 GMT'] + x-ms-version: ['2015-04-05'] + method: GET + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:46 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-duration: [fixed] + x-ms-lease-state: [leased] + x-ms-lease-status: [locked] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:47 GMT'] + x-ms-lease-action: [change] + x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] + x-ms-proposed-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:47 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:47 GMT'] + x-ms-lease-action: [renew] + x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:47 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:47 GMT'] + x-ms-version: ['2015-04-05'] + method: GET + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:47 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-duration: [fixed] + x-ms-lease-state: [leased] + x-ms-lease-status: [locked] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:47 GMT'] + x-ms-lease-action: [break] + x-ms-lease-break-period: ['30'] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:47 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-time: ['30'] + x-ms-version: ['2015-04-05'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:48 GMT'] + x-ms-version: ['2015-04-05'] + method: GET + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:48 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-state: [breaking] + x-ms-lease-status: [locked] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:48 GMT'] + x-ms-lease-action: [release] + x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] + x-ms-version: ['2015-04-05'] + method: PUT + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:48 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:48 GMT'] + x-ms-version: ['2015-04-05'] + method: GET + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:48 GMT'] + ETag: ['"0x8D37479D564734C"'] + Last-Modified: ['Thu, 05 May 2016 00:11:40 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-lease-state: [available] + x-ms-lease-status: [unlocked] + x-ms-version: ['2015-04-05'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:48 GMT'] + x-ms-version: ['2015-04-05'] + method: DELETE + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: ''} + headers: + Date: ['Thu, 05 May 2016 00:11:48 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:48 GMT'] + x-ms-version: ['2015-04-05'] + method: GET + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z + response: + body: {string: "\uFEFFContainerNotFoundThe\ + \ specified container does not exist.\nRequestId:3398cb56-0001-001b-2e62-a61ee4000000\n\ + Time:2016-05-05T00:11:50.0081911Z"} + headers: + Content-Length: ['225'] + Content-Type: [application/xml] + Date: ['Thu, 05 May 2016 00:11:49 GMT'] + Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + x-ms-version: ['2015-04-05'] + status: {code: 404, message: The specified container does not exist.} +- request: + body: null + headers: + Accept-Encoding: [identity] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] + x-ms-date: ['Thu, 05 May 2016 00:11:49 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&se=2017-01-01T00%3A00Z&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&sp=rwdl&sv=2015-04-05 + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&ss=b&sp=rwdl&sv=2015-04-05&srt=sco&sig=vQ9hPzoiFLUNXKw/hJ%2BuiNSDnDHJurYxcGdEgn4NzXE%3D&se=2017-01-01T00%3A00Z response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 00:00:49 GMT'] + Date: ['Thu, 05 May 2016 00:11:49 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} From 45f2bebd09c509b9e2bc1fa210bbaa094fcc88a6 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Thu, 5 May 2016 10:31:59 -0700 Subject: [PATCH 04/27] Fix resource group commands --- azure-cli.pyproj | 1 - .../cli/command_modules/resource/_params.py | 9 + .../cli/command_modules/resource/custom.py | 98 +++++----- .../cli/command_modules/resource/generated.py | 5 +- .../tests/recordings/expected_results.res | 2 +- .../recordings/test_resource_group_list.yaml | 168 ++++++++++++------ .../test_resource_show_under_group.yaml | 4 +- 7 files changed, 170 insertions(+), 117 deletions(-) diff --git a/azure-cli.pyproj b/azure-cli.pyproj index 1df2df2f0fd..d03725ea3e2 100644 --- a/azure-cli.pyproj +++ b/azure-cli.pyproj @@ -70,7 +70,6 @@ Code - Code diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py index 5b163b91f00..18f866f7743 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py @@ -1,8 +1,17 @@ +from azure.mgmt.resource.resources import (ResourceManagementClient, + ResourceManagementClientConfiguration) + from azure.cli.commands import COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS +from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli._locale import L from ._validators import validate_resource_type, validate_parent +# FACTORIES + +def _resource_client_factory(_): + return get_mgmt_service_client(ResourceManagementClient, ResourceManagementClientConfiguration) + # BASIC PARAMETER CONFIGURATION PARAMETER_ALIASES = GLOBAL_COMMON_PARAMETERS.copy() diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py index 7134c20e319..5be4af572f8 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py @@ -1,58 +1,14 @@ +# pylint: disable=too-few-public-methods,no-self-use,too-many-arguments + from azure.mgmt.resource.resources.models.resource_group import ResourceGroup from azure.cli.parser import IncorrectUsageError from azure.cli.commands import CommandTable -from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli._locale import L -command_table = CommandTable() - -def _resource_client_factory(_): - from azure.mgmt.resource.resources import (ResourceManagementClient, - ResourceManagementClientConfiguration) - return get_mgmt_service_client(ResourceManagementClient, ResourceManagementClientConfiguration) - -#### RESOURCE GROUP COMMANDS ################################# - -class ConvenienceResourceGroupCommands(object): # pylint: disable=too-few-public-methods - - def __init__(self, _): - pass - - def list(self, tag=None): # pylint: disable=no-self-use - ''' List resource groups, optionally filtered by a tag. - :param str tag:tag to filter by in 'key[=value]' format - ''' - rcf = _resource_client_factory(None) - - filters = [] - if tag: - key = tag.keys()[0] - filters.append("tagname eq '{}'".format(key)) - filters.append("tagvalue eq '{}'".format(tag[key])) - - filter_text = ' and '.join(filters) if len(filters) > 0 else None - - groups = rcf.resource_groups.list(filter=filter_text) - return list(groups) +from ._params import _resource_client_factory - def create(self, resource_group_name, location, tags=None): # pylint: disable=no-self-use - ''' Create a new resource group. - :param str resource_group_name:the desired resource group name - :param str location:the resource group location - :param str tags:tags in 'a=b;c' format - ''' - rcf = _resource_client_factory(None) - - if rcf.resource_groups.check_existence(resource_group_name): - raise ValueError('resource group {} already exists'.format(resource_group_name)) - parameters = ResourceGroup( - location=location, - tags=tags - ) - return rcf.resource_groups.create_or_update(resource_group_name, parameters) - -#### RESOURCE COMMANDS ####################################### +command_table = CommandTable() def _list_resources_odata_filter_builder(location=None, resource_type=None, tag=None, name=None): '''Build up OData filter string from parameters @@ -103,12 +59,50 @@ def _resolve_api_version(rcf, resource_type, parent=None): L('API version is required and could not be resolved for resource {}/{}' .format(resource_type.namespace, resource_type.type))) -class ConvenienceResourceCommands(object): # pylint: disable=too-few-public-methods +class ConvenienceResourceGroupCommands(object): + + def __init__(self, **_): + pass + + def list(self, tag=None): # pylint: disable=no-self-use + ''' List resource groups, optionally filtered by a tag. + :param str tag:tag to filter by in 'key[=value]' format + ''' + rcf = _resource_client_factory(None) + + filters = [] + if tag: + key = tag.keys()[0] + filters.append("tagname eq '{}'".format(key)) + filters.append("tagvalue eq '{}'".format(tag[key])) + + filter_text = ' and '.join(filters) if len(filters) > 0 else None + + groups = rcf.resource_groups.list(filter=filter_text) + return list(groups) + + def create(self, resource_group_name, location, tags=None): + ''' Create a new resource group. + :param str resource_group_name:the desired resource group name + :param str location:the resource group location + :param str tags:tags in 'a=b;c' format + ''' + rcf = _resource_client_factory(None) + + if rcf.resource_groups.check_existence(resource_group_name): + raise ValueError('resource group {} already exists'.format(resource_group_name)) + parameters = ResourceGroup( + location=location, + tags=tags + ) + return rcf.resource_groups.create_or_update(resource_group_name, parameters) + +class ConvenienceResourceCommands(object): - def __init__(self, _): + def __init__(self, **_): pass - def show(self, resource_group, resource_name, resource_type, api_version=None, parent=None): # pylint: disable=too-many-arguments,no-self-use + def show(self, resource_group, resource_name, resource_type, api_version=None, parent=None): ''' Show details of a specific resource in a resource group or subscription :param str resource-group-name:the containing resource group name :param str name:the resource name @@ -131,7 +125,7 @@ def show(self, resource_group, resource_name, resource_type, api_version=None, p ) return results - def list(self, location=None, resource_type=None, tag=None, name=None): # pylint: disable=no-self-use + def list(self, location=None, resource_type=None, tag=None, name=None): ''' List resources EXAMPLES: az resource list --location westus diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py index e52026fb422..eee08804857 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py @@ -8,9 +8,8 @@ from azure.cli.commands import CommandTable, LongRunningOperation from azure.cli._locale import L -from ._params import PARAMETER_ALIASES -from .custom import (_resource_client_factory, - ConvenienceResourceGroupCommands, ConvenienceResourceCommands) +from ._params import PARAMETER_ALIASES, _resource_client_factory +from .custom import ConvenienceResourceGroupCommands, ConvenienceResourceCommands command_table = CommandTable() diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res index 19adb1bd74f..759f93b78cd 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res @@ -1,4 +1,4 @@ { - "test_resource_group_list": "[\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1116\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1116\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1131\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1215\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1397\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1397\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1530\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1530\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1691\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1691\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1804\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1804\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1982\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1982\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2315\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2315\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2316\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2316\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2732\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2732\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3187\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3187\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup32\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup32\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3313\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3313\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3661\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3661\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup381\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup381\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4175\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4175\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4834\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4834\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4978\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5350\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5350\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5458\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5458\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5584\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5584\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5637\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5637\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5835\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5835\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup6020\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup6020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7062\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7062\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7154\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7154\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7265\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7265\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7648\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7648\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7917\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7917\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8241\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8275\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8275\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup867\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9079\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9079\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup922\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup922\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9343\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9343\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9345\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9345\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9369\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9576\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9576\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/availrg\",\n \"location\": \"westus\",\n \"name\": \"availrg\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTeleBenchRG\",\n \"location\": \"westus\",\n \"name\": \"cliTeleBenchRG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658\",\n \"location\": \"westus\",\n \"name\": \"clutst10658\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst10658Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst11617\",\n \"location\": \"westus\",\n \"name\": \"clutst11617\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst12131\",\n \"location\": \"westus\",\n \"name\": \"clutst12131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst14273\",\n \"location\": \"westus\",\n \"name\": \"clutst14273\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst15898\",\n \"location\": \"westus\",\n \"name\": \"clutst15898\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16319\",\n \"location\": \"westus\",\n \"name\": \"clutst16319\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16367\",\n \"location\": \"westus\",\n \"name\": \"clutst16367\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16424\",\n \"location\": \"westus\",\n \"name\": \"clutst16424\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16599\",\n \"location\": \"westus\",\n \"name\": \"clutst16599\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18253\",\n \"location\": \"westus\",\n \"name\": \"clutst18253\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18832\",\n \"location\": \"westus\",\n \"name\": \"clutst18832\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19840\",\n \"location\": \"westus\",\n \"name\": \"clutst19840\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19876\",\n \"location\": \"westus\",\n \"name\": \"clutst19876\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19910\",\n \"location\": \"westus\",\n \"name\": \"clutst19910\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst20217\",\n \"location\": \"westus\",\n \"name\": \"clutst20217\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst22301\",\n \"location\": \"westus\",\n \"name\": \"clutst22301\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst24285\",\n \"location\": \"westus\",\n \"name\": \"clutst24285\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492\",\n \"location\": \"westus\",\n \"name\": \"clutst25492\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst25492Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28055\",\n \"location\": \"westus\",\n \"name\": \"clutst28055\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28400\",\n \"location\": \"westus\",\n \"name\": \"clutst28400\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28769\",\n \"location\": \"westus\",\n \"name\": \"clutst28769\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29085\",\n \"location\": \"westus\",\n \"name\": \"clutst29085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29333\",\n \"location\": \"westus\",\n \"name\": \"clutst29333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst30089\",\n \"location\": \"westus\",\n \"name\": \"clutst30089\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31207\",\n \"location\": \"westus\",\n \"name\": \"clutst31207\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31335\",\n \"location\": \"westus\",\n \"name\": \"clutst31335\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst32303\",\n \"location\": \"westus\",\n \"name\": \"clutst32303\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst34632\",\n \"location\": \"westus\",\n \"name\": \"clutst34632\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst37223\",\n \"location\": \"westus\",\n \"name\": \"clutst37223\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst38483\",\n \"location\": \"westus\",\n \"name\": \"clutst38483\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst39112\",\n \"location\": \"westus\",\n \"name\": \"clutst39112\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst40026\",\n \"location\": \"westus\",\n \"name\": \"clutst40026\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst41390\",\n \"location\": \"westus\",\n \"name\": \"clutst41390\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144\",\n \"location\": \"westus\",\n \"name\": \"clutst42144\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst42144Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43083\",\n \"location\": \"westus\",\n \"name\": \"clutst43083\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43810\",\n \"location\": \"westus\",\n \"name\": \"clutst43810\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43963\",\n \"location\": \"westus\",\n \"name\": \"clutst43963\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44249\",\n \"location\": \"westus\",\n \"name\": \"clutst44249\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44935\",\n \"location\": \"westus\",\n \"name\": \"clutst44935\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst45773\",\n \"location\": \"westus\",\n \"name\": \"clutst45773\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst47034\",\n \"location\": \"westus\",\n \"name\": \"clutst47034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst48178\",\n \"location\": \"westus\",\n \"name\": \"clutst48178\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50877\",\n \"location\": \"westus\",\n \"name\": \"clutst50877\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50926\",\n \"location\": \"westus\",\n \"name\": \"clutst50926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst52016\",\n \"location\": \"westus\",\n \"name\": \"clutst52016\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst53369\",\n \"location\": \"westus\",\n \"name\": \"clutst53369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst54011\",\n \"location\": \"westus\",\n \"name\": \"clutst54011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"testtag\": \"testval\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55339\",\n \"location\": \"westus\",\n \"name\": \"clutst55339\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55642\",\n \"location\": \"westus\",\n \"name\": \"clutst55642\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010\",\n \"location\": \"westus\",\n \"name\": \"clutst56010\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst56010Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst57974\",\n \"location\": \"westus\",\n \"name\": \"clutst57974\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59108\",\n \"location\": \"westus\",\n \"name\": \"clutst59108\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59926\",\n \"location\": \"westus\",\n \"name\": \"clutst59926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst60612\",\n \"location\": \"westus\",\n \"name\": \"clutst60612\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62393\",\n \"location\": \"westus\",\n \"name\": \"clutst62393\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62671\",\n \"location\": \"westus\",\n \"name\": \"clutst62671\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst63961\",\n \"location\": \"westus\",\n \"name\": \"clutst63961\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64118\",\n \"location\": \"westus\",\n \"name\": \"clutst64118\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64902\",\n \"location\": \"westus\",\n \"name\": \"clutst64902\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65563\",\n \"location\": \"westus\",\n \"name\": \"clutst65563\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65944\",\n \"location\": \"westus\",\n \"name\": \"clutst65944\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst68622\",\n \"location\": \"westus\",\n \"name\": \"clutst68622\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst69042\",\n \"location\": \"westus\",\n \"name\": \"clutst69042\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72034\",\n \"location\": \"westus\",\n \"name\": \"clutst72034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72937\",\n \"location\": \"westus\",\n \"name\": \"clutst72937\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73017\",\n \"location\": \"westus\",\n \"name\": \"clutst73017\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73226\",\n \"location\": \"westus\",\n \"name\": \"clutst73226\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73623\",\n \"location\": \"westus\",\n \"name\": \"clutst73623\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74333\",\n \"location\": \"westus\",\n \"name\": \"clutst74333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74607\",\n \"location\": \"westus\",\n \"name\": \"clutst74607\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst75011\",\n \"location\": \"westus\",\n \"name\": \"clutst75011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76021\",\n \"location\": \"westus\",\n \"name\": \"clutst76021\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76811\",\n \"location\": \"westus\",\n \"name\": \"clutst76811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst77155\",\n \"location\": \"westus\",\n \"name\": \"clutst77155\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst78595\",\n \"location\": \"westus\",\n \"name\": \"clutst78595\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst81406\",\n \"location\": \"westus\",\n \"name\": \"clutst81406\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82639\",\n \"location\": \"westus\",\n \"name\": \"clutst82639\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82782\",\n \"location\": \"westus\",\n \"name\": \"clutst82782\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst83830\",\n \"location\": \"westus\",\n \"name\": \"clutst83830\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84001\",\n \"location\": \"westus\",\n \"name\": \"clutst84001\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84215\",\n \"location\": \"westus\",\n \"name\": \"clutst84215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84761\",\n \"location\": \"westus\",\n \"name\": \"clutst84761\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst85399\",\n \"location\": \"westus\",\n \"name\": \"clutst85399\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86517\",\n \"location\": \"westus\",\n \"name\": \"clutst86517\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86564\",\n \"location\": \"westus\",\n \"name\": \"clutst86564\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86711\",\n \"location\": \"westus\",\n \"name\": \"clutst86711\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88326\",\n \"location\": \"westus\",\n \"name\": \"clutst88326\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88434\",\n \"location\": \"westus\",\n \"name\": \"clutst88434\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88867\",\n \"location\": \"westus\",\n \"name\": \"clutst88867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058\",\n \"location\": \"westus\",\n \"name\": \"clutst89058\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89058Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757\",\n \"location\": \"westus\",\n \"name\": \"clutst89757\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89757Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450\",\n \"location\": \"westus\",\n \"name\": \"clutst90450\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst90450Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92020\",\n \"location\": \"westus\",\n \"name\": \"clutst92020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92142\",\n \"location\": \"westus\",\n \"name\": \"clutst92142\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst93247\",\n \"location\": \"westus\",\n \"name\": \"clutst93247\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst95104\",\n \"location\": \"westus\",\n \"name\": \"clutst95104\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96863\",\n \"location\": \"westus\",\n \"name\": \"clutst96863\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96978\",\n \"location\": \"westus\",\n \"name\": \"clutst96978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst97385\",\n \"location\": \"westus\",\n \"name\": \"clutst97385\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98032\",\n \"location\": \"westus\",\n \"name\": \"clutst98032\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98129\",\n \"location\": \"westus\",\n \"name\": \"clutst98129\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98581\",\n \"location\": \"westus\",\n \"name\": \"clutst98581\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ApplicationInsights-CentralUS\",\n \"location\": \"centralus\",\n \"name\": \"Default-ApplicationInsights-CentralUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Networking\",\n \"location\": \"westus\",\n \"name\": \"Default-Networking\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-NotificationHubs-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-NotificationHubs-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ServiceBus-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-ServiceBus-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-SQL-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-SQL-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Storage-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Storage-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Web-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Web-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1233333\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1233333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ecvm1458938841925RG\",\n \"location\": \"southeastasia\",\n \"name\": \"ecvm1458938841925RG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/foozap01\",\n \"location\": \"westus\",\n \"name\": \"foozap01\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/myvms\",\n \"location\": \"westus\",\n \"name\": \"myvms\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ppppp2\",\n \"location\": \"southcentralus\",\n \"name\": \"ppppp2\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/pppppp\",\n \"location\": \"westus\",\n \"name\": \"pppppp\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/r1\",\n \"location\": \"westus\",\n \"name\": \"r1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg15109\",\n \"location\": \"westus\",\n \"name\": \"testrg15109\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg16663\",\n \"location\": \"westus\",\n \"name\": \"testrg16663\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg18579\",\n \"location\": \"westus\",\n \"name\": \"testrg18579\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg8559\",\n \"location\": \"westus\",\n \"name\": \"testrg8559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup\",\n \"location\": \"westus\",\n \"name\": \"TravisTestResourceGroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestADE1370\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestADE1370\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplattestadla7278\",\n \"location\": \"southcentralus\",\n \"name\": \"xplattestadla7278\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestCacheRG\",\n \"location\": \"westus\",\n \"name\": \"xplatTestCacheRG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate1218\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate1218\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate3656\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate3656\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDisk2502\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGCreateDisk2502\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-disk-attachnew-detach-tests\": \"2016-04-29T12:01:11.054Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns2167\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns2167\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns7046\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns7046\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateLbNat3\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateLbNat3\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExpressRoute3509\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGExpressRoute3509\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension5940\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGExtension5940\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-02-29T08:05:18.907Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGExtension9085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-01-21T23:38:57.711Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGroupGatewayCon7412\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGroupGatewayCon7412\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGSz6241\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGSz6241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-sizes-tests\": \"2016-02-02T13:11:46.487Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker2951\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker2951\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-18T16:05:48.920Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker6705\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker6705\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-29T12:20:36.945Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1531\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1531\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1730\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1730\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource194\",\n \"location\": \"westus\",\n \"name\": \"xTestResource194\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2039\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2039\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2660\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2660\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2807\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2807\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource318\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource318\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3362\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3362\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3559\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource411\",\n \"location\": \"westus\",\n \"name\": \"xTestResource411\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource4219\",\n \"location\": \"westus\",\n \"name\": \"xTestResource4219\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource475\",\n \"location\": \"westus\",\n \"name\": \"xTestResource475\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5203\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5203\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5515\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5515\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource723\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource723\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7252\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7252\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7909\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7909\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource811\",\n \"location\": \"westus\",\n \"name\": \"xTestResource811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9256\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9256\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9641\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9641\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9737\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9737\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ygvmgroup\",\n \"location\": \"westus\",\n \"name\": \"ygvmgroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw\",\n \"location\": \"westus\",\n \"name\": \"yugangw\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n }\n]\n", + "test_resource_group_list": "[\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1116\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1116\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1131\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1215\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1397\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1397\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1530\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1530\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1691\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1691\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1804\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1804\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1982\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1982\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2315\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2315\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2316\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2316\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2732\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2732\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3187\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3187\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup32\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup32\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3313\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3313\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3661\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3661\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup381\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup381\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4175\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4175\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4834\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4834\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4978\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5350\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5350\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5458\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5458\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5584\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5584\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5637\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5637\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5835\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5835\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup6020\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup6020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7062\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7062\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7154\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7154\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7265\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7265\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7648\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7648\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7681\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7681\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7917\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7917\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8241\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8275\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8275\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup867\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9079\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9079\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup922\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup922\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9343\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9343\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9345\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9345\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9369\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9469\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9469\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9576\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9576\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/availrg\",\n \"location\": \"westus\",\n \"name\": \"availrg\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTeleBenchRG\",\n \"location\": \"westus\",\n \"name\": \"cliTeleBenchRG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658\",\n \"location\": \"westus\",\n \"name\": \"clutst10658\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst10658Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst11617\",\n \"location\": \"westus\",\n \"name\": \"clutst11617\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst12131\",\n \"location\": \"westus\",\n \"name\": \"clutst12131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst14273\",\n \"location\": \"westus\",\n \"name\": \"clutst14273\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst15898\",\n \"location\": \"westus\",\n \"name\": \"clutst15898\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16319\",\n \"location\": \"westus\",\n \"name\": \"clutst16319\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16367\",\n \"location\": \"westus\",\n \"name\": \"clutst16367\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16424\",\n \"location\": \"westus\",\n \"name\": \"clutst16424\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16599\",\n \"location\": \"westus\",\n \"name\": \"clutst16599\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18253\",\n \"location\": \"westus\",\n \"name\": \"clutst18253\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18832\",\n \"location\": \"westus\",\n \"name\": \"clutst18832\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19840\",\n \"location\": \"westus\",\n \"name\": \"clutst19840\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19876\",\n \"location\": \"westus\",\n \"name\": \"clutst19876\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19910\",\n \"location\": \"westus\",\n \"name\": \"clutst19910\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst20217\",\n \"location\": \"westus\",\n \"name\": \"clutst20217\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst22301\",\n \"location\": \"westus\",\n \"name\": \"clutst22301\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst24285\",\n \"location\": \"westus\",\n \"name\": \"clutst24285\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492\",\n \"location\": \"westus\",\n \"name\": \"clutst25492\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst25492Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28055\",\n \"location\": \"westus\",\n \"name\": \"clutst28055\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28400\",\n \"location\": \"westus\",\n \"name\": \"clutst28400\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28769\",\n \"location\": \"westus\",\n \"name\": \"clutst28769\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29085\",\n \"location\": \"westus\",\n \"name\": \"clutst29085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29333\",\n \"location\": \"westus\",\n \"name\": \"clutst29333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst30089\",\n \"location\": \"westus\",\n \"name\": \"clutst30089\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31207\",\n \"location\": \"westus\",\n \"name\": \"clutst31207\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31335\",\n \"location\": \"westus\",\n \"name\": \"clutst31335\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst32303\",\n \"location\": \"westus\",\n \"name\": \"clutst32303\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst34632\",\n \"location\": \"westus\",\n \"name\": \"clutst34632\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst37223\",\n \"location\": \"westus\",\n \"name\": \"clutst37223\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst38483\",\n \"location\": \"westus\",\n \"name\": \"clutst38483\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst39112\",\n \"location\": \"westus\",\n \"name\": \"clutst39112\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst40026\",\n \"location\": \"westus\",\n \"name\": \"clutst40026\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst41390\",\n \"location\": \"westus\",\n \"name\": \"clutst41390\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144\",\n \"location\": \"westus\",\n \"name\": \"clutst42144\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst42144Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43083\",\n \"location\": \"westus\",\n \"name\": \"clutst43083\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43810\",\n \"location\": \"westus\",\n \"name\": \"clutst43810\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43963\",\n \"location\": \"westus\",\n \"name\": \"clutst43963\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44249\",\n \"location\": \"westus\",\n \"name\": \"clutst44249\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44935\",\n \"location\": \"westus\",\n \"name\": \"clutst44935\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst45773\",\n \"location\": \"westus\",\n \"name\": \"clutst45773\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst47034\",\n \"location\": \"westus\",\n \"name\": \"clutst47034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst48178\",\n \"location\": \"westus\",\n \"name\": \"clutst48178\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50877\",\n \"location\": \"westus\",\n \"name\": \"clutst50877\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50926\",\n \"location\": \"westus\",\n \"name\": \"clutst50926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst52016\",\n \"location\": \"westus\",\n \"name\": \"clutst52016\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst53369\",\n \"location\": \"westus\",\n \"name\": \"clutst53369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst54011\",\n \"location\": \"westus\",\n \"name\": \"clutst54011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"testtag\": \"testval\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55339\",\n \"location\": \"westus\",\n \"name\": \"clutst55339\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55642\",\n \"location\": \"westus\",\n \"name\": \"clutst55642\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010\",\n \"location\": \"westus\",\n \"name\": \"clutst56010\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst56010Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst57974\",\n \"location\": \"westus\",\n \"name\": \"clutst57974\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59108\",\n \"location\": \"westus\",\n \"name\": \"clutst59108\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59926\",\n \"location\": \"westus\",\n \"name\": \"clutst59926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst60612\",\n \"location\": \"westus\",\n \"name\": \"clutst60612\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62393\",\n \"location\": \"westus\",\n \"name\": \"clutst62393\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62671\",\n \"location\": \"westus\",\n \"name\": \"clutst62671\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst63961\",\n \"location\": \"westus\",\n \"name\": \"clutst63961\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64118\",\n \"location\": \"westus\",\n \"name\": \"clutst64118\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64902\",\n \"location\": \"westus\",\n \"name\": \"clutst64902\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65563\",\n \"location\": \"westus\",\n \"name\": \"clutst65563\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65944\",\n \"location\": \"westus\",\n \"name\": \"clutst65944\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst68622\",\n \"location\": \"westus\",\n \"name\": \"clutst68622\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst69042\",\n \"location\": \"westus\",\n \"name\": \"clutst69042\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72034\",\n \"location\": \"westus\",\n \"name\": \"clutst72034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72937\",\n \"location\": \"westus\",\n \"name\": \"clutst72937\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73017\",\n \"location\": \"westus\",\n \"name\": \"clutst73017\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73226\",\n \"location\": \"westus\",\n \"name\": \"clutst73226\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73623\",\n \"location\": \"westus\",\n \"name\": \"clutst73623\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74333\",\n \"location\": \"westus\",\n \"name\": \"clutst74333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74607\",\n \"location\": \"westus\",\n \"name\": \"clutst74607\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst75011\",\n \"location\": \"westus\",\n \"name\": \"clutst75011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76021\",\n \"location\": \"westus\",\n \"name\": \"clutst76021\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76811\",\n \"location\": \"westus\",\n \"name\": \"clutst76811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst77155\",\n \"location\": \"westus\",\n \"name\": \"clutst77155\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst78595\",\n \"location\": \"westus\",\n \"name\": \"clutst78595\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst81406\",\n \"location\": \"westus\",\n \"name\": \"clutst81406\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82639\",\n \"location\": \"westus\",\n \"name\": \"clutst82639\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82782\",\n \"location\": \"westus\",\n \"name\": \"clutst82782\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst83830\",\n \"location\": \"westus\",\n \"name\": \"clutst83830\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84001\",\n \"location\": \"westus\",\n \"name\": \"clutst84001\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84215\",\n \"location\": \"westus\",\n \"name\": \"clutst84215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84761\",\n \"location\": \"westus\",\n \"name\": \"clutst84761\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst85399\",\n \"location\": \"westus\",\n \"name\": \"clutst85399\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86517\",\n \"location\": \"westus\",\n \"name\": \"clutst86517\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86564\",\n \"location\": \"westus\",\n \"name\": \"clutst86564\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86711\",\n \"location\": \"westus\",\n \"name\": \"clutst86711\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88326\",\n \"location\": \"westus\",\n \"name\": \"clutst88326\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88434\",\n \"location\": \"westus\",\n \"name\": \"clutst88434\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88867\",\n \"location\": \"westus\",\n \"name\": \"clutst88867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058\",\n \"location\": \"westus\",\n \"name\": \"clutst89058\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89058Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757\",\n \"location\": \"westus\",\n \"name\": \"clutst89757\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89757Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450\",\n \"location\": \"westus\",\n \"name\": \"clutst90450\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst90450Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92020\",\n \"location\": \"westus\",\n \"name\": \"clutst92020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92142\",\n \"location\": \"westus\",\n \"name\": \"clutst92142\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst93247\",\n \"location\": \"westus\",\n \"name\": \"clutst93247\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst95104\",\n \"location\": \"westus\",\n \"name\": \"clutst95104\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96863\",\n \"location\": \"westus\",\n \"name\": \"clutst96863\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96978\",\n \"location\": \"westus\",\n \"name\": \"clutst96978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst97385\",\n \"location\": \"westus\",\n \"name\": \"clutst97385\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98032\",\n \"location\": \"westus\",\n \"name\": \"clutst98032\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98129\",\n \"location\": \"westus\",\n \"name\": \"clutst98129\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98581\",\n \"location\": \"westus\",\n \"name\": \"clutst98581\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ApplicationInsights-CentralUS\",\n \"location\": \"centralus\",\n \"name\": \"Default-ApplicationInsights-CentralUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Networking\",\n \"location\": \"westus\",\n \"name\": \"Default-Networking\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-NotificationHubs-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-NotificationHubs-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ServiceBus-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-ServiceBus-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-SQL-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-SQL-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Storage-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Storage-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Web-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Web-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1233333\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1233333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ecvm1458938841925RG\",\n \"location\": \"southeastasia\",\n \"name\": \"ecvm1458938841925RG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/foozap01\",\n \"location\": \"westus\",\n \"name\": \"foozap01\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/myvms\",\n \"location\": \"westus\",\n \"name\": \"myvms\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ppppp2\",\n \"location\": \"southcentralus\",\n \"name\": \"ppppp2\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/pppppp\",\n \"location\": \"westus\",\n \"name\": \"pppppp\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/r1\",\n \"location\": \"westus\",\n \"name\": \"r1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg15109\",\n \"location\": \"westus\",\n \"name\": \"testrg15109\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg16663\",\n \"location\": \"westus\",\n \"name\": \"testrg16663\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg18579\",\n \"location\": \"westus\",\n \"name\": \"testrg18579\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg8559\",\n \"location\": \"westus\",\n \"name\": \"testrg8559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup\",\n \"location\": \"westus\",\n \"name\": \"TravisTestResourceGroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestADE1370\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestADE1370\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestADE6431\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestADE6431\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplattestadla7278\",\n \"location\": \"southcentralus\",\n \"name\": \"xplattestadla7278\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate1218\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate1218\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate3656\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate3656\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDisk2502\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGCreateDisk2502\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-disk-attachnew-detach-tests\": \"2016-04-29T12:01:11.054Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns2167\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns2167\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns7046\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns7046\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateLbNat3\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateLbNat3\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExpressRoute3509\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGExpressRoute3509\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension5940\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGExtension5940\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-02-29T08:05:18.907Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGExtension9085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-01-21T23:38:57.711Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGroupGatewayCon7412\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGroupGatewayCon7412\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGSz6241\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGSz6241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-sizes-tests\": \"2016-02-02T13:11:46.487Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker2951\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker2951\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-18T16:05:48.920Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker6705\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker6705\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-29T12:20:36.945Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestVMSSCreate2308\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestVMSSCreate2308\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vmss-create-tests\": \"2016-05-03T08:27:30.109Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1531\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1531\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1730\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1730\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource194\",\n \"location\": \"westus\",\n \"name\": \"xTestResource194\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2039\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2039\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2660\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2660\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2807\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2807\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource318\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource318\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3362\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3362\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3559\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource411\",\n \"location\": \"westus\",\n \"name\": \"xTestResource411\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource4219\",\n \"location\": \"westus\",\n \"name\": \"xTestResource4219\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource475\",\n \"location\": \"westus\",\n \"name\": \"xTestResource475\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5203\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5203\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5515\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5515\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource723\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource723\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7252\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7252\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource757\",\n \"location\": \"westus\",\n \"name\": \"xTestResource757\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7909\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7909\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource811\",\n \"location\": \"westus\",\n \"name\": \"xTestResource811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9256\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9256\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9262\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9262\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9641\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9641\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9737\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9737\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ygvmgroup\",\n \"location\": \"westus\",\n \"name\": \"ygvmgroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw\",\n \"location\": \"westus\",\n \"name\": \"yugangw\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw2\",\n \"location\": \"westus\",\n \"name\": \"yugangw2\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw3\",\n \"location\": \"westus\",\n \"name\": \"yugangw3\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n }\n]\n", "test_resource_show_under_group": "{\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/XPLATTESTGEXTENSION9085/providers/Microsoft.Compute/virtualMachines/xplatvmExt1314\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatvmExt1314\",\n \"plan\": null,\n \"properties\": {\n \"diagnosticsProfile\": {\n \"bootDiagnostics\": {\n \"enabled\": true,\n \"storageUri\": \"https://xplatstoragext4633.blob.core.windows.net/\"\n }\n },\n \"hardwareProfile\": {\n \"vmSize\": \"Standard_A1\"\n },\n \"networkProfile\": {\n \"networkInterfaces\": [\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085/providers/Microsoft.Network/networkInterfaces/xplatnicExt4843\",\n \"properties\": {},\n \"resourceGroup\": \"xplatTestGExtension9085\"\n }\n ]\n },\n \"osProfile\": {\n \"adminUsername\": \"azureuser\",\n \"computerName\": \"xplatvmExt1314\",\n \"secrets\": [],\n \"windowsConfiguration\": {\n \"enableAutomaticUpdates\": true,\n \"provisionVMAgent\": true\n }\n },\n \"provisioningState\": \"Succeeded\",\n \"storageProfile\": {\n \"dataDisks\": [],\n \"imageReference\": {\n \"offer\": \"WindowsServerEssentials\",\n \"publisher\": \"MicrosoftWindowsServerEssentials\",\n \"sku\": \"WindowsServerEssentials\",\n \"version\": \"1.0.20131018\"\n },\n \"osDisk\": {\n \"caching\": \"ReadWrite\",\n \"createOption\": \"FromImage\",\n \"name\": \"cli1eaed78b36def353-os-1453419539945\",\n \"osType\": \"Windows\",\n \"vhd\": {\n \"uri\": \"https://xplatstoragext4633.blob.core.windows.net/xplatstoragecntext1789/cli1eaed78b36def353-os-1453419539945.vhd\"\n }\n }\n },\n \"vmId\": \"0a46768d-a544-4d4c-afdc-92651103ee16\"\n },\n \"resourceGroup\": \"XPLATTESTGEXTENSION9085\",\n \"tags\": {},\n \"type\": \"Microsoft.Compute/virtualMachines\"\n}\n" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml index f1a81e052fb..baee0af676d 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml @@ -1,4 +1,54 @@ interactions: +- request: + body: !!binary | + Z3JhbnRfdHlwZT1yZWZyZXNoX3Rva2VuJmNsaWVudF9pZD0wNGIwNzc5NS04ZGRiLTQ2MWEtYmJl + ZS0wMmY5ZTFiZjdiNDYmcmVmcmVzaF90b2tlbj1BQUFCQUFBQWlMOUtuMloyN1V1YnZXRlBibTBn + TFcwQkZuTUJNNjdweG1wWUhEcUFpNjdMUHJ4bVFoMlZTSDlpa3A4WUZNNVpoYUtZb2xHdHFON1du + eTd6REEybmNKOEQxOWo0XzFvc3RJSDRqME9rWXFRejExSW5NbGVHbUlZcnVRWEtmc19kU0Fxd195 + UmVUR2Q2Y1hlMEVzWGdZQTlkbnRfb1NHdmpucldMSm9HUFZ5Y05ick91eDhpaW5OSVo1VGxVRzNl + cTJ3VkVmaXQxaHJzMV9VSTZzYjN4R1o0TlkzSFJVVk0tdkhBLTJ3aWkxRUZWQXVibUFMSWI5Q2Ri + cWRoVTRFNGFuX3EwYmhqUWJRSmhCXzhUVDRnZHBmMnk2R1BHS0Z0WlNZeVpoaDBaOUtLd2VZdUhD + aDdQVlY3bU5qVU9HcE5qX3U1Tm5tYUVQNGdiUWxaV1QtcDJKZjdlaFhoNnF3b3NoXzRFUzdHTWRn + THNXUExVWDVZSkM3cDFWSUU5TzZONDFaNEhxTzN1YlVkV0E1X2pBeFphNFFvREY1MUVfd19xTEtM + M29DRHZGTFlONVlCZzhQVVQ3QmxXbU1MNmpTZzlqM0hIQUlVclZsTGduTlY1ekI3M0JCUWxyVGJy + cVZQb21aSTJ4ckh3WGk1ckMyMWZZUk4xVFhCRmwwWmJXNzRfWGtmZ0xWcFRnWG1DcUQ2RmxWUXpt + bXFuamtaU2JvRFU0VlQwNU4zeXhmLUdlenN6MGhtdU9Kd29hMk01bC03NnlEWFd1YTAyUGFyQml5 + cW8xUlBuX012V1NkTWxWUmZ2a0JRT3RydkRwa3BzMG5HZ3VxLW8wT25jTGFVZ3dBMTNMdUlTNF9v + dHY5d0JJeTRNdXRfR1NpQUEmcmVzb3VyY2U9aHR0cHMlM0ElMkYlMkZtYW5hZ2VtZW50LmNvcmUu + d2luZG93cy5uZXQlMkY= + headers: + Accept: ['*/*'] + Accept-Charset: [utf-8] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['812'] + User-Agent: [python-requests/2.9.1] + content-type: [application/x-www-form-urlencoded] + return-client-request-id: ['true'] + x-client-CPU: [x86] + x-client-OS: [win32] + x-client-SKU: [Python] + x-client-Ver: [0.2.0] + method: POST + uri: https://login.microsoftonline.com/54826b22-38d6-4fb2-bad9-b7b93a3e9c5a/oauth2/token?api-version=1.0 + response: + body: {string: '{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1462473031","not_before":"1462469131","resource":"https://management.core.windows.net/","access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDYyNDY5MTMxLCJuYmYiOjE0NjI0NjkxMzEsImV4cCI6MTQ2MjQ3MzAzMSwiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2Il0sImlwYWRkciI6IjE2Ny4yMjAuMC4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.W5PO3I9Smgui3_ufwdMDRXcnmy3YlalWPwJv39_VePnJlg52Il9wLzxt3por1dvl4vjHJr0CCJ93VEGVxgyTodEj0AuJuVDU707keRYH5OXcV5iJ6LetiQQyA6dALVc4atPH9AoNw9gKCw2VOIVy4soRyPxPpadPMywMijKMgKHN6Xbwz2gnngUiY4PF5ZXindmXA_Sdza_DXUf9NMG61YxeOibO5-um2kyNUNAN1uXLfQKmeAY5JuIl4HVUKybMmzPeRI8SSpvdff2wIjGkwO8rm12nLepVmHiCZwHQ4Za5pWHH7gBl3-7IlCwuL5VRN_AflH2hb6C4dM4dq9YoMQ","refresh_token":"AAABAAAAiL9Kn2Z27UubvWFPbm0gLcFUei6iepTjdZbR-NWan9xvS3DTN1aj_5hsknXi-frhnX9ogMmTqHhtMF3dCQvmrSmT7XR0ITbHfiupWQC9eGTJekLlE2QjTp2gCDfJcGq7-X7wB_u8QZXN6g7cJ9r3_lv_b6GM3my5zLBqFEdEVdMn7Oxjm8GqfWbImrzkak3U8NgvJAZ9xiqF77KNnVKb89TtyLWazVM7QkXkCXAcG0OU671kUka8Lw3pAhuyeP2YJZlV1IiPimUUEDGTzMgaUI54LDoy_W9SZ3DWpoWFwPpXMEW-uEJdp65yey2aTv-nCaOHYWDLZ57SwWwj6aOmXddTwPEEMkDxf4sqsz1S8G27rL5RMmsZzxMWqoDY8ONILaNha9YyGBSoN7gfkOeSxDXqwFzHHguu5YEqdDlljG98x3zMs3bDz7zFjVahRB_QTR2k-sn1z9ZkFu-aiYbuUvEODE0ZBZUeRR3ZesZihBNkMr371zR7czwyJXP4PXqQpJ0VYrAHKq0YlEFybRFHmlHaWheKvbt45-nmNClJazXzNfwwcag-4rbkPTSSC9kBS4rjm6O11xkLNeFP0dgcbbBzpzGPhaVqEjaL0dSp0T8o2rf-ZapjO3pf83FtZ3Cj-w4-c22_kxWwBQNoyct6YSAA"}'} + headers: + Cache-Control: ['no-cache, no-store'] + Content-Length: ['2346'] + Content-Type: [application/json; charset=utf-8] + Date: ['Thu, 05 May 2016 17:30:31 GMT'] + Expires: ['-1'] + P3P: [CP="DSP CUR OTPi IND OTRi ONL FIN"] + Pragma: [no-cache] + Server: [Microsoft-IIS/8.5] + Set-Cookie: [flight-uxoptin=true; path=/; secure; HttpOnly, esctx=AAABAAAAiL9Kn2Z27UubvWFPbm0gLYhR_tfFSVeBdj0E-R_O33Vpk6XCiKDDJJmIV02vzLiIyOrMC3tJmb8QPfNNb1lterwJUL-9gqaRLB09XZTzl5GxaJXAlvYLp1KLnncoTSpJDHiL7s9iGMF6humMYeV-dMIu8kF04bl_i08bqt1siMECOGIVqauRTOCRoO6tqiSdIAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly, x-ms-gateway-slice=productiona; + path=/; secure; HttpOnly, stsservicecookie=ests; path=/; secure; HttpOnly] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + X-Content-Type-Options: [nosniff] + X-Powered-By: [ASP.NET] + status: {code: 200, message: OK} - request: body: null headers: @@ -6,7 +56,7 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.11 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 resourcemanagementclient/2015-11-01 + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 resourcemanagementclient/2015-11-01 Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET @@ -24,63 +74,65 @@ interactions: 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 headers: - cache-control: [no-cache] - content-encoding: [gzip] - content-length: ['3300'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 May 2016 00:01:41 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - vary: [Accept-Encoding] + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['3408'] + Content-Type: [application/json; charset=utf-8] + Date: ['Thu, 05 May 2016 17:30:32 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] status: {code: 200, message: OK} version: 1 diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_show_under_group.yaml b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_show_under_group.yaml index feca682559d..b9b0a594dec 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_show_under_group.yaml +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_show_under_group.yaml @@ -35,7 +35,7 @@ interactions: Content-Encoding: [gzip] Content-Length: ['881'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 03 May 2016 21:40:31 GMT'] + Date: ['Thu, 05 May 2016 17:30:36 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -77,7 +77,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 03 May 2016 21:40:32 GMT'] + Date: ['Thu, 05 May 2016 17:30:37 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] From cb30be5d754e182628694f3f9eea7bbffcdbc4cb Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Thu, 5 May 2016 10:57:07 -0700 Subject: [PATCH 05/27] Progress porting VM commands away from decorator-style. --- src/azure/cli/commands/__init__.py | 5 - .../azure/cli/command_modules/vm/_params.py | 5 - .../azure/cli/command_modules/vm/custom.py | 100 +++---- .../azure/cli/command_modules/vm/generated.py | 275 +++++++++--------- 4 files changed, 177 insertions(+), 208 deletions(-) diff --git a/src/azure/cli/commands/__init__.py b/src/azure/cli/commands/__init__.py index 9df467d32eb..bb9cd0541ad 100644 --- a/src/azure/cli/commands/__init__.py +++ b/src/azure/cli/commands/__init__.py @@ -22,33 +22,28 @@ 'metavar': 'DEPLOYMENTNAME', 'help': 'Name of the resource deployment', 'default': 'azurecli' + str(time.time()) + str(random.randint(0, 10000000)), - 'required': False }, 'location': { 'name': '--location -l', 'metavar': 'LOCATION', 'help': 'Location', - 'required': True }, 'resource_group_name': { 'name': '--resource-group -g', 'dest': RESOURCE_GROUP_ARG_NAME, 'metavar': 'RESOURCEGROUP', 'help': 'The name of the resource group', - 'required': True }, 'tag' : { 'name': '--tag', 'metavar': 'TAG', 'help': L('a single tag in \'key[=value]\' format'), - 'required': False, 'type': validate_tag }, 'tags' : { 'name': '--tags', 'metavar': 'TAGS', 'help': L('multiple semicolon separated tags in \'key[=value]\' format'), - 'required': False, 'type': validate_tags }, } diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py index 4af1a1c1e63..b52e3ba9ef0 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py @@ -19,7 +19,6 @@ def _compute_client_factory(**_): 'name': '--name -n', 'dest': 'name', 'help': L('Disk name'), - 'required': True }, 'disksize': { 'name': '--disksize', @@ -34,13 +33,9 @@ def _compute_client_factory(**_): 'help': L('0-based logical unit number (LUN). Max value depends on the Virtual ' + \ 'Machine size'), 'type': int, - 'required': True }, - 'optional_resource_group_name': - extend_parameter(GLOBAL_COMMON_PARAMETERS['resource_group_name'], required=False), 'vhd': { 'name': '--vhd', - 'required': True, 'type': VirtualHardDisk }, }) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index 822f8a416bc..e7d37227e77 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -1,4 +1,6 @@ -import json +# pylint: disable=no-self-use,too-many-arguments + +import json import re try: @@ -59,59 +61,6 @@ def invoke(args): return invoke return wrapped -@command_table.command('vm list', description=L('List Virtual Machines.')) -@command_table.option(**PARAMETER_ALIASES['optional_resource_group_name']) -def list_vm(args): - ccf = _compute_client_factory(**args) - group = args.get(RESOURCE_GROUP_ARG_NAME) - vm_list = ccf.virtual_machines.list(resource_group_name=group) if group else \ - ccf.virtual_machines.list_all() - return list(vm_list) - -@command_table.command('vm disk attach-new', - help=L('Attach a new disk to an existing Virtual Machine')) -@command_table.option(**PARAMETER_ALIASES['lun']) -@command_table.option(**PARAMETER_ALIASES['diskname']) -@command_table.option(**PARAMETER_ALIASES['disksize']) -@command_table.option(**PARAMETER_ALIASES['vhd']) -@patches_vm('Attaching disk', 'Disk attached') -def _vm_disk_attach_new(args, instance): - disk = DataDisk(lun=args.get('lun'), - vhd=args.get('vhd'), - name=args.get('name'), - create_option=DiskCreateOptionTypes.empty, - disk_size_gb=args.get('disksize')) - instance.storage_profile.data_disks.append(disk) - -@command_table.command('vm disk attach-existing', - help=L('Attach an existing disk to an existing Virtual Machine')) -@command_table.option(**PARAMETER_ALIASES['lun']) -@command_table.option(**PARAMETER_ALIASES['diskname']) -@command_table.option(**PARAMETER_ALIASES['disksize']) -@command_table.option(**PARAMETER_ALIASES['vhd']) -@patches_vm('Attaching disk', 'Disk attached') -def _vm_disk_attach_existing(args, instance): - # TODO: figure out size of existing disk instead of making the default value 1023 - disk = DataDisk(lun=args.get('lun'), - vhd=args.get('vhd'), - name=args.get('name'), - create_option=DiskCreateOptionTypes.attach, - disk_size_gb=args.get('disksize')) - instance.storage_profile.data_disks.append(disk) - -@command_table.command('vm disk detach') -@command_table.option(**PARAMETER_ALIASES['diskname']) -@patches_vm('Detaching disk', 'Disk detached') -def _vm_disk_detach(args, instance): - instance.resources = None # Issue: https://github.com/Azure/autorest/issues/934 - try: - disk = next(d for d in instance.storage_profile.data_disks - if d.name == args.get('name')) - instance.storage_profile.data_disks.remove(disk) - except StopIteration: - raise RuntimeError("No disk with the name '%s' found" % args.get('name')) - - def _load_images_from_aliases_doc(publisher, offer, sku): target_url = ('https://raw.githubusercontent.com/Azure/azure-rest-api-specs/' 'master/arm-compute/quickstart-templates/aliases.json') @@ -204,13 +153,20 @@ class ConvenienceVmCommands(object): # pylint: disable=too-few-public-methods def __init__(self, **_): pass - # pylint: disable=no-self-use,too-many-arguments + def list(self, resource_group_name): + ''' List Virtual Machines. ''' + ccf = _compute_client_factory() + vm_list = ccf.virtual_machines.list(resource_group_name=resource_group_name) \ + if group else ccf.virtual_machines.list_all() + return list(vm_list) + + def list_vm_images(self, image_location=None, publisher=None, offer=None, sku=None, - all=False): #pylint: disable=redefined-builtin + all=False): '''vm image list :param str location:Image location :param str publisher:Image publisher name @@ -291,4 +247,34 @@ def list_ip_addresses(self, return result - + #@command_table.command('vm disk attach-new', + @patches_vm('Attaching disk', 'Disk attached') + def attach_new_disk(self, lun, diskname, vhd, disksize=1023, **kwargs): + ''' Attach a new disk to an existing Virtual Machine''' + disk = DataDisk(lun=lun, vhd=vhd, name=kwargs.get('name'), + create_option=DiskCreateOptionTypes.empty, + disk_size_gb=disksize) + kwargs.get('instance').storage_profile.data_disks.append(disk) + + #@command_table.command('vm disk attach-existing', + @patches_vm('Attaching disk', 'Disk attached') + def attach_existing_disk(self, lun, diskname, vhd, disksize=1023, **kwargs): + ''' Attach an existing disk to an existing Virtual Machine ''' + # TODO: figure out size of existing disk instead of making the default value 1023 + disk = DataDisk(lun=lun, vhd=vhd, name=kwargs.get('name'), + create_option=DiskCreateOptionTypes.attach, + disk_size_gb=disksize) + kwargs.get('instance').storage_profile.data_disks.append(disk) + + #@command_table.command('vm disk detach') + @patches_vm('Detaching disk', 'Disk detached') + def detach_disk(self, diskname, **kwargs): + # Issue: https://github.com/Azure/autorest/issues/934 + instance = kwargs.get('instance') + instance.resources = None + try: + disk = next(d for d in instance.storage_profile.data_disks + if d.name == kwargs.get('name')) + instance.storage_profile.data_disks.remove(disk) + except StopIteration: + raise RuntimeError("No disk with the name '%s' found" % args.get('name')) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index e17dfa17956..a56c987cfbe 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -33,134 +33,133 @@ def _patch_aliases(alias_items): return aliases # pylint: disable=line-too-long -build_operation("vm availset", - "availability_sets", - _compute_client_factory, - [ - AutoCommandDefinition(AvailabilitySetsOperations.delete, None), - AutoCommandDefinition(AvailabilitySetsOperations.get, 'AvailabilitySet', command_alias='show'), - AutoCommandDefinition(AvailabilitySetsOperations.list, '[AvailabilitySet]'), - AutoCommandDefinition(AvailabilitySetsOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes') - ], - command_table, - _patch_aliases({ - 'availability_set_name': {'name': '--name -n'} - })) +build_operation( + 'vm availset', 'availability_sets', _compute_client_factory, + [ + AutoCommandDefinition(AvailabilitySetsOperations.delete, None), + AutoCommandDefinition(AvailabilitySetsOperations.get, 'AvailabilitySet', command_alias='show'), + AutoCommandDefinition(AvailabilitySetsOperations.list, '[AvailabilitySet]'), + AutoCommandDefinition(AvailabilitySetsOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes') + ], + command_table, + _patch_aliases({ + 'availability_set_name': {'name': '--name -n'} + })) -build_operation("vm machine-extension-image", - "virtual_machine_extension_images", - _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineExtensionImagesOperations.get, 'VirtualMachineExtensionImage', command_alias='show'), - AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_types, '[VirtualMachineImageResource]'), - AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_versions, '[VirtualMachineImageResource]'), - ], - command_table, PARAMETER_ALIASES) +build_operation( + 'vm machine-extension-image', 'virtual_machine_extension_images', _compute_client_factory, + [ + AutoCommandDefinition(VirtualMachineExtensionImagesOperations.get, 'VirtualMachineExtensionImage', command_alias='show'), + AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_types, '[VirtualMachineImageResource]'), + AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_versions, '[VirtualMachineImageResource]'), + ], + command_table, PARAMETER_ALIASES) -build_operation("vm extension", - "virtual_machine_extensions", - _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineExtensionsOperations.delete, LongRunningOperation(L('Deleting VM extension'), L('VM extension deleted'))), - AutoCommandDefinition(VirtualMachineExtensionsOperations.get, 'VirtualMachineExtension', command_alias='show'), - ], - command_table, - _patch_aliases({ - 'vm_extension_name': {'name': '--name -n'} - })) +build_operation( + 'vm disk', None, ConvenienceVmCommands, + [ + AutoCommandDefinition(ConvenienceVmCommands.attach_new_disk, 'Object', 'attach-new'), + AutoCommandDefinition(ConvenienceVmCommands.attach_existing_disk, 'Object', 'attach-existing'), + AutoCommandDefinition(ConvenienceVmCommands.detach_disk, 'Object', 'detach'), + ], + command_table, PARAMETER_ALIASES) -build_operation("vm image", - "virtual_machine_images", - _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineImagesOperations.get, 'VirtualMachineImage', command_alias='show'), - AutoCommandDefinition(VirtualMachineImagesOperations.list_offers, '[VirtualMachineImageResource]'), - AutoCommandDefinition(VirtualMachineImagesOperations.list_publishers, '[VirtualMachineImageResource]'), - AutoCommandDefinition(VirtualMachineImagesOperations.list_skus, '[VirtualMachineImageResource]'), - ], - command_table, PARAMETER_ALIASES) +build_operation( + 'vm extension', 'virtual_machine_extensions', _compute_client_factory, + [ + AutoCommandDefinition(VirtualMachineExtensionsOperations.delete, LongRunningOperation(L('Deleting VM extension'), L('VM extension deleted'))), + AutoCommandDefinition(VirtualMachineExtensionsOperations.get, 'VirtualMachineExtension', command_alias='show'), + ], + command_table, + _patch_aliases({ + 'vm_extension_name': {'name': '--name -n'} + })) -build_operation("vm usage", - "usage", - _compute_client_factory, - [ - AutoCommandDefinition(UsageOperations.list, '[Usage]'), - ], - command_table, PARAMETER_ALIASES) +build_operation( + 'vm image', 'virtual_machine_images', _compute_client_factory, + [ + AutoCommandDefinition(VirtualMachineImagesOperations.get, 'VirtualMachineImage', command_alias='show'), + AutoCommandDefinition(VirtualMachineImagesOperations.list_offers, '[VirtualMachineImageResource]'), + AutoCommandDefinition(VirtualMachineImagesOperations.list_publishers, '[VirtualMachineImageResource]'), + AutoCommandDefinition(VirtualMachineImagesOperations.list_skus, '[VirtualMachineImageResource]'), + ], + command_table, PARAMETER_ALIASES) -build_operation("vm size", - "virtual_machine_sizes", - _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineSizesOperations.list, '[VirtualMachineSize]'), - ], - command_table, PARAMETER_ALIASES) +build_operation( + 'vm usage', 'usage',_compute_client_factory, + [ + AutoCommandDefinition(UsageOperations.list, '[Usage]'), + ], + command_table, PARAMETER_ALIASES) -build_operation("vm", - "virtual_machines", - _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachinesOperations.delete, LongRunningOperation(L('Deleting VM'), L('VM Deleted'))), - AutoCommandDefinition(VirtualMachinesOperations.deallocate, LongRunningOperation(L('Deallocating VM'), L('VM Deallocated'))), - AutoCommandDefinition(VirtualMachinesOperations.generalize, None), - AutoCommandDefinition(VirtualMachinesOperations.get, 'VirtualMachine', command_alias='show'), - AutoCommandDefinition(VirtualMachinesOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes'), - AutoCommandDefinition(VirtualMachinesOperations.power_off, LongRunningOperation(L('Powering off VM'), L('VM powered off'))), - AutoCommandDefinition(VirtualMachinesOperations.restart, LongRunningOperation(L('Restarting VM'), L('VM Restarted'))), - AutoCommandDefinition(VirtualMachinesOperations.start, LongRunningOperation(L('Starting VM'), L('VM Started'))), - ], - command_table, - _patch_aliases({ - 'vm_name': {'name': '--name -n'} - })) +build_operation( + 'vm size', 'virtual_machine_sizes', _compute_client_factory, + [ + AutoCommandDefinition(VirtualMachineSizesOperations.list, '[VirtualMachineSize]'), + ], + command_table, PARAMETER_ALIASES) -build_operation("vm scaleset", - "virtual_machine_scale_sets", - _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineScaleSetsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set'), L('VM scale set deallocated'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete, LongRunningOperation(L('Deleting VM scale set'), L('VM scale set deleted'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.get, 'VirtualMachineScaleSet', command_alias='show'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete_instances, LongRunningOperation(L('Deleting VM scale set instances'), L('VM scale set instances deleted'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.get_instance_view, 'VirtualMachineScaleSetInstanceView'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.list, '[VirtualMachineScaleSet]'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_all, '[VirtualMachineScaleSet]'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_skus, '[VirtualMachineScaleSet]'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.power_off, LongRunningOperation(L('Powering off VM scale set'), L('VM scale set powered off'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.restart, LongRunningOperation(L('Restarting VM scale set'), L('VM scale set restarted'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.start, LongRunningOperation(L('Starting VM scale set'), L('VM scale set started'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.update_instances, LongRunningOperation(L('Updating VM scale set instances'), L('VM scale set instances updated'))), - ], - command_table, - _patch_aliases({ - 'vm_scale_set_name': {'name': '--name -n'} - })) +build_operation( + 'vm', 'virtual_machines', _compute_client_factory, + [ + AutoCommandDefinition(VirtualMachinesOperations.delete, LongRunningOperation(L('Deleting VM'), L('VM Deleted'))), + AutoCommandDefinition(VirtualMachinesOperations.deallocate, LongRunningOperation(L('Deallocating VM'), L('VM Deallocated'))), + AutoCommandDefinition(VirtualMachinesOperations.generalize, None), + AutoCommandDefinition(VirtualMachinesOperations.get, 'VirtualMachine', command_alias='show'), + AutoCommandDefinition(VirtualMachinesOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes'), + AutoCommandDefinition(VirtualMachinesOperations.power_off, LongRunningOperation(L('Powering off VM'), L('VM powered off'))), + AutoCommandDefinition(VirtualMachinesOperations.restart, LongRunningOperation(L('Restarting VM'), L('VM Restarted'))), + AutoCommandDefinition(VirtualMachinesOperations.start, LongRunningOperation(L('Starting VM'), L('VM Started'))), + ], + command_table, + _patch_aliases({ + 'vm_name': {'name': '--name -n'} + })) -build_operation("vm scaleset-vm", - "virtual_machine_scale_set_vms", - _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set VMs'), L('VM scale set VMs deallocated'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.delete, LongRunningOperation(L('Deleting VM scale set VMs'), L('VM scale set VMs deleted'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get, 'VirtualMachineScaleSetVM', command_alias='show'), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get_instance_view, 'VirtualMachineScaleSetVMInstanceView'), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.list, '[VirtualMachineScaleSetVM]'), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.power_off, LongRunningOperation(L('Powering off VM scale set VMs'), L('VM scale set VMs powered off'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.restart, LongRunningOperation(L('Restarting VM scale set VMs'), L('VM scale set VMs restarted'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.start, LongRunningOperation(L('Starting VM scale set VMs'), L('VM scale set VMs started'))), - ], - command_table, - _patch_aliases({ - 'vm_scale_set_name': {'name': '--name -n'} - })) +build_operation( + 'vm scaleset', 'virtual_machine_scale_sets', _compute_client_factory, + [ + AutoCommandDefinition(VirtualMachineScaleSetsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set'), L('VM scale set deallocated'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete, LongRunningOperation(L('Deleting VM scale set'), L('VM scale set deleted'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.get, 'VirtualMachineScaleSet', command_alias='show'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete_instances, LongRunningOperation(L('Deleting VM scale set instances'), L('VM scale set instances deleted'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.get_instance_view, 'VirtualMachineScaleSetInstanceView'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.list, '[VirtualMachineScaleSet]'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_all, '[VirtualMachineScaleSet]'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_skus, '[VirtualMachineScaleSet]'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.power_off, LongRunningOperation(L('Powering off VM scale set'), L('VM scale set powered off'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.restart, LongRunningOperation(L('Restarting VM scale set'), L('VM scale set restarted'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.start, LongRunningOperation(L('Starting VM scale set'), L('VM scale set started'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.update_instances, LongRunningOperation(L('Updating VM scale set instances'), L('VM scale set instances updated'))), + ], + command_table, + _patch_aliases({ + 'vm_scale_set_name': {'name': '--name -n'} + })) -build_operation("vm", - None, - ConvenienceVmCommands, - [ - AutoCommandDefinition(ConvenienceVmCommands.list_ip_addresses, 'object'), - ], - command_table, PARAMETER_ALIASES) +build_operation( + 'vm scaleset-vm', 'virtual_machine_scale_set_vms', _compute_client_factory, + [ + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set VMs'), L('VM scale set VMs deallocated'))), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.delete, LongRunningOperation(L('Deleting VM scale set VMs'), L('VM scale set VMs deleted'))), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get, 'VirtualMachineScaleSetVM', command_alias='show'), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get_instance_view, 'VirtualMachineScaleSetVMInstanceView'), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.list, '[VirtualMachineScaleSetVM]'), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.power_off, LongRunningOperation(L('Powering off VM scale set VMs'), L('VM scale set VMs powered off'))), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.restart, LongRunningOperation(L('Restarting VM scale set VMs'), L('VM scale set VMs restarted'))), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.start, LongRunningOperation(L('Starting VM scale set VMs'), L('VM scale set VMs started'))), + ], + command_table, + _patch_aliases({ + 'vm_scale_set_name': {'name': '--name -n'} + })) + +build_operation( + 'vm', None, ConvenienceVmCommands, + [ + AutoCommandDefinition(ConvenienceVmCommands.list_ip_addresses, 'object'), + ], + command_table, PARAMETER_ALIASES) vm_param_aliases = { 'name': { @@ -262,27 +261,21 @@ def __call__(self, parser, namespace, values, option_string=None): -l "West US" -g myvms --name myvm18o --ssh-key-value "" """ -build_operation('vm', - 'vm', - lambda _: get_mgmt_service_client(VMClient, VMClientConfig), - [ - AutoCommandDefinition(VMOperations.create_or_update, - LongRunningOperation(L('Creating virtual machine'), L('Virtual machine created')), - 'create') - ], - command_table, - vm_param_aliases, - extra_parameters) +build_operation( + 'vm', 'vm', lambda _: get_mgmt_service_client(VMClient, VMClientConfig), + [ + AutoCommandDefinition(VMOperations.create_or_update, + LongRunningOperation(L('Creating virtual machine'), L('Virtual machine created')), + 'create') + ], + command_table, + vm_param_aliases, + extra_parameters) -build_operation("vm image", - None, - ConvenienceVmCommands, - [ - AutoCommandDefinition(ConvenienceVmCommands.list_vm_images, 'object', 'list') - ], - command_table, - _patch_aliases({ - #get rid of the alias with work on https://www.pivotaltracker.com/projects/1535539/stories/118884633 - 'image_location' : {'name': '--location -l', 'help': 'Image location'} - })) +build_operation( + 'vm image', None, ConvenienceVmCommands, + [ + AutoCommandDefinition(ConvenienceVmCommands.list_vm_images, 'object', 'list') + ], + command_table, PARAMETER_ALIASES) From ac5f3a8a74ffc6d5464f3a2f2839618c2f17db73 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Thu, 5 May 2016 14:54:38 -0700 Subject: [PATCH 06/27] Updates to work with "patches vm" commands and VM create command. --- azure-cli.pyproj | 3 + src/azure/cli/commands/_auto_command.py | 11 +- .../cli/command_modules/storage/_params.py | 12 +- .../azure/cli/command_modules/vm/_actions.py | 29 ++++ .../azure/cli/command_modules/vm/_params.py | 102 +++++++++++++- .../azure/cli/command_modules/vm/custom.py | 99 +++++--------- .../azure/cli/command_modules/vm/generated.py | 127 ++---------------- 7 files changed, 183 insertions(+), 200 deletions(-) create mode 100644 src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py diff --git a/azure-cli.pyproj b/azure-cli.pyproj index d03725ea3e2..059f44a76d6 100644 --- a/azure-cli.pyproj +++ b/azure-cli.pyproj @@ -151,6 +151,9 @@ + + Code + Code diff --git a/src/azure/cli/commands/_auto_command.py b/src/azure/cli/commands/_auto_command.py index 320be63a3bf..6b08bbdf3ef 100644 --- a/src/azure/cli/commands/_auto_command.py +++ b/src/azure/cli/commands/_auto_command.py @@ -37,11 +37,8 @@ def _get_member(obj, path): def _make_func(client_factory, member_path, return_type_or_func, unbound_func, extra_parameters): def call_client(args): client = client_factory(**args) - for p in extra_parameters or []: - param_name = p['name'].split()[0] - param_name = re.sub('--', '', param_name) - param_name = re.sub('-', '_', param_name) - args.pop(param_name) + for param in extra_parameters.keys() if extra_parameters else []: + args.pop(param) ops_instance = _get_member(client, member_path) try: @@ -156,8 +153,8 @@ def build_operation(command_name, # append any 'extra' args needed (for example to obtain a client) that aren't required # by the SDK. if extra_parameters: - for arg in extra_parameters: - options.append(arg.copy()) + for arg in extra_parameters.keys(): + options.append(extra_parameters[arg].copy()) command_table[func] = { 'name': ' '.join([command_name, op.opname]), 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 691f832e910..e53cf65b199 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 @@ -244,9 +244,9 @@ def get_sas_token(string): # SUPPLEMENTAL (EXTRA) PARAMETER SETS -STORAGE_DATA_CLIENT_ARGS = [ - PARAMETER_ALIASES['account_name'], - PARAMETER_ALIASES['account_key'], - PARAMETER_ALIASES['connection_string'], - PARAMETER_ALIASES['sas_token'] -] +STORAGE_DATA_CLIENT_ARGS = { + 'account_name': PARAMETER_ALIASES['account_name'], + 'account_key': PARAMETER_ALIASES['account_key'], + 'connection_string': PARAMETER_ALIASES['connection_string'], + 'sas_token': PARAMETER_ALIASES['sas_token'] +} diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py new file mode 100644 index 00000000000..84ab6e1007f --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py @@ -0,0 +1,29 @@ +import argparse +import os +import re + +class VMImageFieldAction(argparse.Action): #pylint: disable=too-few-public-methods + def __call__(self, parser, namespace, values, option_string=None): + image = values + match = re.match('([^:]*):([^:]*):([^:]*):([^:]*)', image) + + if image.lower().endswith('.vhd'): + namespace.os_disk_uri = image + elif match: + namespace.os_type = 'Custom' + namespace.os_publisher = match.group(1) + namespace.os_offer = match.group(2) + namespace.os_sku = match.group(3) + namespace.os_version = match.group(4) + else: + namespace.os_type = image + +class VMSSHFieldAction(argparse.Action): #pylint: disable=too-few-public-methods + def __call__(self, parser, namespace, values, option_string=None): + ssh_value = values + + if os.path.exists(ssh_value): + with open(ssh_value, 'r') as f: + namespace.ssh_key_value = f.read() + else: + namespace.ssh_key_value = ssh_value diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py index b52e3ba9ef0..a748f6bbc76 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py @@ -1,10 +1,14 @@ +import argparse + from azure.mgmt.compute import ComputeManagementClient, ComputeManagementClientConfiguration from azure.mgmt.compute.models import VirtualHardDisk -from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter) +from azure.cli.commands import COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter from azure.cli.commands._command_creation import get_mgmt_service_client -from azure.cli._locale import L from azure.cli.command_modules.vm._validators import MinMaxValue +from azure.cli.command_modules.vm._actions import VMImageFieldAction, VMSSHFieldAction +from azure.cli._help_files import helps +from azure.cli._locale import L # FACTORIES @@ -17,19 +21,16 @@ def _compute_client_factory(**_): PARAMETER_ALIASES.update({ 'diskname': { 'name': '--name -n', - 'dest': 'name', 'help': L('Disk name'), }, 'disksize': { 'name': '--disksize', - 'dest': 'disksize', 'help': L('Size of disk (Gb)'), 'type': MinMaxValue(1, 1023), 'default': 1023 }, 'lun': { 'name': '--lun', - 'dest': 'lun', 'help': L('0-based logical unit number (LUN). Max value depends on the Virtual ' + \ 'Machine size'), 'type': int, @@ -38,4 +39,95 @@ def _compute_client_factory(**_): 'name': '--vhd', 'type': VirtualHardDisk }, + 'vm_name': { + 'name': '--vm-name', + 'dest': 'vm_name', + 'help': 'Name of Virtual Machine to update', + } }) + +VM_CREATE_PARAMETER_ALIASES = { + 'name': { + 'name': '--name -n' + }, + 'os_disk_uri': { + 'name': '--os-disk-uri', + 'help': argparse.SUPPRESS + }, + 'os_offer': { + 'name': '--os_offer', + 'help': argparse.SUPPRESS + }, + 'os_publisher': { + 'name': '--os-publisher', + 'help': argparse.SUPPRESS + }, + 'os_sku': { + 'name': '--os-sku', + 'help': argparse.SUPPRESS + }, + 'os_type': { + 'name': '--os-type', + 'help': argparse.SUPPRESS + }, + 'os_version': { + 'name': '--os-version', + 'help': argparse.SUPPRESS + }, +} + +# EXTRA PARAMETER SETS + +VM_CREATE_EXTRA_PARAMETERS = { + 'image': { + 'name': '--image', + 'help': 'The OS image. Supported values: Common OS (e.g. Win2012R2Datacenter), ' + \ + 'URN (e.g. "publisher:offer:sku:version"), or existing VHD URI.', + 'action': VMImageFieldAction + }, + 'ssh_key_value': { + 'name': '--ssh-key-value', + 'action': VMSSHFieldAction + } +} + +VM_PATCH_EXTRA_PARAMETERS = { + 'resource_group_name': + extend_parameter(PARAMETER_ALIASES['resource_group_name'], required=True), + 'vm_name': + extend_parameter(PARAMETER_ALIASES['vm_name'], required=True) +} + +# HELP PARAMETERS + +helps['vm create'] = """ + type: command + short-summary: Create an Azure Virtual Machine + long-summary: See https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-quick-create-cli/ for an end-to-end tutorial + parameters: + - name: --image + type: string + required: false + short-summary: OS image + long-summary: | + Common OS types: CentOS, CoreOS, Debian, openSUSE, RHEL, SLES, UbuntuLTS, + Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1 + Example URN: canonical:Ubuntu_Snappy_Core:15.04:2016.0318.1949 + Example URI: http://.blob.core.windows.net/vhds/osdiskimage.vhd + populator-commands: + - az vm image list + - az vm image show + examples: + - name: Create a simple Windows Server VM with private IP address + text: > + az vm create --image Win2012R2Datacenter --admin-username myadmin --admin-password Admin_001 + -l "West US" -g myvms --name myvm001 + - name: Create a Linux VM with SSH key authentication, add a public DNS entry and add to an existing Virtual Network and Availability Set. + text: > + az vm create --image canonical:Ubuntu_Snappy_Core:15.04:2016.0318.1949 + --admin-username myadmin --admin-password Admin_001 --authentication-type sshkey + --virtual-network-type existing --virtual-network-name myvnet --subnet-name default + --availability-set-type existing --availability-set-id myavailset + --public-ip-address-type new --dns-name-for-public-ip myGloballyUniqueVmDnsName + -l "West US" -g myvms --name myvm18o --ssh-key-value "" + """ diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index e7d37227e77..d2b2232e50a 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -10,57 +10,32 @@ from azure.mgmt.compute.models import DataDisk from azure.mgmt.compute.models.compute_management_client_enums import DiskCreateOptionTypes -from azure.cli._locale import L from azure.cli.commands import CommandTable, LongRunningOperation, RESOURCE_GROUP_ARG_NAME from azure.cli.commands._command_creation import get_mgmt_service_client -from ._params import PARAMETER_ALIASES, _compute_client_factory +from ._params import PARAMETER_ALIASES, VM_PATCH_EXTRA_PARAMETERS, _compute_client_factory command_table = CommandTable() -def vm_getter(args): - ''' Retreive a VM based on the `args` passed in. - ''' - client = _compute_client_factory(**args) - result = client.virtual_machines.get(args.get(RESOURCE_GROUP_ARG_NAME), args.get('vm_name')) - return result +def _vm_get(**kwargs): + '''Retrieves a VM if a resource group and vm name are supplied.''' + vm_name = kwargs.get('vm_name') + resource_group_name = kwargs.get('resource_group_name') + client = _compute_client_factory() + return client.virtual_machines.get(resource_group_name, vm_name) \ + if resource_group_name and vm_name else None -def vm_setter(args, instance, start_msg, end_msg): - '''Update the given Virtual Machine instance - ''' +def _vm_set(instance, start_msg, end_msg): + '''Update the given Virtual Machine instance''' instance.resources = None # Issue: https://github.com/Azure/autorest/issues/934 - client = _compute_client_factory(**args) + client = _compute_client_factory() + parsed_id = _parse_rg_name(instance.id) poller = client.virtual_machines.create_or_update( - resource_group_name=args.get(RESOURCE_GROUP_ARG_NAME), - vm_name=args.get('vm_name'), + resource_group_name=parsed_id[0], + vm_name=parsed_id[1], parameters=instance) return LongRunningOperation(start_msg, end_msg)(poller) -def patches_vm(start_msg, finish_msg): - '''Decorator indicating that the decorated function modifies an existing Virtual Machine - in Azure. - It automatically adds arguments required to identify the Virtual Machine to be patched and - handles the actual put call to the compute service, leaving the decorated function to only - have to worry about the modifications it has to do. - ''' - def wrapped(func): - def invoke(args): - instance = vm_getter(args) - func(args, instance) - vm_setter(args, instance, start_msg, finish_msg) - - # All Virtual Machines are identified with a resource group name/name pair, so - # we add these parameters to all commands - command_table[invoke]['arguments'].append(PARAMETER_ALIASES['resource_group_name']) - command_table[invoke]['arguments'].append({ - 'name': '--vm-name -n', - 'dest': 'vm_name', - 'help': 'Name of Virtual Machine to update', - 'required': True - }) - return invoke - return wrapped - def _load_images_from_aliases_doc(publisher, offer, sku): target_url = ('https://raw.githubusercontent.com/Azure/azure-rest-api-specs/' 'master/arm-compute/quickstart-templates/aliases.json') @@ -134,7 +109,8 @@ def _create_image_instance(publisher, offer, sku, version): 'offer': offer, 'sku': sku, 'version': version - } + } + # # Composite convenience commands for the CLI # @@ -150,23 +126,17 @@ def _parse_rg_name(strid): class ConvenienceVmCommands(object): # pylint: disable=too-few-public-methods - def __init__(self, **_): - pass + def __init__(self, **kwargs): + self.vm = _vm_get(**kwargs) def list(self, resource_group_name): ''' List Virtual Machines. ''' ccf = _compute_client_factory() vm_list = ccf.virtual_machines.list(resource_group_name=resource_group_name) \ - if group else ccf.virtual_machines.list_all() + if resource_group_name else ccf.virtual_machines.list_all() return list(vm_list) - - def list_vm_images(self, - image_location=None, - publisher=None, - offer=None, - sku=None, - all=False): + def list_vm_images(self, image_location=None, publisher=None, offer=None, sku=None, all=False): # pylint: disable=redefined-builtin '''vm image list :param str location:Image location :param str publisher:Image publisher name @@ -247,34 +217,31 @@ def list_ip_addresses(self, return result - #@command_table.command('vm disk attach-new', - @patches_vm('Attaching disk', 'Disk attached') - def attach_new_disk(self, lun, diskname, vhd, disksize=1023, **kwargs): + def attach_new_disk(self, lun, diskname, vhd, disksize=1023, **kwargs): ''' Attach a new disk to an existing Virtual Machine''' - disk = DataDisk(lun=lun, vhd=vhd, name=kwargs.get('name'), + disk = DataDisk(lun=lun, vhd=vhd, name=diskname, create_option=DiskCreateOptionTypes.empty, disk_size_gb=disksize) - kwargs.get('instance').storage_profile.data_disks.append(disk) + self.vm.storage_profile.data_disks.append(disk) + _vm_set(self.vm, 'Attaching disk', 'Disk attached') - #@command_table.command('vm disk attach-existing', - @patches_vm('Attaching disk', 'Disk attached') def attach_existing_disk(self, lun, diskname, vhd, disksize=1023, **kwargs): ''' Attach an existing disk to an existing Virtual Machine ''' # TODO: figure out size of existing disk instead of making the default value 1023 - disk = DataDisk(lun=lun, vhd=vhd, name=kwargs.get('name'), + disk = DataDisk(lun=lun, vhd=vhd, name=diskname, create_option=DiskCreateOptionTypes.attach, disk_size_gb=disksize) - kwargs.get('instance').storage_profile.data_disks.append(disk) + self.vm.storage_profile.data_disks.append(disk) + _vm_set(self.vm, 'Attaching disk', 'Disk attached') - #@command_table.command('vm disk detach') - @patches_vm('Detaching disk', 'Disk detached') def detach_disk(self, diskname, **kwargs): + ''' Detach a disk from a Virtual Machine ''' # Issue: https://github.com/Azure/autorest/issues/934 - instance = kwargs.get('instance') - instance.resources = None + self.vm.resources = None try: - disk = next(d for d in instance.storage_profile.data_disks + disk = next(d for d in self.vm.storage_profile.data_disks if d.name == kwargs.get('name')) - instance.storage_profile.data_disks.remove(disk) + self.vm.storage_profile.data_disks.remove(disk) except StopIteration: - raise RuntimeError("No disk with the name '%s' found" % args.get('name')) + raise RuntimeError("No disk with the name '{}' found".format(diskname)) + _vm_set(self.vm, 'Detaching disk', 'Disk detached') diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index a56c987cfbe..70038680a52 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -1,7 +1,3 @@ -import argparse -import os -import re - from azure.mgmt.compute.operations import (AvailabilitySetsOperations, VirtualMachineExtensionImagesOperations, VirtualMachineExtensionsOperations, @@ -15,14 +11,14 @@ from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli.commands import CommandTable, LongRunningOperation -from azure.cli._locale import L from azure.cli.command_modules.vm.mgmt.lib import (VMCreationClient as VMClient, VMCreationClientConfiguration as VMClientConfig) from azure.cli.command_modules.vm.mgmt.lib.operations import VMOperations -from azure.cli._help_files import helps +from azure.cli._locale import L -from ._params import PARAMETER_ALIASES, _compute_client_factory +from ._params import (PARAMETER_ALIASES, VM_CREATE_EXTRA_PARAMETERS, VM_CREATE_PARAMETER_ALIASES, + VM_PATCH_EXTRA_PARAMETERS, _compute_client_factory) from .custom import ConvenienceVmCommands command_table = CommandTable() @@ -62,7 +58,7 @@ def _patch_aliases(alias_items): AutoCommandDefinition(ConvenienceVmCommands.attach_existing_disk, 'Object', 'attach-existing'), AutoCommandDefinition(ConvenienceVmCommands.detach_disk, 'Object', 'detach'), ], - command_table, PARAMETER_ALIASES) + command_table, PARAMETER_ALIASES, VM_PATCH_EXTRA_PARAMETERS) build_operation( 'vm extension', 'virtual_machine_extensions', _compute_client_factory, @@ -86,7 +82,7 @@ def _patch_aliases(alias_items): command_table, PARAMETER_ALIASES) build_operation( - 'vm usage', 'usage',_compute_client_factory, + 'vm usage', 'usage', _compute_client_factory, [ AutoCommandDefinition(UsageOperations.list, '[Usage]'), ], @@ -161,116 +157,15 @@ def _patch_aliases(alias_items): ], command_table, PARAMETER_ALIASES) -vm_param_aliases = { - 'name': { - 'name': '--name -n' - }, - 'os_disk_uri': { - 'name': '--os-disk-uri', - 'help': argparse.SUPPRESS - }, - 'os_offer': { - 'name': '--os_offer', - 'help': argparse.SUPPRESS - }, - 'os_publisher': { - 'name': '--os-publisher', - 'help': argparse.SUPPRESS - }, - 'os_sku': { - 'name': '--os-sku', - 'help': argparse.SUPPRESS - }, - 'os_type': { - 'name': '--os-type', - 'help': argparse.SUPPRESS - }, - 'os_version': { - 'name': '--os-version', - 'help': argparse.SUPPRESS - }, - } - -class VMImageFieldAction(argparse.Action): #pylint: disable=too-few-public-methods - def __call__(self, parser, namespace, values, option_string=None): - image = values - match = re.match('([^:]*):([^:]*):([^:]*):([^:]*)', image) - - if image.lower().endswith('.vhd'): - namespace.os_disk_uri = image - elif match: - namespace.os_type = 'Custom' - namespace.os_publisher = match.group(1) - namespace.os_offer = match.group(2) - namespace.os_sku = match.group(3) - namespace.os_version = match.group(4) - else: - namespace.os_type = image - -class VMSSHFieldAction(argparse.Action): #pylint: disable=too-few-public-methods - def __call__(self, parser, namespace, values, option_string=None): - ssh_value = values - - if os.path.exists(ssh_value): - with open(ssh_value, 'r') as f: - namespace.ssh_key_value = f.read() - else: - namespace.ssh_key_value = ssh_value - -extra_parameters = [ - { - 'name': '--image', - 'help': 'The OS image. Supported values: Common OS (e.g. Win2012R2Datacenter), URN (e.g. "publisher:offer:sku:version"), or existing VHD URI.', - 'action': VMImageFieldAction - }, - { - 'name': '--ssh-key-value', - 'action': VMSSHFieldAction - } - ] - -helps['vm create'] = """ - type: command - short-summary: Create an Azure Virtual Machine - long-summary: See https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-quick-create-cli/ for an end-to-end tutorial - parameters: - - name: --image - type: string - required: false - short-summary: OS image - long-summary: | - Common OS types: CentOS, CoreOS, Debian, openSUSE, RHEL, SLES, UbuntuLTS, - Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1 - Example URN: canonical:Ubuntu_Snappy_Core:15.04:2016.0318.1949 - Example URI: http://.blob.core.windows.net/vhds/osdiskimage.vhd - populator-commands: - - az vm image list - - az vm image show - examples: - - name: Create a simple Windows Server VM with private IP address - text: > - az vm create --image Win2012R2Datacenter --admin-username myadmin --admin-password Admin_001 - -l "West US" -g myvms --name myvm001 - - name: Create a Linux VM with SSH key authentication, add a public DNS entry and add to an existing Virtual Network and Availability Set. - text: > - az vm create --image canonical:Ubuntu_Snappy_Core:15.04:2016.0318.1949 - --admin-username myadmin --admin-password Admin_001 --authentication-type sshkey - --virtual-network-type existing --virtual-network-name myvnet --subnet-name default - --availability-set-type existing --availability-set-id myavailset - --public-ip-address-type new --dns-name-for-public-ip myGloballyUniqueVmDnsName - -l "West US" -g myvms --name myvm18o --ssh-key-value "" - """ - build_operation( - 'vm', 'vm', lambda _: get_mgmt_service_client(VMClient, VMClientConfig), + 'vm', 'vm', lambda **_: get_mgmt_service_client(VMClient, VMClientConfig), [ - AutoCommandDefinition(VMOperations.create_or_update, - LongRunningOperation(L('Creating virtual machine'), L('Virtual machine created')), - 'create') + AutoCommandDefinition( + VMOperations.create_or_update, + LongRunningOperation(L('Creating virtual machine'), L('Virtual machine created')), + 'create') ], - command_table, - vm_param_aliases, - extra_parameters) + command_table, VM_CREATE_PARAMETER_ALIASES, VM_CREATE_EXTRA_PARAMETERS) build_operation( 'vm image', None, ConvenienceVmCommands, From 4b73df753e0c4620581f611d6483740a2cfdf584 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Thu, 5 May 2016 16:06:26 -0700 Subject: [PATCH 07/27] Progress on converting network. --- azure-cli.pyproj | 9 + .../cli/command_modules/network/__init__.py | 390 +----------------- .../cli/command_modules/network/_params.py | 41 ++ .../cli/command_modules/network/custom.py | 19 + .../cli/command_modules/network/generated.py | 320 ++++++++++++++ .../azure/cli/command_modules/vm/custom.py | 13 +- 6 files changed, 397 insertions(+), 395 deletions(-) create mode 100644 src/command_modules/azure-cli-network/azure/cli/command_modules/network/_params.py create mode 100644 src/command_modules/azure-cli-network/azure/cli/command_modules/network/custom.py create mode 100644 src/command_modules/azure-cli-network/azure/cli/command_modules/network/generated.py diff --git a/azure-cli.pyproj b/azure-cli.pyproj index 059f44a76d6..927849a23ab 100644 --- a/azure-cli.pyproj +++ b/azure-cli.pyproj @@ -41,6 +41,12 @@ + + Code + + + Code + @@ -62,6 +68,9 @@ Code + + Code + diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py index b747bcb0ddc..5eedff95c86 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py @@ -1,389 +1,3 @@ -from azure.mgmt.network import NetworkManagementClient, NetworkManagementClientConfiguration -from azure.mgmt.network.operations import (ApplicationGatewaysOperations, - ExpressRouteCircuitAuthorizationsOperations, - ExpressRouteCircuitPeeringsOperations, - ExpressRouteCircuitsOperations, - ExpressRouteServiceProvidersOperations, - LoadBalancersOperations, - LocalNetworkGatewaysOperations, - NetworkInterfacesOperations, - NetworkSecurityGroupsOperations, - PublicIPAddressesOperations, - RouteTablesOperations, - RoutesOperations, - SecurityRulesOperations, - SubnetsOperations, - UsagesOperations, - VirtualNetworkGatewayConnectionsOperations, - VirtualNetworkGatewaysOperations, - VirtualNetworksOperations) +from .generated import command_table as generated_command_table -from azure.cli.command_modules.network.mgmt.lib import (ResourceManagementClient as VNetClient, - ResourceManagementClientConfiguration - as VNetClientConfig) -from azure.cli.command_modules.network.mgmt.lib.operations import VNetOperations - -from azure.cli.commands._command_creation import get_mgmt_service_client -from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition -from azure.cli.commands import (CommandTable, - LongRunningOperation, - COMMON_PARAMETERS, - RESOURCE_GROUP_ARG_NAME) -from azure.cli._locale import L - -command_table = CommandTable() - -def _network_client_factory(**_): - return get_mgmt_service_client(NetworkManagementClient, NetworkManagementClientConfiguration) - -_VNET_PARAM_NAME = '--vnet-name' - -# pylint: disable=line-too-long -# Application gateways -build_operation("network application-gateway", - "application_gateways", - _network_client_factory, - [ - AutoCommandDefinition(ApplicationGatewaysOperations.delete, LongRunningOperation(L('Deleting application gateway'), L('Application gateway deleted'))), - AutoCommandDefinition(ApplicationGatewaysOperations.get, 'ApplicationGateway', command_alias='show'), - AutoCommandDefinition(ApplicationGatewaysOperations.list, '[ApplicationGateway]'), - AutoCommandDefinition(ApplicationGatewaysOperations.list_all, '[ApplicationGateway]'), - AutoCommandDefinition(ApplicationGatewaysOperations.start, LongRunningOperation(L('Starting application gateway'), L('Application gateway started'))), - AutoCommandDefinition(ApplicationGatewaysOperations.stop, LongRunningOperation(L('Stopping application gateway'), L('Application gateway stopped'))), - ], - command_table, - { - 'application_gateway_name': {'name': '--name -n'} - }) - -# ExpressRouteCircuitAuthorizationsOperations -build_operation("network express-route circuit-auth", - "express_route_circuit_authorizations", - _network_client_factory, - [ - AutoCommandDefinition(ExpressRouteCircuitAuthorizationsOperations.delete, LongRunningOperation(L('Deleting express route authorization'), L('Express route authorization deleted'))), - AutoCommandDefinition(ExpressRouteCircuitAuthorizationsOperations.get, 'ExpressRouteCircuitAuthorization', command_alias='show'), - AutoCommandDefinition(ExpressRouteCircuitAuthorizationsOperations.list, '[ExpressRouteCircuitAuthorization]'), - ], - command_table, - { - 'authorization_name': {'name': '--name -n'} - }) - - -# ExpressRouteCircuitPeeringsOperations -build_operation("network express-route circuit-peering", - "express_route_circuit_peerings", - _network_client_factory, - [ - AutoCommandDefinition(ExpressRouteCircuitPeeringsOperations.delete, LongRunningOperation(L('Deleting express route circuit peering'), L('Express route circuit peering deleted'))), - AutoCommandDefinition(ExpressRouteCircuitPeeringsOperations.get, 'ExpressRouteCircuitPeering', command_alias='show'), - AutoCommandDefinition(ExpressRouteCircuitPeeringsOperations.list, '[ExpressRouteCircuitPeering]'), - ], - command_table, - { - 'peering_name': {'name': '--name -n'} - }) - -# ExpressRouteCircuitsOperations -build_operation("network express-route circuit", - "express_route_circuits", - _network_client_factory, - [ - AutoCommandDefinition(ExpressRouteCircuitsOperations.delete, LongRunningOperation(L('Deleting express route circuit'), L('Express route circuit deleted'))), - AutoCommandDefinition(ExpressRouteCircuitsOperations.get, 'ExpressRouteCircuit', command_alias='show'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list_arp_table, '[ExpressRouteCircuitArpTable]', 'list-arp'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list_routes_table, '[ExpressRouteCircuitRoutesTable]', 'list-routes'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list_stats, '[ExpressRouteCircuitStats]'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list, '[ExpressRouteCircuit]'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list_all, '[ExpressRouteCircuit]'), - ], - command_table, - { - 'circuit_name': {'name': '--name -n'} - }) - -# ExpressRouteServiceProvidersOperations -build_operation("network express-route service-provider", - "express_route_service_providers", - _network_client_factory, - [ - AutoCommandDefinition(ExpressRouteServiceProvidersOperations.list, '[ExpressRouteServiceProvider]'), - ], - command_table) - -# LoadBalancersOperations -build_operation("network lb", - "load_balancers", - _network_client_factory, - [ - AutoCommandDefinition(LoadBalancersOperations.delete, LongRunningOperation(L('Deleting load balancer'), L('Load balancer deleted'))), - AutoCommandDefinition(LoadBalancersOperations.get, 'LoadBalancer', command_alias='show'), - AutoCommandDefinition(LoadBalancersOperations.list_all, '[LoadBalancer]'), - AutoCommandDefinition(LoadBalancersOperations.list, '[LoadBalancer]'), - ], - command_table, - { - 'load_balancer_name': {'name': '--name -n'} - }) - -# LocalNetworkGatewaysOperations -build_operation("network local-gateway", - "local_network_gateways", - _network_client_factory, - [ - AutoCommandDefinition(LocalNetworkGatewaysOperations.get, 'LocalNetworkGateway', command_alias='show'), - AutoCommandDefinition(LocalNetworkGatewaysOperations.delete, LongRunningOperation(L('Deleting local network gateway'), L('Local network gateway deleted'))), - AutoCommandDefinition(LocalNetworkGatewaysOperations.list, '[LocalNetworkGateway]'), - ], - command_table, - { - 'local_network_gateway_name': {'name': '--name -n'} - }) - - -# NetworkInterfacesOperations -build_operation("network nic", - "network_interfaces", - _network_client_factory, - [ - AutoCommandDefinition(NetworkInterfacesOperations.delete, LongRunningOperation(L('Deleting network interface'), L('Network interface deleted'))), - AutoCommandDefinition(NetworkInterfacesOperations.get, 'NetworkInterface', command_alias='show'), - AutoCommandDefinition(NetworkInterfacesOperations.list_all, '[NetworkInterface]'), - AutoCommandDefinition(NetworkInterfacesOperations.list, '[NetworkInterface]'), - ], - command_table, - { - 'network_interface_name': {'name': '--name -n'} - }) - -# NetworkInterfacesOperations: scaleset -build_operation("network nic scale-set", - "network_interfaces", - _network_client_factory, - [ - AutoCommandDefinition(NetworkInterfacesOperations.list_virtual_machine_scale_set_vm_network_interfaces, '[NetworkInterface]', command_alias='list-vm-nics'), - AutoCommandDefinition(NetworkInterfacesOperations.list_virtual_machine_scale_set_network_interfaces, '[NetworkInterface]', command_alias='list'), - AutoCommandDefinition(NetworkInterfacesOperations.get_virtual_machine_scale_set_network_interface, 'NetworkInterface', command_alias='show'), - ], - command_table, - { - 'virtual_machine_scale_set_name': {'name': '--vm-scale-set'}, - 'network_interface_name': {'name': '--name -n'}, - 'virtualmachine_index': {'name': '--vm-index'} - }) - -# NetworkSecurityGroupsOperations -build_operation("network nsg", - "network_security_groups", - _network_client_factory, - [ - AutoCommandDefinition(NetworkSecurityGroupsOperations.delete, LongRunningOperation(L('Deleting network security group'), L('Network security group deleted'))), - AutoCommandDefinition(NetworkSecurityGroupsOperations.get, 'NetworkSecurityGroup', command_alias='show'), - AutoCommandDefinition(NetworkSecurityGroupsOperations.list_all, '[NetworkSecurityGroup]'), - AutoCommandDefinition(NetworkSecurityGroupsOperations.list, '[NetworkSecurityGroup]'), - ], - command_table, - { - 'network_security_group_name': {'name': '--name -n'} - }) - -# PublicIPAddressesOperations -build_operation("network public-ip", - "public_ip_addresses", - _network_client_factory, - [ - AutoCommandDefinition(PublicIPAddressesOperations.delete, LongRunningOperation(L('Deleting public IP address'), L('Public IP address deleted'))), - AutoCommandDefinition(PublicIPAddressesOperations.get, 'PublicIPAddress', command_alias='show'), - AutoCommandDefinition(PublicIPAddressesOperations.list_all, '[PublicIPAddress]'), - AutoCommandDefinition(PublicIPAddressesOperations.list, '[PublicIPAddress]'), - ], - command_table, - { - 'public_ip_address_name': {'name': '--name -n'} - }) - -# RouteTablesOperations -build_operation("network route-table", - "route_tables", - _network_client_factory, - [ - AutoCommandDefinition(RouteTablesOperations.delete, LongRunningOperation(L('Deleting route table'), L('Route table deleted'))), - AutoCommandDefinition(RouteTablesOperations.get, 'RouteTable', command_alias='show'), - AutoCommandDefinition(RouteTablesOperations.list, '[RouteTable]'), - AutoCommandDefinition(RouteTablesOperations.list_all, '[RouteTable]'), - ], - command_table, - { - 'route_table_name': {'name': '--name -n'} - }) - - -# RoutesOperations -build_operation("network route-operation", - "routes", - _network_client_factory, - [ - AutoCommandDefinition(RoutesOperations.delete, LongRunningOperation(L('Deleting route'), L('Route deleted'))), - AutoCommandDefinition(RoutesOperations.get, 'Route', command_alias='show'), - AutoCommandDefinition(RoutesOperations.list, '[Route]'), - ], - command_table, - { - 'route_name': {'name': '--name -n'} - }) - -# SecurityRulesOperations -build_operation("network nsg-rule", - "security_rules", - _network_client_factory, - [ - AutoCommandDefinition(SecurityRulesOperations.delete, LongRunningOperation(L('Deleting security rule'), L('Security rule deleted'))), - AutoCommandDefinition(SecurityRulesOperations.get, 'SecurityRule', command_alias='show'), - AutoCommandDefinition(SecurityRulesOperations.list, '[SecurityRule]'), - ], - command_table, - { - 'security_rule_name': {'name': '--name'}, - 'network_security_group_name': {'name': '--nsg-name'} - }) - -# SubnetsOperations -build_operation("network vnet subnet", - "subnets", - _network_client_factory, - [ - AutoCommandDefinition(SubnetsOperations.delete, LongRunningOperation(L('Deleting subnet'), L('Subnet deleted'))), - AutoCommandDefinition(SubnetsOperations.get, 'Subnet', command_alias='show'), - AutoCommandDefinition(SubnetsOperations.list, '[Subnet]'), - ], - command_table, - { - 'subnet_name': {'name': '--name -n'}, - 'virtual_network_name': {'name': _VNET_PARAM_NAME} - }) - -# UsagesOperations -build_operation("network", - "usages", - _network_client_factory, - [ - AutoCommandDefinition(UsagesOperations.list, '[Usage]', command_alias='list-usages'), - ], - command_table) - -# VirtualNetworkGatewayConnectionsOperations -build_operation("network vpn-connection", - "virtual_network_gateway_connections", - _network_client_factory, - [ - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.delete, LongRunningOperation(L('Deleting virtual network gateway connection'), L('Virtual network gateway connection deleted'))), - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.get, 'VirtualNetworkGatewayConnection', command_alias='show'), - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.list, '[VirtualNetworkGatewayConnection]'), - ], - command_table, - { - 'virtual_network_gateway_connection_name': {'name': '--name -n'} - }) - -# VirtualNetworkGatewayConnectionsOperations: shared-key -build_operation("network vpn-connection shared-key", - "virtual_network_gateway_connections", - _network_client_factory, - [ - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.get_shared_key, 'ConnectionSharedKeyResult', command_alias='show'), - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.reset_shared_key, 'ConnectionResetSharedKey', command_alias='reset'), - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.set_shared_key, 'ConnectionSharedKey', command_alias='set'), - ], - command_table, - { - 'virtual_network_gateway_connection_name': {'name': '--connection-name'}, - 'connection_shared_key_name': {'name': '--name -n'} - - }) - -# VirtualNetworkGatewaysOperations -build_operation("network vpn-gateway", - "virtual_network_gateways", - _network_client_factory, - [ - AutoCommandDefinition(VirtualNetworkGatewaysOperations.delete, LongRunningOperation(L('Deleting virtual network gateway'), L('Virtual network gateway deleted'))), - AutoCommandDefinition(VirtualNetworkGatewaysOperations.get, 'VirtualNetworkGateway', command_alias='show'), - AutoCommandDefinition(VirtualNetworkGatewaysOperations.list, '[VirtualNetworkGateway]'), - AutoCommandDefinition(VirtualNetworkGatewaysOperations.reset, 'VirtualNetworkGateway'), - ], - command_table, - { - 'virtual_network_gateway_name': {'name': '--name -n'} - }) - -# VirtualNetworksOperations -build_operation("network vnet", - "virtual_networks", - _network_client_factory, - [ - AutoCommandDefinition(VirtualNetworksOperations.delete, LongRunningOperation(L('Deleting virtual network'), L('Virtual network deleted'))), - AutoCommandDefinition(VirtualNetworksOperations.get, 'VirtualNetwork', command_alias='show'), - AutoCommandDefinition(VirtualNetworksOperations.list, '[VirtualNetwork]'), - AutoCommandDefinition(VirtualNetworksOperations.list_all, '[VirtualNetwork]'), - ], - command_table, - { - 'virtual_network_name': {'name': '--name -n'} - }) - -# BUG: we are waiting on autorest to support this rename (https://github.com/Azure/autorest/issues/941) -VNET_SPECIFIC_PARAMS = { - 'deployment_parameter_virtual_network_name_value': { - 'name': '--name -n', - 'metavar': 'VNETNAME', - }, - 'deployment_parameter_virtual_network_prefix_value': { - 'name': '--vnet-prefix', - 'metavar': 'VNETPREFIX', - }, - 'deployment_parameter_subnet_name_value': { - 'name': '--subnet-name', - 'metavar': 'SUBNETNAME', - }, - 'deployment_parameter_subnet_prefix_value': { - 'name': '--subnet-prefix', - 'metavar': 'SUBNETPREFIX', - }, - 'deployment_parameter_location_value': { - 'name': '--location', - 'metavar': 'LOCATION', - } -} - -build_operation('network vnet', - 'vnet', - lambda _: get_mgmt_service_client(VNetClient, VNetClientConfig), - [ - AutoCommandDefinition(VNetOperations.create, - LongRunningOperation(L('Creating virtual network'), L('Virtual network created'))) - ], - command_table, - VNET_SPECIFIC_PARAMS) - -@command_table.command('network subnet create') -@command_table.description(L('Create or update a virtual network (VNet) subnet')) -@command_table.option(**COMMON_PARAMETERS['resource_group_name']) -@command_table.option('--name -n', help=L('the subnet name'), required=True) -@command_table.option(_VNET_PARAM_NAME, help=L('the name of the vnet'), required=True) -@command_table.option('--address-prefix -a', help=L('the the address prefix in CIDR format'), required=True) -def create_update_subnet(args): - from azure.mgmt.network.models import Subnet - - resource_group = args.get(RESOURCE_GROUP_ARG_NAME) - vnet = args.get('vnet') - name = args.get('name') - address_prefix = args.get('address_prefix') - - subnet_settings = Subnet(name=name, - address_prefix=address_prefix) - - op = LongRunningOperation('Creating subnet', 'Subnet created') - smc = _network_client_factory(**args) - poller = smc.subnets.create_or_update(resource_group, vnet, name, subnet_settings) - return op(poller) +command_table = generated_command_table diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/_params.py b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/_params.py new file mode 100644 index 00000000000..b823720b6c8 --- /dev/null +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/_params.py @@ -0,0 +1,41 @@ +from azure.mgmt.network import NetworkManagementClient, NetworkManagementClientConfiguration + +from azure.cli.commands._command_creation import get_mgmt_service_client + +# FACTORIES + +def _network_client_factory(**_): + return get_mgmt_service_client(NetworkManagementClient, NetworkManagementClientConfiguration) + +# BASIC PARAMETER CONFIGURATION + +#@command_table.option('--name -n', help=L('the subnet name'), required=True) +#@command_table.option(_VNET_PARAM_NAME, help=L('the name of the vnet'), required=True) +#@command_table.option('--address-prefix -a', help=L('the the address prefix in CIDR format'), +#required=True) + + +# BUG: we are waiting on autorest to support this rename +# (https://github.com/Azure/autorest/issues/941) +VNET_SPECIFIC_PARAMS = { + 'deployment_parameter_virtual_network_name_value': { + 'name': '--name -n', + 'metavar': 'VNETNAME', + }, + 'deployment_parameter_virtual_network_prefix_value': { + 'name': '--vnet-prefix', + 'metavar': 'VNETPREFIX', + }, + 'deployment_parameter_subnet_name_value': { + 'name': '--subnet-name', + 'metavar': 'SUBNETNAME', + }, + 'deployment_parameter_subnet_prefix_value': { + 'name': '--subnet-prefix', + 'metavar': 'SUBNETPREFIX', + }, + 'deployment_parameter_location_value': { + 'name': '--location', + 'metavar': 'LOCATION', + } +} diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/custom.py b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/custom.py new file mode 100644 index 00000000000..a4895cc1b77 --- /dev/null +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/custom.py @@ -0,0 +1,19 @@ +# pylint: disable=no-self-use,too-many-arguments +from azure.mgmt.network.models import Subnet + +from azure.cli.commands import LongRunningOperation +from azure.cli.command_modules.network._params import _network_client_factory + +class ConvenienceNetworkCommands(object): # pylint: disable=too-few-public-methods + + def __init__(self, **_): + pass + + def create_update_subnet(self, resource_group_name, subnet_name, vnet_name, address_prefix): + '''Create or update a virtual network (VNet) subnet''' + subnet_settings = Subnet(name=subnet_name, address_prefix=address_prefix) + op = LongRunningOperation('Creating subnet', 'Subnet created') + ncf = _network_client_factory() + poller = ncf.subnets.create_or_update( + resource_group_name, vnet_name, subnet_name, subnet_settings) + return op(poller) diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/generated.py b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/generated.py new file mode 100644 index 00000000000..d150c60db70 --- /dev/null +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/generated.py @@ -0,0 +1,320 @@ +from azure.mgmt.network.operations import (ApplicationGatewaysOperations, + ExpressRouteCircuitAuthorizationsOperations, + ExpressRouteCircuitPeeringsOperations, + ExpressRouteCircuitsOperations, + ExpressRouteServiceProvidersOperations, + LoadBalancersOperations, + LocalNetworkGatewaysOperations, + NetworkInterfacesOperations, + NetworkSecurityGroupsOperations, + PublicIPAddressesOperations, + RouteTablesOperations, + RoutesOperations, + SecurityRulesOperations, + SubnetsOperations, + UsagesOperations, + VirtualNetworkGatewayConnectionsOperations, + VirtualNetworkGatewaysOperations, + VirtualNetworksOperations) + +from azure.cli.commands._command_creation import get_mgmt_service_client +from azure.cli.command_modules.network.mgmt.lib import (ResourceManagementClient as VNetClient, + ResourceManagementClientConfiguration + as VNetClientConfig) +from azure.cli.command_modules.network.mgmt.lib.operations import VNetOperations +from azure.cli.command_modules.network.custom import ConvenienceNetworkCommands +from azure.cli.command_modules.network._params import VNET_SPECIFIC_PARAMS, _network_client_factory +from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition +from azure.cli.commands import CommandTable, LongRunningOperation +from azure.cli._locale import L + +command_table = CommandTable() + +_VNET_PARAM_NAME = '--vnet-name' + +# pylint: disable=line-too-long +# Application gateways +build_operation( + 'network application-gateway', 'application_gateways', _network_client_factory, + [ + AutoCommandDefinition(ApplicationGatewaysOperations.delete, LongRunningOperation(L('Deleting application gateway'), L('Application gateway deleted'))), + AutoCommandDefinition(ApplicationGatewaysOperations.get, 'ApplicationGateway', command_alias='show'), + AutoCommandDefinition(ApplicationGatewaysOperations.list, '[ApplicationGateway]'), + AutoCommandDefinition(ApplicationGatewaysOperations.list_all, '[ApplicationGateway]'), + AutoCommandDefinition(ApplicationGatewaysOperations.start, LongRunningOperation(L('Starting application gateway'), L('Application gateway started'))), + AutoCommandDefinition(ApplicationGatewaysOperations.stop, LongRunningOperation(L('Stopping application gateway'), L('Application gateway stopped'))), + ], + command_table, + { + 'application_gateway_name': {'name': '--name -n'} + }) + +# ExpressRouteCircuitAuthorizationsOperations +build_operation( + 'network express-route circuit-auth', 'express_route_circuit_authorizations', _network_client_factory, + [ + AutoCommandDefinition(ExpressRouteCircuitAuthorizationsOperations.delete, LongRunningOperation(L('Deleting express route authorization'), L('Express route authorization deleted'))), + AutoCommandDefinition(ExpressRouteCircuitAuthorizationsOperations.get, 'ExpressRouteCircuitAuthorization', command_alias='show'), + AutoCommandDefinition(ExpressRouteCircuitAuthorizationsOperations.list, '[ExpressRouteCircuitAuthorization]'), + ], + command_table, + { + 'authorization_name': {'name': '--name -n'} + }) + +# ExpressRouteCircuitPeeringsOperations +build_operation( + 'network express-route circuit-peering', 'express_route_circuit_peerings', _network_client_factory, + [ + AutoCommandDefinition(ExpressRouteCircuitPeeringsOperations.delete, LongRunningOperation(L('Deleting express route circuit peering'), L('Express route circuit peering deleted'))), + AutoCommandDefinition(ExpressRouteCircuitPeeringsOperations.get, 'ExpressRouteCircuitPeering', command_alias='show'), + AutoCommandDefinition(ExpressRouteCircuitPeeringsOperations.list, '[ExpressRouteCircuitPeering]'), + ], + command_table, + { + 'peering_name': {'name': '--name -n'} + }) + +# ExpressRouteCircuitsOperations +build_operation( + 'network express-route circuit', 'express_route_circuits', _network_client_factory, + [ + AutoCommandDefinition(ExpressRouteCircuitsOperations.delete, LongRunningOperation(L('Deleting express route circuit'), L('Express route circuit deleted'))), + AutoCommandDefinition(ExpressRouteCircuitsOperations.get, 'ExpressRouteCircuit', command_alias='show'), + AutoCommandDefinition(ExpressRouteCircuitsOperations.list_arp_table, '[ExpressRouteCircuitArpTable]', 'list-arp'), + AutoCommandDefinition(ExpressRouteCircuitsOperations.list_routes_table, '[ExpressRouteCircuitRoutesTable]', 'list-routes'), + AutoCommandDefinition(ExpressRouteCircuitsOperations.list_stats, '[ExpressRouteCircuitStats]'), + AutoCommandDefinition(ExpressRouteCircuitsOperations.list, '[ExpressRouteCircuit]'), + AutoCommandDefinition(ExpressRouteCircuitsOperations.list_all, '[ExpressRouteCircuit]'), + ], + command_table, + { + 'circuit_name': {'name': '--name -n'} + }) + +# ExpressRouteServiceProvidersOperations +build_operation( + 'network express-route service-provider', 'express_route_service_providers', _network_client_factory, + [ + AutoCommandDefinition(ExpressRouteServiceProvidersOperations.list, '[ExpressRouteServiceProvider]'), + ], + command_table) + +# LoadBalancersOperations +build_operation( + 'network lb', 'load_balancers', _network_client_factory, + [ + AutoCommandDefinition(LoadBalancersOperations.delete, LongRunningOperation(L('Deleting load balancer'), L('Load balancer deleted'))), + AutoCommandDefinition(LoadBalancersOperations.get, 'LoadBalancer', command_alias='show'), + AutoCommandDefinition(LoadBalancersOperations.list_all, '[LoadBalancer]'), + AutoCommandDefinition(LoadBalancersOperations.list, '[LoadBalancer]'), + ], + command_table, + { + 'load_balancer_name': {'name': '--name -n'} + }) + +# LocalNetworkGatewaysOperations +build_operation( + 'network local-gateway', 'local_network_gateways', _network_client_factory, + [ + AutoCommandDefinition(LocalNetworkGatewaysOperations.get, 'LocalNetworkGateway', command_alias='show'), + AutoCommandDefinition(LocalNetworkGatewaysOperations.delete, LongRunningOperation(L('Deleting local network gateway'), L('Local network gateway deleted'))), + AutoCommandDefinition(LocalNetworkGatewaysOperations.list, '[LocalNetworkGateway]'), + ], + command_table, + { + 'local_network_gateway_name': {'name': '--name -n'} + }) + + +# NetworkInterfacesOperations +build_operation( + 'network nic', 'network_interfaces', _network_client_factory, + [ + AutoCommandDefinition(NetworkInterfacesOperations.delete, LongRunningOperation(L('Deleting network interface'), L('Network interface deleted'))), + AutoCommandDefinition(NetworkInterfacesOperations.get, 'NetworkInterface', command_alias='show'), + AutoCommandDefinition(NetworkInterfacesOperations.list_all, '[NetworkInterface]'), + AutoCommandDefinition(NetworkInterfacesOperations.list, '[NetworkInterface]'), + ], + command_table, + { + 'network_interface_name': {'name': '--name -n'} + }) + +# NetworkInterfacesOperations: scaleset +build_operation( + 'network nic scale-set', 'network_interfaces', _network_client_factory, + [ + AutoCommandDefinition(NetworkInterfacesOperations.list_virtual_machine_scale_set_vm_network_interfaces, '[NetworkInterface]', command_alias='list-vm-nics'), + AutoCommandDefinition(NetworkInterfacesOperations.list_virtual_machine_scale_set_network_interfaces, '[NetworkInterface]', command_alias='list'), + AutoCommandDefinition(NetworkInterfacesOperations.get_virtual_machine_scale_set_network_interface, 'NetworkInterface', command_alias='show'), + ], + command_table, + { + 'virtual_machine_scale_set_name': {'name': '--vm-scale-set'}, + 'network_interface_name': {'name': '--name -n'}, + 'virtualmachine_index': {'name': '--vm-index'} + }) + +# NetworkSecurityGroupsOperations +build_operation( + 'network nsg', 'network_security_groups', _network_client_factory, + [ + AutoCommandDefinition(NetworkSecurityGroupsOperations.delete, LongRunningOperation(L('Deleting network security group'), L('Network security group deleted'))), + AutoCommandDefinition(NetworkSecurityGroupsOperations.get, 'NetworkSecurityGroup', command_alias='show'), + AutoCommandDefinition(NetworkSecurityGroupsOperations.list_all, '[NetworkSecurityGroup]'), + AutoCommandDefinition(NetworkSecurityGroupsOperations.list, '[NetworkSecurityGroup]'), + ], + command_table, + { + 'network_security_group_name': {'name': '--name -n'} + }) + +# PublicIPAddressesOperations +build_operation( + 'network public-ip', 'public_ip_addresses', _network_client_factory, + [ + AutoCommandDefinition(PublicIPAddressesOperations.delete, LongRunningOperation(L('Deleting public IP address'), L('Public IP address deleted'))), + AutoCommandDefinition(PublicIPAddressesOperations.get, 'PublicIPAddress', command_alias='show'), + AutoCommandDefinition(PublicIPAddressesOperations.list_all, '[PublicIPAddress]'), + AutoCommandDefinition(PublicIPAddressesOperations.list, '[PublicIPAddress]'), + ], + command_table, + { + 'public_ip_address_name': {'name': '--name -n'} + }) + +# RouteTablesOperations +build_operation( + 'network route-table', 'route_tables', _network_client_factory, + [ + AutoCommandDefinition(RouteTablesOperations.delete, LongRunningOperation(L('Deleting route table'), L('Route table deleted'))), + AutoCommandDefinition(RouteTablesOperations.get, 'RouteTable', command_alias='show'), + AutoCommandDefinition(RouteTablesOperations.list, '[RouteTable]'), + AutoCommandDefinition(RouteTablesOperations.list_all, '[RouteTable]'), + ], + command_table, + { + 'route_table_name': {'name': '--name -n'} + }) + + +# RoutesOperations +build_operation( + 'network route-operation', 'routes', _network_client_factory, + [ + AutoCommandDefinition(RoutesOperations.delete, LongRunningOperation(L('Deleting route'), L('Route deleted'))), + AutoCommandDefinition(RoutesOperations.get, 'Route', command_alias='show'), + AutoCommandDefinition(RoutesOperations.list, '[Route]'), + ], + command_table, + { + 'route_name': {'name': '--name -n'} + }) + +# SecurityRulesOperations +build_operation( + 'network nsg-rule', 'security_rules', _network_client_factory, + [ + AutoCommandDefinition(SecurityRulesOperations.delete, LongRunningOperation(L('Deleting security rule'), L('Security rule deleted'))), + AutoCommandDefinition(SecurityRulesOperations.get, 'SecurityRule', command_alias='show'), + AutoCommandDefinition(SecurityRulesOperations.list, '[SecurityRule]'), + ], + command_table, + { + 'security_rule_name': {'name': '--name'}, + 'network_security_group_name': {'name': '--nsg-name'} + }) + +# SubnetsOperations +build_operation( + 'network vnet subnet', 'subnets', _network_client_factory, + [ + AutoCommandDefinition(SubnetsOperations.delete, LongRunningOperation(L('Deleting subnet'), L('Subnet deleted'))), + AutoCommandDefinition(SubnetsOperations.get, 'Subnet', command_alias='show'), + AutoCommandDefinition(SubnetsOperations.list, '[Subnet]'), + ], + command_table, + { + 'subnet_name': {'name': '--name -n'}, + 'virtual_network_name': {'name': _VNET_PARAM_NAME} + }) + +# UsagesOperations +build_operation( + 'network', 'usages', _network_client_factory, + [ + AutoCommandDefinition(UsagesOperations.list, '[Usage]', command_alias='list-usages'), + ], + command_table) + +# VirtualNetworkGatewayConnectionsOperations +build_operation( + 'network vpn-connection', 'virtual_network_gateway_connections', _network_client_factory, + [ + AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.delete, LongRunningOperation(L('Deleting virtual network gateway connection'), L('Virtual network gateway connection deleted'))), + AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.get, 'VirtualNetworkGatewayConnection', command_alias='show'), + AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.list, '[VirtualNetworkGatewayConnection]'), + ], + command_table, + { + 'virtual_network_gateway_connection_name': {'name': '--name -n'} + }) + +# VirtualNetworkGatewayConnectionsOperations: shared-key +build_operation( + 'network vpn-connection shared-key', 'virtual_network_gateway_connections', _network_client_factory, + [ + AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.get_shared_key, 'ConnectionSharedKeyResult', command_alias='show'), + AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.reset_shared_key, 'ConnectionResetSharedKey', command_alias='reset'), + AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.set_shared_key, 'ConnectionSharedKey', command_alias='set'), + ], + command_table, + { + 'virtual_network_gateway_connection_name': {'name': '--connection-name'}, + 'connection_shared_key_name': {'name': '--name -n'} + }) + +# VirtualNetworkGatewaysOperations +build_operation( + 'network vpn-gateway', 'virtual_network_gateways', _network_client_factory, + [ + AutoCommandDefinition(VirtualNetworkGatewaysOperations.delete, LongRunningOperation(L('Deleting virtual network gateway'), L('Virtual network gateway deleted'))), + AutoCommandDefinition(VirtualNetworkGatewaysOperations.get, 'VirtualNetworkGateway', command_alias='show'), + AutoCommandDefinition(VirtualNetworkGatewaysOperations.list, '[VirtualNetworkGateway]'), + AutoCommandDefinition(VirtualNetworkGatewaysOperations.reset, 'VirtualNetworkGateway'), + ], + command_table, + { + 'virtual_network_gateway_name': {'name': '--name -n'} + }) + +# VirtualNetworksOperations +build_operation( + 'network vnet', 'virtual_networks', _network_client_factory, + [ + AutoCommandDefinition(VirtualNetworksOperations.delete, LongRunningOperation(L('Deleting virtual network'), L('Virtual network deleted'))), + AutoCommandDefinition(VirtualNetworksOperations.get, 'VirtualNetwork', command_alias='show'), + AutoCommandDefinition(VirtualNetworksOperations.list, '[VirtualNetwork]'), + AutoCommandDefinition(VirtualNetworksOperations.list_all, '[VirtualNetwork]'), + ], + command_table, + { + 'virtual_network_name': {'name': '--name -n'} + }) + +build_operation( + 'network vnet', 'vnet', lambda _: get_mgmt_service_client(VNetClient, VNetClientConfig), + [ + AutoCommandDefinition(VNetOperations.create, + LongRunningOperation(L('Creating virtual network'), L('Virtual network created'))) + ], + command_table, VNET_SPECIFIC_PARAMS) + +build_operation( + 'network subnet', None, ConvenienceNetworkCommands, + [ + AutoCommandDefinition(ConvenienceNetworkCommands.create_update_subnet, 'Object', 'create') + ], + command_table) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index d2b2232e50a..7efaa9c564b 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -10,10 +10,10 @@ from azure.mgmt.compute.models import DataDisk from azure.mgmt.compute.models.compute_management_client_enums import DiskCreateOptionTypes -from azure.cli.commands import CommandTable, LongRunningOperation, RESOURCE_GROUP_ARG_NAME +from azure.cli.commands import CommandTable, LongRunningOperation from azure.cli.commands._command_creation import get_mgmt_service_client -from ._params import PARAMETER_ALIASES, VM_PATCH_EXTRA_PARAMETERS, _compute_client_factory +from ._params import _compute_client_factory command_table = CommandTable() @@ -217,7 +217,7 @@ def list_ip_addresses(self, return result - def attach_new_disk(self, lun, diskname, vhd, disksize=1023, **kwargs): + def attach_new_disk(self, lun, diskname, vhd, disksize=1023): ''' Attach a new disk to an existing Virtual Machine''' disk = DataDisk(lun=lun, vhd=vhd, name=diskname, create_option=DiskCreateOptionTypes.empty, @@ -225,7 +225,7 @@ def attach_new_disk(self, lun, diskname, vhd, disksize=1023, **kwargs): self.vm.storage_profile.data_disks.append(disk) _vm_set(self.vm, 'Attaching disk', 'Disk attached') - def attach_existing_disk(self, lun, diskname, vhd, disksize=1023, **kwargs): + def attach_existing_disk(self, lun, diskname, vhd, disksize=1023): ''' Attach an existing disk to an existing Virtual Machine ''' # TODO: figure out size of existing disk instead of making the default value 1023 disk = DataDisk(lun=lun, vhd=vhd, name=diskname, @@ -234,13 +234,12 @@ def attach_existing_disk(self, lun, diskname, vhd, disksize=1023, **kwargs): self.vm.storage_profile.data_disks.append(disk) _vm_set(self.vm, 'Attaching disk', 'Disk attached') - def detach_disk(self, diskname, **kwargs): + def detach_disk(self, diskname): ''' Detach a disk from a Virtual Machine ''' # Issue: https://github.com/Azure/autorest/issues/934 self.vm.resources = None try: - disk = next(d for d in self.vm.storage_profile.data_disks - if d.name == kwargs.get('name')) + disk = next(d for d in self.vm.storage_profile.data_disks if d.name == diskname) self.vm.storage_profile.data_disks.remove(disk) except StopIteration: raise RuntimeError("No disk with the name '{}' found".format(diskname)) From c3402dd358ee2c3fbef358223bdf53bb53360779 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Fri, 6 May 2016 09:15:38 -0700 Subject: [PATCH 08/27] Fix issue with LRO attempting to execute twice. --- src/azure/cli/commands/_auto_command.py | 2 - src/azure/cli/tests/test_autocommand.py | 6 +- .../tests/recordings/expected_results.res | 4 +- .../recordings/test_network_nic_list.yaml | 104 +++- .../recordings/test_network_usage_list.yaml | 22 +- .../tests/recordings/expected_results.res | 2 +- .../recordings/test_resource_group_list.yaml | 149 ++--- .../test_resource_show_under_group.yaml | 4 +- .../tests/recordings/expected_results.res | 6 +- .../recordings/test_storage_account.yaml | 159 +++-- ...est_storage_account_create_and_delete.yaml | 32 +- .../tests/recordings/test_storage_blob.yaml | 556 +++++++++--------- .../tests/recordings/test_storage_file.yaml | 462 +++++++-------- .../vm/tests/recordings/expected_results.res | 4 +- .../test_vm_images_list_by_aliases.yaml | 10 +- .../test_vm_images_list_thru_services.yaml | 363 ------------ .../recordings/test_vm_list_from_group.yaml | 45 -- .../recordings/test_vm_usage_list_westus.yaml | 14 +- 18 files changed, 785 insertions(+), 1159 deletions(-) delete mode 100644 src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml delete mode 100644 src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_from_group.yaml diff --git a/src/azure/cli/commands/_auto_command.py b/src/azure/cli/commands/_auto_command.py index 6b08bbdf3ef..46cd823adb5 100644 --- a/src/azure/cli/commands/_auto_command.py +++ b/src/azure/cli/commands/_auto_command.py @@ -45,8 +45,6 @@ def call_client(args): result = unbound_func(ops_instance, **args) if not return_type_or_func: return {} - if callable(return_type_or_func): - return return_type_or_func(result) if isinstance(return_type_or_func, str): return list(result) if isinstance(result, Paged) else result except TypeError as exception: diff --git a/src/azure/cli/tests/test_autocommand.py b/src/azure/cli/tests/test_autocommand.py index ae740cf3ed5..bfd64982b93 100644 --- a/src/azure/cli/tests/test_autocommand.py +++ b/src/azure/cli/tests/test_autocommand.py @@ -99,14 +99,14 @@ def test_autocommand_with_parameter_alias(self): def test_autocommand_with_extra_parameters(self): command_table = CommandTable() - NEW_PARAMETERS= [ - { + NEW_PARAMETERS = { + 'added_param': { 'name': '--added-param', 'metavar': 'ADDED', 'help': 'Just added this right now!', 'required': True } - ] + } build_operation("test autocommand", "", None, diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/expected_results.res b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/expected_results.res index 2017bd2b184..61a6728654a 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/expected_results.res @@ -1,4 +1,4 @@ { - "test_network_nic_list": "Enable Ip Forwarding : False\nEtag : W/\"3b1db574-6f4c-4612-af25-0a72e210a927\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testvm23456234\nLocation : westus\nMac Address : 00-0D-3A-33-9A-FC\nName : testvm23456234\nNetwork Security Group : None\nPrimary : True\nProvisioning State : Succeeded\nResource Group : TravisTestResourceGroup\nResource Guid : e1f92108-bfcb-48c5-95e4-3e430b610a12\nTags : None\nType : Microsoft.Network/networkInterfaces\nIp Configurations :\n Etag : W/\"3b1db574-6f4c-4612-af25-0a72e210a927\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testvm23456234/ipConfigurations/ipconfig1\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfig1\n Private Ip Address : 10.1.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : TravisTestResourceGroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/publicIPAddresses/testvm23456\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : TravisTestResourceGroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nVirtual Machine :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Compute/virtualMachines/testvm23456\n Resource Group : TravisTestResourceGroup\n\n\n", - "test_network_usage_list": "[\n {\n \"currentValue\": 11,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Virtual Networks\",\n \"value\": \"VirtualNetworks\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 20,\n \"name\": {\n \"localizedValue\": \"Static Public IP Addresses\",\n \"value\": \"StaticPublicIPAddresses\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 1,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Network Security Groups\",\n \"value\": \"NetworkSecurityGroups\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 6,\n \"limit\": 60,\n \"name\": {\n \"localizedValue\": \"Public IP Addresses\",\n \"value\": \"PublicIPAddresses\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 5,\n \"limit\": 300,\n \"name\": {\n \"localizedValue\": \"Network Interfaces\",\n \"value\": \"NetworkInterfaces\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Load Balancers\",\n \"value\": \"LoadBalancers\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Application Gateways\",\n \"value\": \"ApplicationGateways\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Route Tables\",\n \"value\": \"RouteTables\"\n },\n \"unit\": \"Count\"\n }\n]\n" + "test_network_nic_list": "Enable Ip Forwarding : False\nEtag : W/\"0e52cdf5-175d-4c2c-9fcc-4d9b93fa8f71\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/linuxtestvm476\nLocation : westus\nMac Address : None\nName : linuxtestvm476\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : TravisTestResourceGroup\nResource Guid : b64b4a70-9327-454e-90d5-12e3312fe297\nTags : None\nType : Microsoft.Network/networkInterfaces\nIp Configurations :\n Etag : W/\"0e52cdf5-175d-4c2c-9fcc-4d9b93fa8f71\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/linuxtestvm476/ipConfigurations/ipconfig1\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfig1\n Private Ip Address : 10.1.0.7\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : TravisTestResourceGroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/publicIPAddresses/linuxtestvm\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : TravisTestResourceGroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nVirtual Machine :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Compute/virtualMachines/linuxtestvm\n Resource Group : travistestresourcegroup\n\nEnable Ip Forwarding : False\nEtag : W/\"0dd8f6ec-e617-4e22-a34d-9e2d912fd1ca\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testvm23456234\nLocation : westus\nMac Address : None\nName : testvm23456234\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : TravisTestResourceGroup\nResource Guid : e1f92108-bfcb-48c5-95e4-3e430b610a12\nTags : None\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"0dd8f6ec-e617-4e22-a34d-9e2d912fd1ca\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testvm23456234/ipConfigurations/ipconfig1\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfig1\n Private Ip Address : 10.1.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : TravisTestResourceGroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/publicIPAddresses/testvm23456\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : TravisTestResourceGroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\n\nEnable Ip Forwarding : False\nEtag : W/\"6b561634-ca7f-48b4-a030-b038fbf5e95c\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testwindowsvm943\nLocation : westus\nMac Address : None\nName : testwindowsvm943\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : TravisTestResourceGroup\nResource Guid : ab5b53e6-a40d-4141-9243-c61628a47fd0\nTags : None\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"6b561634-ca7f-48b4-a030-b038fbf5e95c\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testwindowsvm943/ipConfigurations/ipconfig1\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfig1\n Private Ip Address : 10.1.0.5\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : TravisTestResourceGroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/publicIPAddresses/testwindowsvm\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : TravisTestResourceGroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\n\nEnable Ip Forwarding : False\nEtag : W/\"abdf3797-0e2d-43f3-afac-c1ed1da22a04\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux-test-public-ips-vm\nLocation : westus\nMac Address : None\nName : VMNiclinux-test-public-ips-vm\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nResource Guid : a4bb8d7d-26c8-4209-8514-a753ce7dc401\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"abdf3797-0e2d-43f3-afac-c1ed1da22a04\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux-test-public-ips-vm/ipConfigurations/ipconfiglinux-test-public-ips-vm\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfiglinux-test-public-ips-vm\n Private Ip Address : 10.0.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Public Ip Address : None\n Resource Group : travistestresourcegroup\n Subnet : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nTags :\n Display Name : NetworkInterface\n\nEnable Ip Forwarding : False\nEtag : W/\"844ea4e1-6b0e-4189-a51a-4eb672a3129f\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux-test-public-ips-vm2\nLocation : westus\nMac Address : None\nName : VMNiclinux-test-public-ips-vm2\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nResource Guid : 061d290e-c533-4b15-aa2f-d06e7cf1b8c9\nType : Microsoft.Network/networkInterfaces\nIp Configurations :\n Etag : W/\"844ea4e1-6b0e-4189-a51a-4eb672a3129f\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux-test-public-ips-vm2/ipConfigurations/ipconfiglinux-test-public-ips-vm2\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfiglinux-test-public-ips-vm2\n Private Ip Address : 10.0.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : travistestresourcegroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/publicIPAddresses/PublicIPlinux-test-public-ips-vm2\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : travistestresourcegroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nTags :\n Display Name : NetworkInterface\nVirtual Machine :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Compute/virtualMachines/linux-test-public-ips-vm2\n Resource Group : travistestresourcegroup\n\nEnable Ip Forwarding : False\nEtag : W/\"ba636173-911f-4706-a08c-012753919860\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux_test_public_ips_vm\nLocation : westus\nMac Address : None\nName : VMNiclinux_test_public_ips_vm\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nResource Guid : 899bc9f6-9c27-4a78-9e53-145966bf2e2f\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"ba636173-911f-4706-a08c-012753919860\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux_test_public_ips_vm/ipConfigurations/ipconfiglinux_test_public_ips_vm\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfiglinux_test_public_ips_vm\n Private Ip Address : 10.0.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Public Ip Address : None\n Resource Group : travistestresourcegroup\n Subnet : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nTags :\n Display Name : NetworkInterface\n\nEnable Ip Forwarding : False\nEtag : W/\"6b27df66-d028-41de-841a-ea2a0cf122e5\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNicsecondlinuxtest\nLocation : westus\nMac Address : None\nName : VMNicsecondlinuxtest\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nResource Guid : d04a1bcc-53e7-4f7b-9d6e-496d7f89daba\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"6b27df66-d028-41de-841a-ea2a0cf122e5\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNicsecondlinuxtest/ipConfigurations/ipconfigsecondlinuxtest\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfigsecondlinuxtest\n Private Ip Address : 10.0.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Public Ip Address : None\n Resource Group : travistestresourcegroup\n Subnet : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nTags :\n Display Name : NetworkInterface\n\nEnable Ip Forwarding : False\nEtag : W/\"9f40eb22-bc10-4c6b-a45a-929498cfbeb7\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/windowstestvm58\nLocation : westus\nMac Address : None\nName : windowstestvm58\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : TravisTestResourceGroup\nResource Guid : 3baa8673-74f7-4398-8689-43a826d1310c\nTags : None\nType : Microsoft.Network/networkInterfaces\nIp Configurations :\n Etag : W/\"9f40eb22-bc10-4c6b-a45a-929498cfbeb7\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/windowstestvm58/ipConfigurations/ipconfig1\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfig1\n Private Ip Address : 10.1.0.6\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : TravisTestResourceGroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/publicIPAddresses/windowstestvm\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : TravisTestResourceGroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nVirtual Machine :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Compute/virtualMachines/windowstestvm\n Resource Group : TravisTestResourceGroup\n\n\n", + "test_network_usage_list": "[\n {\n \"currentValue\": 32,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Virtual Networks\",\n \"value\": \"VirtualNetworks\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 1,\n \"name\": {\n \"localizedValue\": \"Network Watchers\",\n \"value\": \"NetworkWatchers\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 20,\n \"name\": {\n \"localizedValue\": \"Static Public IP Addresses\",\n \"value\": \"StaticPublicIPAddresses\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 1,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Network Security Groups\",\n \"value\": \"NetworkSecurityGroups\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 24,\n \"limit\": 60,\n \"name\": {\n \"localizedValue\": \"Public IP Addresses\",\n \"value\": \"PublicIPAddresses\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 27,\n \"limit\": 300,\n \"name\": {\n \"localizedValue\": \"Network Interfaces\",\n \"value\": \"NetworkInterfaces\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Load Balancers\",\n \"value\": \"LoadBalancers\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Application Gateways\",\n \"value\": \"ApplicationGateways\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Route Tables\",\n \"value\": \"RouteTables\"\n },\n \"unit\": \"Count\"\n }\n]\n" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_nic_list.yaml b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_nic_list.yaml index 1e27469c551..e499ae6f3cb 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_nic_list.yaml +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_nic_list.yaml @@ -1,4 +1,54 @@ interactions: +- request: + body: !!binary | + Z3JhbnRfdHlwZT1yZWZyZXNoX3Rva2VuJnJlZnJlc2hfdG9rZW49QUFBQkFBQUFpTDlLbjJaMjdV + dWJ2V0ZQYm0wZ0xYc09vT3dwNnZNTXg3eWdrTktjclZBVUpqTC01My14aXlwSllINHpQQ19VYzBY + YjRrS0JjOVB0d0tJU0gxVDVKdV9JbnJ1X0FSeVIzZjVhNDI2d0ZVQVNFT0VTbVd6YURnck1KZnB2 + M2Z0dzV1VnByaWRDYmwwM2VmdFA4VVUzMzN2R1VxSkJHUld1MF9DaGxfMUY1Wm9Fel9BeDVLVjBm + Q0I4YXBkYlBEVDBLQjMzZ1lVbDZ5bjhQaHJVVG1PWjhZZkU4RXBwd252NFZVbktkNWZXS3ZaTXhW + N2xXZ0E3elZPcUFvTnJFRUFQUUpVRF9ydDVTbW1seTMzeTlJd2R0aUpsUHk5amJrV1FqYWd2YTNj + OUNFTjNtM0R1Nnd2N0twTHVWMWpMVmlwWW1KTG5LRm56cFB3MHFnRE15TTBBYWNBbmZLWnNCMmRV + MTVkYWhYc2ZHSkczYzZ5R3FnT3BCYWx3Y3RjdG5Ua3hLWnpMTDhpTjJaOTRfd3Fxc3BWdWYyUkdW + bXN6bFJSRDVFTFNlZ2d5dlZnenZRSURBWnpGT2wxOW9UVVk1NDM1d3AzU1JubnoxS2R1Z1QxaHRB + SjZVX1VHeHE1cGtLWGFyaXBubjBseFJBU3FtYktWbVkxaXFVSWJwWHY5aE5JSHZ6Z2FaTGFQUjI5 + U05obzhHeUdTT1V3VWk3YjJPVVRrMi12NUpFaWdiSHhUWDltcks5YmxHLWZwQ3pFX1p6LVBhbFBP + NWZpdmt0ZFJ4ZHh1R0dyS09GVGl4QjlBVzJ1UFhzM1dmcWR1bVd3VDhRQ185OGtWWlhCa0Zkejc5 + aXBtYV9IZXo5NDk3bm0zbW5VWEhkT1RmaUFBJmNsaWVudF9pZD0wNGIwNzc5NS04ZGRiLTQ2MWEt + YmJlZS0wMmY5ZTFiZjdiNDYmcmVzb3VyY2U9aHR0cHMlM0ElMkYlMkZtYW5hZ2VtZW50LmNvcmUu + d2luZG93cy5uZXQlMkY= + headers: + Accept: ['*/*'] + Accept-Charset: [utf-8] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['812'] + User-Agent: [python-requests/2.9.1] + content-type: [application/x-www-form-urlencoded] + return-client-request-id: ['true'] + x-client-CPU: [x86] + x-client-OS: [win32] + x-client-SKU: [Python] + x-client-Ver: [0.2.0] + method: POST + uri: https://login.microsoftonline.com/54826b22-38d6-4fb2-bad9-b7b93a3e9c5a/oauth2/token?api-version=1.0 + response: + body: {string: '{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1462494245","not_before":"1462490345","resource":"https://management.core.windows.net/","access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDYyNDkwMzQ1LCJuYmYiOjE0NjI0OTAzNDUsImV4cCI6MTQ2MjQ5NDI0NSwiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2Il0sImlwYWRkciI6IjE2Ny4yMjAuMC4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.RhZVT7lNqu3GG2Tyv2azk7G8Np92N6V152k9Uwy9dVoNi92893TMExaVJqX_1QgHB8mfcXYAHagIYEsBI2RC0lj9DKg1H_OcZxlSfw96T5BF1I5xSjAsxPuj4bd6S2vkGoo6BVDrtZnzAn6LqmKFtWRk_uB3e_PohmGEuHqY_gQydvI6bCXuMoj6w5R_0KLMm2N0QaSmeP5FCKycubQuI3vFLM0xzqUDeWlB5IGi4cNqzjHQccAsgQ0dPbg8wiHxgmRQTvDdWhSaxeUVCZAB9GLjAKz9FwiMkp8LMzWpKblFWa7qiKh3wD8uuynVheP7PDtM9Xn-rVcqN6SJexdMdg","refresh_token":"AAABAAAAiL9Kn2Z27UubvWFPbm0gLWaEWnm8aW6_E93pOvGgCw_h6f3Hbzd-LvDT8_D0E4cq0kG57jluxddkVqrri_jlwJ4TKouLyFw96oITR9X9ZSs4eAadx677EXxvYRJnt2F4bBjO5zddhGAdsJVjKo8siSY0JbeexjCWuX-yV4wyvwxeDiHUUoi4J1qsSlXdsSHIvj2KCkhksH1GrQSSjgN9e9j2SH83M6yCqo1hNQyQjAr_n3pO3pMaLd9FeJHYAzQlFEA2lLDH0oXt_yygmCnOWI6d7gwqmw-92CO8f7ETqjlyIMCOAn9p9O6l2MYS9VXhkzZik3jOzZem5Uj7Uw2Q3T4MlGplZ_HLnfckOLGYk3AVSwnaidft2mERWGjju5djhDdQhcKSKNzyqeatTi9ZrNNaIVZ1eK3bxH_8TkAixIEAnleYQzoSUmm2RuPRF_REqEmbCwSq_Onb5iRhbD2zBfMncklPPfmxuuVM3tGo80ekRiLNrmW9ehIPd4QfrSo0Tw-Opdi2f_qD4zvk2FBjDic0X4GiU3HEWlW0wPWZrS6k1ejLAqAWi5BUulwwHnvgSp1Cyz0M92C9jc4M6Jc7G3hBqS8LqJe5jDqMO88iYgUWLtxiLwKVd0g7Mz-LAMXYyTlI01WxUJKmPpghOvLKWCAA"}'} + headers: + Cache-Control: ['no-cache, no-store'] + Content-Length: ['2346'] + Content-Type: [application/json; charset=utf-8] + Date: ['Thu, 05 May 2016 23:24:05 GMT'] + Expires: ['-1'] + P3P: [CP="DSP CUR OTPi IND OTRi ONL FIN"] + Pragma: [no-cache] + Server: [Microsoft-IIS/8.5] + Set-Cookie: [flight-uxoptin=true; path=/; secure; HttpOnly, esctx=AAABAAAAiL9Kn2Z27UubvWFPbm0gLSjOe65cyk2s0MPlx8GPVudUFRAKXBzwlAEuKGKcyHrU73_UUCepi-KlQOO3uMhZyE1EjrLl75yvZWeYzBHlMUrrr5nYlc4uLf3eJ2NvW_oODyCUfwb3r_ZXldDIDkTO-YvgjDTaLiwMbYmpQsrGNrvkTb88NSBIRD5pQJFJUWi3IAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly, x-ms-gateway-slice=productiona; + path=/; secure; HttpOnly, stsservicecookie=ests; path=/; secure; HttpOnly] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + X-Content-Type-Options: [nosniff] + X-Powered-By: [ASP.NET] + status: {code: 200, message: OK} - request: body: null headers: @@ -16,23 +66,51 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOejZbbA5x+1edNeLvbu7d//lP75aGQbFDN8fbdZT5ppXazaolo2d3cm - u+ef7j/Y3d6dnO9s789m2XaWT+9tTycP9x7sne88vP9w526dN9W6nuaf19V61dx9U2eXRfOG+nnl - f3F3VVeXxSyvm7tfFNO6aqrzdvwib6+q+u3dpfw8W7Z5fZ5N8+buIJ55m10A0+/e/X0/ujfZnU3u - P9jf/vR8f7q9/+nu3nZ2vnd/eyd7sJfv7e5khOXv+5H3cnu9YircAgPvrbKaZqAH3rwivNb+lzSs - VV63Bb3xyNFbviA60GvF8uJ1m7Xc8ev1dJrns3zmIFBTS8G1zEK+e/6Q0D/YnpxPJ9v7B9P72w/v - 5/vb9/L9ezuTT2lgu3sBgGJ1Ui3Pi4t1zYgCFeUAeTy88FhuKFZTfm/Xh4bn/93scLc7XvpgaCAf - wi/yYCajUywPvqYREho3TrQ89EJxSc3OXh7PZkQtQP1od2e8O94Ze5xuHq95aTjxi7ydVzxDT69p - Lotp7LX1pCym9JbtpIc6tfo5necOiuE8f9TF9pf0x0hoE6/QCP5fN7TLom7XWal/DsMg7GgEzd1Z - fp6ty/Y2gyZ+WGT1NQ2urdd5+PUv8f/0/vi+B+aj2bJ5nbctsWuPK+S7+pIGRV99z3+NvsxWq7LI - Z0/DNq6Jj+xHi2yq80qtPtrZ2d55un3vePveve2Hx9vPTnyO/ShfZpOSOPxZVV9l9Ywwo3fOs7LJ - /VZEKBDzdT5d10V7zQSkduEAfk5nPYbhEFMHxArn1P/mUhjpi2w6L5ZQLf8vGO5JtVit29wwueI2 - OFDzq/7CP4hrfsn/A7UseU6zCAAA + 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 + 9vKWmjsAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 07 Apr 2016 21:54:43 GMT'] + Date: ['Thu, 05 May 2016 23:24:06 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_usage_list.yaml b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_usage_list.yaml index d0a685ad374..015a98043e1 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_usage_list.yaml +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_usage_list.yaml @@ -16,21 +16,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOej6bqu82X7k/r97u54Z2S/LGb00Ud3m/WkmdbFqi2qZXN3Z7J7/un+ - g93t3cn5zvb+bJZtZ/n03vZ08nDvwd75zsP7D3fururqspjldXP3i2JaV0113o5f5O1VVb+9W1bT - TEBd5U27bu6um+wib+7+ZFG366zUZs1HDo+yWBQtoXJ/x8dumS2Ash0LfQTQZfGDfGbG85ECTftQ - qbmhimllG5k2v8S2/mi9ZBQ+OqnWy1YbmK8tCl1yBvj+cKn5uqWPpy/Xk7KYnr08ns3qvGlyb/yW - qnsBlreiqgBPBXp69jKNwKcXLX2lvTT3kTFtDSHpna9F559DrtXvX+eEUtFef15X65VHBUvl3Z33 - J7PCTg3wtAud3rI01samrTY1LQ0J6Y2vReFPfeR/uBTus43DxFD30/cnroC9BfNKQ79/08pQjVp/ - LaLe95H+4RJVvz9btnl9nk1pUA4TQ9R7H8CyMcD0giWqtvOamVaGatT6axE1wPmHS9TnVTZ7kpXZ - ckrvuXFbgn4dHQCYaQQoNbbERBvXxLQwlKKW/18j5PFqRSLHX32etflVdu2N3JLza7gDHuC0D5le - sTT1WtqGpp0hHbX//xplX1XrNn+TTUqSOIeDoejXYVCGmHZBUlNLSm6hDcz3hkbULkpC/Pj+b5z8 - kv8Hy1oAdb8KAAA= + 6UeXWbnOP3qUfg9/pSl/iOej6bqu82X7k/r9vb3xzsh+Wczoo4/uNutJM62LVVtUy+buzmT3/NP9 + B7vbu5Pzne392SzbzvLpve3p5OHeg73znYf3H+7cXdXVZTHL6+buF8W0rprqvB2/yNurqn57t6ym + mYC6ypt23dxdN9lF3tz9yaJu11mpzZqPHB5lsShaQuX+jo/dMlsAZTsW+gigy+IH+cyM5yMFmvah + UnNDFdPKNjJtfolt/dF6ySh8dFKtl602MF9bFLrkDPD94VJTv/9u1k7n9KYbt6Xmro/crYipMNM+ + UGpuiamtbCPTxlCL2v5/jZivW/p4+nI9KYvp2cvj2azOmyb3xm+JuhdgeSuqCvBUoKdnL9MIfHrR + 0lfaS3MfGdPWEJLe+Vp0Dvjih0tn/f51TigV7fXndbVeeVSwVN7deX8yK+zUAE+70OktS2NtbNpq + U9PSkJDe+FoU3tv3sf/hkrjPNw4TQ95P35+6AvYW3CsN/f5NK0M2av31qPrAx/qHS1X9/mzZ5vV5 + NqVROUwMVe99ANPGANMLlqrazmtmWhmyUeuvRdUA5x8uUZ9X2exJVmbLKb3nxm0J+nW0AGCmEaDU + 2BITbVwT08JQilr+f42Qx6sVyRx/9XnW5lfZtTdyS86v4V15gNM+ZHrF0tRraRuadoZ01P7/a5R9 + Va3b/E02KUniHA6Gol+HQRli2gVJTS0puYU2MN8bGlG7KAnx4/u/cfJL/h/uAvuTDgwAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 07 Apr 2016 22:01:51 GMT'] + Date: ['Thu, 05 May 2016 23:24:12 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res index 759f93b78cd..35834b8b6bd 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res @@ -1,4 +1,4 @@ { - "test_resource_group_list": "[\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1116\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1116\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1131\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1215\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1397\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1397\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1530\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1530\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1691\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1691\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1804\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1804\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1982\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1982\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2315\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2315\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2316\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2316\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2732\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2732\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3187\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3187\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup32\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup32\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3313\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3313\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3661\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3661\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup381\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup381\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4175\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4175\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4834\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4834\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4978\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5350\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5350\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5458\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5458\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5584\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5584\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5637\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5637\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5835\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5835\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup6020\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup6020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7062\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7062\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7154\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7154\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7265\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7265\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7648\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7648\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7681\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7681\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7917\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7917\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8241\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8275\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8275\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup867\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9079\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9079\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup922\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup922\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9343\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9343\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9345\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9345\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9369\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9469\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9469\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9576\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9576\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/availrg\",\n \"location\": \"westus\",\n \"name\": \"availrg\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTeleBenchRG\",\n \"location\": \"westus\",\n \"name\": \"cliTeleBenchRG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658\",\n \"location\": \"westus\",\n \"name\": \"clutst10658\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst10658Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst11617\",\n \"location\": \"westus\",\n \"name\": \"clutst11617\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst12131\",\n \"location\": \"westus\",\n \"name\": \"clutst12131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst14273\",\n \"location\": \"westus\",\n \"name\": \"clutst14273\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst15898\",\n \"location\": \"westus\",\n \"name\": \"clutst15898\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16319\",\n \"location\": \"westus\",\n \"name\": \"clutst16319\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16367\",\n \"location\": \"westus\",\n \"name\": \"clutst16367\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16424\",\n \"location\": \"westus\",\n \"name\": \"clutst16424\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16599\",\n \"location\": \"westus\",\n \"name\": \"clutst16599\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18253\",\n \"location\": \"westus\",\n \"name\": \"clutst18253\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18832\",\n \"location\": \"westus\",\n \"name\": \"clutst18832\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19840\",\n \"location\": \"westus\",\n \"name\": \"clutst19840\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19876\",\n \"location\": \"westus\",\n \"name\": \"clutst19876\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19910\",\n \"location\": \"westus\",\n \"name\": \"clutst19910\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst20217\",\n \"location\": \"westus\",\n \"name\": \"clutst20217\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst22301\",\n \"location\": \"westus\",\n \"name\": \"clutst22301\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst24285\",\n \"location\": \"westus\",\n \"name\": \"clutst24285\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492\",\n \"location\": \"westus\",\n \"name\": \"clutst25492\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst25492Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28055\",\n \"location\": \"westus\",\n \"name\": \"clutst28055\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28400\",\n \"location\": \"westus\",\n \"name\": \"clutst28400\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28769\",\n \"location\": \"westus\",\n \"name\": \"clutst28769\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29085\",\n \"location\": \"westus\",\n \"name\": \"clutst29085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29333\",\n \"location\": \"westus\",\n \"name\": \"clutst29333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst30089\",\n \"location\": \"westus\",\n \"name\": \"clutst30089\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31207\",\n \"location\": \"westus\",\n \"name\": \"clutst31207\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31335\",\n \"location\": \"westus\",\n \"name\": \"clutst31335\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst32303\",\n \"location\": \"westus\",\n \"name\": \"clutst32303\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst34632\",\n \"location\": \"westus\",\n \"name\": \"clutst34632\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst37223\",\n \"location\": \"westus\",\n \"name\": \"clutst37223\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst38483\",\n \"location\": \"westus\",\n \"name\": \"clutst38483\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst39112\",\n \"location\": \"westus\",\n \"name\": \"clutst39112\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst40026\",\n \"location\": \"westus\",\n \"name\": \"clutst40026\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst41390\",\n \"location\": \"westus\",\n \"name\": \"clutst41390\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144\",\n \"location\": \"westus\",\n \"name\": \"clutst42144\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst42144Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43083\",\n \"location\": \"westus\",\n \"name\": \"clutst43083\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43810\",\n \"location\": \"westus\",\n \"name\": \"clutst43810\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43963\",\n \"location\": \"westus\",\n \"name\": \"clutst43963\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44249\",\n \"location\": \"westus\",\n \"name\": \"clutst44249\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44935\",\n \"location\": \"westus\",\n \"name\": \"clutst44935\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst45773\",\n \"location\": \"westus\",\n \"name\": \"clutst45773\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst47034\",\n \"location\": \"westus\",\n \"name\": \"clutst47034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst48178\",\n \"location\": \"westus\",\n \"name\": \"clutst48178\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50877\",\n \"location\": \"westus\",\n \"name\": \"clutst50877\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50926\",\n \"location\": \"westus\",\n \"name\": \"clutst50926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst52016\",\n \"location\": \"westus\",\n \"name\": \"clutst52016\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst53369\",\n \"location\": \"westus\",\n \"name\": \"clutst53369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst54011\",\n \"location\": \"westus\",\n \"name\": \"clutst54011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"testtag\": \"testval\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55339\",\n \"location\": \"westus\",\n \"name\": \"clutst55339\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55642\",\n \"location\": \"westus\",\n \"name\": \"clutst55642\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010\",\n \"location\": \"westus\",\n \"name\": \"clutst56010\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst56010Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst57974\",\n \"location\": \"westus\",\n \"name\": \"clutst57974\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59108\",\n \"location\": \"westus\",\n \"name\": \"clutst59108\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59926\",\n \"location\": \"westus\",\n \"name\": \"clutst59926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst60612\",\n \"location\": \"westus\",\n \"name\": \"clutst60612\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62393\",\n \"location\": \"westus\",\n \"name\": \"clutst62393\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62671\",\n \"location\": \"westus\",\n \"name\": \"clutst62671\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst63961\",\n \"location\": \"westus\",\n \"name\": \"clutst63961\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64118\",\n \"location\": \"westus\",\n \"name\": \"clutst64118\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64902\",\n \"location\": \"westus\",\n \"name\": \"clutst64902\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65563\",\n \"location\": \"westus\",\n \"name\": \"clutst65563\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65944\",\n \"location\": \"westus\",\n \"name\": \"clutst65944\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst68622\",\n \"location\": \"westus\",\n \"name\": \"clutst68622\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst69042\",\n \"location\": \"westus\",\n \"name\": \"clutst69042\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72034\",\n \"location\": \"westus\",\n \"name\": \"clutst72034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72937\",\n \"location\": \"westus\",\n \"name\": \"clutst72937\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73017\",\n \"location\": \"westus\",\n \"name\": \"clutst73017\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73226\",\n \"location\": \"westus\",\n \"name\": \"clutst73226\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73623\",\n \"location\": \"westus\",\n \"name\": \"clutst73623\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74333\",\n \"location\": \"westus\",\n \"name\": \"clutst74333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74607\",\n \"location\": \"westus\",\n \"name\": \"clutst74607\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst75011\",\n \"location\": \"westus\",\n \"name\": \"clutst75011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76021\",\n \"location\": \"westus\",\n \"name\": \"clutst76021\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76811\",\n \"location\": \"westus\",\n \"name\": \"clutst76811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst77155\",\n \"location\": \"westus\",\n \"name\": \"clutst77155\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst78595\",\n \"location\": \"westus\",\n \"name\": \"clutst78595\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst81406\",\n \"location\": \"westus\",\n \"name\": \"clutst81406\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82639\",\n \"location\": \"westus\",\n \"name\": \"clutst82639\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82782\",\n \"location\": \"westus\",\n \"name\": \"clutst82782\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst83830\",\n \"location\": \"westus\",\n \"name\": \"clutst83830\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84001\",\n \"location\": \"westus\",\n \"name\": \"clutst84001\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84215\",\n \"location\": \"westus\",\n \"name\": \"clutst84215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84761\",\n \"location\": \"westus\",\n \"name\": \"clutst84761\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst85399\",\n \"location\": \"westus\",\n \"name\": \"clutst85399\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86517\",\n \"location\": \"westus\",\n \"name\": \"clutst86517\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86564\",\n \"location\": \"westus\",\n \"name\": \"clutst86564\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86711\",\n \"location\": \"westus\",\n \"name\": \"clutst86711\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88326\",\n \"location\": \"westus\",\n \"name\": \"clutst88326\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88434\",\n \"location\": \"westus\",\n \"name\": \"clutst88434\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88867\",\n \"location\": \"westus\",\n \"name\": \"clutst88867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058\",\n \"location\": \"westus\",\n \"name\": \"clutst89058\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89058Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757\",\n \"location\": \"westus\",\n \"name\": \"clutst89757\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89757Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450\",\n \"location\": \"westus\",\n \"name\": \"clutst90450\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst90450Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92020\",\n \"location\": \"westus\",\n \"name\": \"clutst92020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92142\",\n \"location\": \"westus\",\n \"name\": \"clutst92142\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst93247\",\n \"location\": \"westus\",\n \"name\": \"clutst93247\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst95104\",\n \"location\": \"westus\",\n \"name\": \"clutst95104\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96863\",\n \"location\": \"westus\",\n \"name\": \"clutst96863\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96978\",\n \"location\": \"westus\",\n \"name\": \"clutst96978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst97385\",\n \"location\": \"westus\",\n \"name\": \"clutst97385\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98032\",\n \"location\": \"westus\",\n \"name\": \"clutst98032\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98129\",\n \"location\": \"westus\",\n \"name\": \"clutst98129\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98581\",\n \"location\": \"westus\",\n \"name\": \"clutst98581\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ApplicationInsights-CentralUS\",\n \"location\": \"centralus\",\n \"name\": \"Default-ApplicationInsights-CentralUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Networking\",\n \"location\": \"westus\",\n \"name\": \"Default-Networking\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-NotificationHubs-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-NotificationHubs-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ServiceBus-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-ServiceBus-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-SQL-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-SQL-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Storage-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Storage-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Web-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Web-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1233333\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1233333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ecvm1458938841925RG\",\n \"location\": \"southeastasia\",\n \"name\": \"ecvm1458938841925RG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/foozap01\",\n \"location\": \"westus\",\n \"name\": \"foozap01\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/myvms\",\n \"location\": \"westus\",\n \"name\": \"myvms\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ppppp2\",\n \"location\": \"southcentralus\",\n \"name\": \"ppppp2\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/pppppp\",\n \"location\": \"westus\",\n \"name\": \"pppppp\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/r1\",\n \"location\": \"westus\",\n \"name\": \"r1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg15109\",\n \"location\": \"westus\",\n \"name\": \"testrg15109\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg16663\",\n \"location\": \"westus\",\n \"name\": \"testrg16663\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg18579\",\n \"location\": \"westus\",\n \"name\": \"testrg18579\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg8559\",\n \"location\": \"westus\",\n \"name\": \"testrg8559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup\",\n \"location\": \"westus\",\n \"name\": \"TravisTestResourceGroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestADE1370\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestADE1370\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestADE6431\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestADE6431\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplattestadla7278\",\n \"location\": \"southcentralus\",\n \"name\": \"xplattestadla7278\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate1218\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate1218\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate3656\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate3656\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDisk2502\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGCreateDisk2502\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-disk-attachnew-detach-tests\": \"2016-04-29T12:01:11.054Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns2167\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns2167\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns7046\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns7046\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateLbNat3\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateLbNat3\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExpressRoute3509\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGExpressRoute3509\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension5940\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGExtension5940\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-02-29T08:05:18.907Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGExtension9085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-01-21T23:38:57.711Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGroupGatewayCon7412\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGroupGatewayCon7412\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGSz6241\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGSz6241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-sizes-tests\": \"2016-02-02T13:11:46.487Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker2951\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker2951\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-18T16:05:48.920Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker6705\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker6705\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-29T12:20:36.945Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestVMSSCreate2308\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestVMSSCreate2308\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vmss-create-tests\": \"2016-05-03T08:27:30.109Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1531\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1531\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1730\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1730\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource194\",\n \"location\": \"westus\",\n \"name\": \"xTestResource194\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2039\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2039\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2660\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2660\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2807\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2807\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource318\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource318\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3362\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3362\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3559\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource411\",\n \"location\": \"westus\",\n \"name\": \"xTestResource411\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource4219\",\n \"location\": \"westus\",\n \"name\": \"xTestResource4219\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource475\",\n \"location\": \"westus\",\n \"name\": \"xTestResource475\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5203\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5203\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5515\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5515\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource723\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource723\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7252\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7252\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource757\",\n \"location\": \"westus\",\n \"name\": \"xTestResource757\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7909\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7909\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource811\",\n \"location\": \"westus\",\n \"name\": \"xTestResource811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9256\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9256\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9262\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9262\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9641\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9641\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9737\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9737\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ygvmgroup\",\n \"location\": \"westus\",\n \"name\": \"ygvmgroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw\",\n \"location\": \"westus\",\n \"name\": \"yugangw\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw2\",\n \"location\": \"westus\",\n \"name\": \"yugangw2\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw3\",\n \"location\": \"westus\",\n \"name\": \"yugangw3\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n }\n]\n", + "test_resource_group_list": "[\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1116\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1116\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1131\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1215\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1397\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1397\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1530\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1530\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1691\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1691\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1804\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1804\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1982\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1982\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2315\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2315\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2316\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2316\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2732\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2732\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3187\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3187\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup32\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup32\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3313\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3313\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3661\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3661\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup381\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup381\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4175\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4175\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4834\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4834\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4978\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5350\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5350\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5458\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5458\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5584\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5584\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5637\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5637\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5835\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5835\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup6020\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup6020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7062\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7062\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7154\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7154\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7265\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7265\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7648\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7648\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7681\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7681\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7917\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7917\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8241\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8275\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8275\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup867\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9079\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9079\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup922\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup922\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9343\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9343\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9345\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9345\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9369\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9469\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9469\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9576\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9576\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/availrg\",\n \"location\": \"westus\",\n \"name\": \"availrg\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTeleBenchRG\",\n \"location\": \"westus\",\n \"name\": \"cliTeleBenchRG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses\",\n \"location\": \"westus\",\n \"name\": \"cliTestRg_VmListIpAddresses\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658\",\n \"location\": \"westus\",\n \"name\": \"clutst10658\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst10658Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst11617\",\n \"location\": \"westus\",\n \"name\": \"clutst11617\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst12131\",\n \"location\": \"westus\",\n \"name\": \"clutst12131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst14273\",\n \"location\": \"westus\",\n \"name\": \"clutst14273\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst15898\",\n \"location\": \"westus\",\n \"name\": \"clutst15898\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16319\",\n \"location\": \"westus\",\n \"name\": \"clutst16319\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16367\",\n \"location\": \"westus\",\n \"name\": \"clutst16367\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16424\",\n \"location\": \"westus\",\n \"name\": \"clutst16424\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16599\",\n \"location\": \"westus\",\n \"name\": \"clutst16599\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18253\",\n \"location\": \"westus\",\n \"name\": \"clutst18253\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18832\",\n \"location\": \"westus\",\n \"name\": \"clutst18832\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19840\",\n \"location\": \"westus\",\n \"name\": \"clutst19840\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19876\",\n \"location\": \"westus\",\n \"name\": \"clutst19876\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19910\",\n \"location\": \"westus\",\n \"name\": \"clutst19910\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst20217\",\n \"location\": \"westus\",\n \"name\": \"clutst20217\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst22301\",\n \"location\": \"westus\",\n \"name\": \"clutst22301\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst24285\",\n \"location\": \"westus\",\n \"name\": \"clutst24285\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492\",\n \"location\": \"westus\",\n \"name\": \"clutst25492\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst25492Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28055\",\n \"location\": \"westus\",\n \"name\": \"clutst28055\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28400\",\n \"location\": \"westus\",\n \"name\": \"clutst28400\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28769\",\n \"location\": \"westus\",\n \"name\": \"clutst28769\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29085\",\n \"location\": \"westus\",\n \"name\": \"clutst29085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29333\",\n \"location\": \"westus\",\n \"name\": \"clutst29333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst30089\",\n \"location\": \"westus\",\n \"name\": \"clutst30089\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31207\",\n \"location\": \"westus\",\n \"name\": \"clutst31207\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31335\",\n \"location\": \"westus\",\n \"name\": \"clutst31335\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst32303\",\n \"location\": \"westus\",\n \"name\": \"clutst32303\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst34632\",\n \"location\": \"westus\",\n \"name\": \"clutst34632\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst37223\",\n \"location\": \"westus\",\n \"name\": \"clutst37223\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst38483\",\n \"location\": \"westus\",\n \"name\": \"clutst38483\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst39112\",\n \"location\": \"westus\",\n \"name\": \"clutst39112\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst40026\",\n \"location\": \"westus\",\n \"name\": \"clutst40026\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst41390\",\n \"location\": \"westus\",\n \"name\": \"clutst41390\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144\",\n \"location\": \"westus\",\n \"name\": \"clutst42144\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst42144Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43083\",\n \"location\": \"westus\",\n \"name\": \"clutst43083\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43810\",\n \"location\": \"westus\",\n \"name\": \"clutst43810\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43963\",\n \"location\": \"westus\",\n \"name\": \"clutst43963\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44249\",\n \"location\": \"westus\",\n \"name\": \"clutst44249\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44935\",\n \"location\": \"westus\",\n \"name\": \"clutst44935\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst45773\",\n \"location\": \"westus\",\n \"name\": \"clutst45773\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst47034\",\n \"location\": \"westus\",\n \"name\": \"clutst47034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst48178\",\n \"location\": \"westus\",\n \"name\": \"clutst48178\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50877\",\n \"location\": \"westus\",\n \"name\": \"clutst50877\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50926\",\n \"location\": \"westus\",\n \"name\": \"clutst50926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst52016\",\n \"location\": \"westus\",\n \"name\": \"clutst52016\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst53369\",\n \"location\": \"westus\",\n \"name\": \"clutst53369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst54011\",\n \"location\": \"westus\",\n \"name\": \"clutst54011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"testtag\": \"testval\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55339\",\n \"location\": \"westus\",\n \"name\": \"clutst55339\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55642\",\n \"location\": \"westus\",\n \"name\": \"clutst55642\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010\",\n \"location\": \"westus\",\n \"name\": \"clutst56010\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst56010Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst57974\",\n \"location\": \"westus\",\n \"name\": \"clutst57974\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59108\",\n \"location\": \"westus\",\n \"name\": \"clutst59108\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59926\",\n \"location\": \"westus\",\n \"name\": \"clutst59926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst60612\",\n \"location\": \"westus\",\n \"name\": \"clutst60612\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62393\",\n \"location\": \"westus\",\n \"name\": \"clutst62393\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62671\",\n \"location\": \"westus\",\n \"name\": \"clutst62671\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst63961\",\n \"location\": \"westus\",\n \"name\": \"clutst63961\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64118\",\n \"location\": \"westus\",\n \"name\": \"clutst64118\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64902\",\n \"location\": \"westus\",\n \"name\": \"clutst64902\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65563\",\n \"location\": \"westus\",\n \"name\": \"clutst65563\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65944\",\n \"location\": \"westus\",\n \"name\": \"clutst65944\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst68622\",\n \"location\": \"westus\",\n \"name\": \"clutst68622\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst69042\",\n \"location\": \"westus\",\n \"name\": \"clutst69042\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72034\",\n \"location\": \"westus\",\n \"name\": \"clutst72034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72937\",\n \"location\": \"westus\",\n \"name\": \"clutst72937\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73017\",\n \"location\": \"westus\",\n \"name\": \"clutst73017\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73226\",\n \"location\": \"westus\",\n \"name\": \"clutst73226\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73623\",\n \"location\": \"westus\",\n \"name\": \"clutst73623\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74333\",\n \"location\": \"westus\",\n \"name\": \"clutst74333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74607\",\n \"location\": \"westus\",\n \"name\": \"clutst74607\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst75011\",\n \"location\": \"westus\",\n \"name\": \"clutst75011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76021\",\n \"location\": \"westus\",\n \"name\": \"clutst76021\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76811\",\n \"location\": \"westus\",\n \"name\": \"clutst76811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst77155\",\n \"location\": \"westus\",\n \"name\": \"clutst77155\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst78595\",\n \"location\": \"westus\",\n \"name\": \"clutst78595\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst81406\",\n \"location\": \"westus\",\n \"name\": \"clutst81406\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82639\",\n \"location\": \"westus\",\n \"name\": \"clutst82639\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82782\",\n \"location\": \"westus\",\n \"name\": \"clutst82782\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst83830\",\n \"location\": \"westus\",\n \"name\": \"clutst83830\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84001\",\n \"location\": \"westus\",\n \"name\": \"clutst84001\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84215\",\n \"location\": \"westus\",\n \"name\": \"clutst84215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84761\",\n \"location\": \"westus\",\n \"name\": \"clutst84761\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst85399\",\n \"location\": \"westus\",\n \"name\": \"clutst85399\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86517\",\n \"location\": \"westus\",\n \"name\": \"clutst86517\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86564\",\n \"location\": \"westus\",\n \"name\": \"clutst86564\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86711\",\n \"location\": \"westus\",\n \"name\": \"clutst86711\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88326\",\n \"location\": \"westus\",\n \"name\": \"clutst88326\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88434\",\n \"location\": \"westus\",\n \"name\": \"clutst88434\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88867\",\n \"location\": \"westus\",\n \"name\": \"clutst88867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058\",\n \"location\": \"westus\",\n \"name\": \"clutst89058\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89058Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757\",\n \"location\": \"westus\",\n \"name\": \"clutst89757\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89757Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450\",\n \"location\": \"westus\",\n \"name\": \"clutst90450\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst90450Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92020\",\n \"location\": \"westus\",\n \"name\": \"clutst92020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92142\",\n \"location\": \"westus\",\n \"name\": \"clutst92142\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst93247\",\n \"location\": \"westus\",\n \"name\": \"clutst93247\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst95104\",\n \"location\": \"westus\",\n \"name\": \"clutst95104\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96863\",\n \"location\": \"westus\",\n \"name\": \"clutst96863\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96978\",\n \"location\": \"westus\",\n \"name\": \"clutst96978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst97385\",\n \"location\": \"westus\",\n \"name\": \"clutst97385\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98032\",\n \"location\": \"westus\",\n \"name\": \"clutst98032\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98129\",\n \"location\": \"westus\",\n \"name\": \"clutst98129\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98581\",\n \"location\": \"westus\",\n \"name\": \"clutst98581\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ApplicationInsights-CentralUS\",\n \"location\": \"centralus\",\n \"name\": \"Default-ApplicationInsights-CentralUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Networking\",\n \"location\": \"westus\",\n \"name\": \"Default-Networking\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-NotificationHubs-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-NotificationHubs-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ServiceBus-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-ServiceBus-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-SQL-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-SQL-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Storage-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Storage-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Web-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Web-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1233333\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1233333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ecvm1458938841925RG\",\n \"location\": \"southeastasia\",\n \"name\": \"ecvm1458938841925RG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/foozap01\",\n \"location\": \"westus\",\n \"name\": \"foozap01\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/myvms\",\n \"location\": \"westus\",\n \"name\": \"myvms\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ppppp2\",\n \"location\": \"southcentralus\",\n \"name\": \"ppppp2\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/pppppp\",\n \"location\": \"westus\",\n \"name\": \"pppppp\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/r1\",\n \"location\": \"westus\",\n \"name\": \"r1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg15109\",\n \"location\": \"westus\",\n \"name\": \"testrg15109\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg16663\",\n \"location\": \"westus\",\n \"name\": \"testrg16663\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg18579\",\n \"location\": \"westus\",\n \"name\": \"testrg18579\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg8559\",\n \"location\": \"westus\",\n \"name\": \"testrg8559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup\",\n \"location\": \"westus\",\n \"name\": \"TravisTestResourceGroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestADE1370\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestADE1370\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestADE6431\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestADE6431\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplattestadla7278\",\n \"location\": \"southcentralus\",\n \"name\": \"xplattestadla7278\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate1218\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate1218\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate3656\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate3656\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDisk2502\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGCreateDisk2502\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-disk-attachnew-detach-tests\": \"2016-04-29T12:01:11.054Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns2167\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns2167\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns7046\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns7046\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateLbNat3\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateLbNat3\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExpressRoute3509\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGExpressRoute3509\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension5940\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGExtension5940\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-02-29T08:05:18.907Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGExtension9085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-01-21T23:38:57.711Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGroupGatewayCon7412\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGroupGatewayCon7412\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGSz6241\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGSz6241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-sizes-tests\": \"2016-02-02T13:11:46.487Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker2951\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker2951\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-18T16:05:48.920Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker6705\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker6705\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-29T12:20:36.945Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestVMSSCreate2308\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestVMSSCreate2308\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vmss-create-tests\": \"2016-05-03T08:27:30.109Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1531\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1531\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1730\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1730\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource194\",\n \"location\": \"westus\",\n \"name\": \"xTestResource194\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2039\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2039\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2660\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2660\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2807\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2807\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource318\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource318\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3362\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3362\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3559\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource411\",\n \"location\": \"westus\",\n \"name\": \"xTestResource411\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource4219\",\n \"location\": \"westus\",\n \"name\": \"xTestResource4219\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource475\",\n \"location\": \"westus\",\n \"name\": \"xTestResource475\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5203\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5203\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5515\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5515\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource723\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource723\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7252\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7252\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource757\",\n \"location\": \"westus\",\n \"name\": \"xTestResource757\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7909\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7909\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource811\",\n \"location\": \"westus\",\n \"name\": \"xTestResource811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9256\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9256\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9262\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9262\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9641\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9641\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9737\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9737\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ygvmgroup\",\n \"location\": \"westus\",\n \"name\": \"ygvmgroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw\",\n \"location\": \"westus\",\n \"name\": \"yugangw\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw2\",\n \"location\": \"westus\",\n \"name\": \"yugangw2\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw3\",\n \"location\": \"westus\",\n \"name\": \"yugangw3\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n }\n]\n", "test_resource_show_under_group": "{\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/XPLATTESTGEXTENSION9085/providers/Microsoft.Compute/virtualMachines/xplatvmExt1314\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatvmExt1314\",\n \"plan\": null,\n \"properties\": {\n \"diagnosticsProfile\": {\n \"bootDiagnostics\": {\n \"enabled\": true,\n \"storageUri\": \"https://xplatstoragext4633.blob.core.windows.net/\"\n }\n },\n \"hardwareProfile\": {\n \"vmSize\": \"Standard_A1\"\n },\n \"networkProfile\": {\n \"networkInterfaces\": [\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085/providers/Microsoft.Network/networkInterfaces/xplatnicExt4843\",\n \"properties\": {},\n \"resourceGroup\": \"xplatTestGExtension9085\"\n }\n ]\n },\n \"osProfile\": {\n \"adminUsername\": \"azureuser\",\n \"computerName\": \"xplatvmExt1314\",\n \"secrets\": [],\n \"windowsConfiguration\": {\n \"enableAutomaticUpdates\": true,\n \"provisionVMAgent\": true\n }\n },\n \"provisioningState\": \"Succeeded\",\n \"storageProfile\": {\n \"dataDisks\": [],\n \"imageReference\": {\n \"offer\": \"WindowsServerEssentials\",\n \"publisher\": \"MicrosoftWindowsServerEssentials\",\n \"sku\": \"WindowsServerEssentials\",\n \"version\": \"1.0.20131018\"\n },\n \"osDisk\": {\n \"caching\": \"ReadWrite\",\n \"createOption\": \"FromImage\",\n \"name\": \"cli1eaed78b36def353-os-1453419539945\",\n \"osType\": \"Windows\",\n \"vhd\": {\n \"uri\": \"https://xplatstoragext4633.blob.core.windows.net/xplatstoragecntext1789/cli1eaed78b36def353-os-1453419539945.vhd\"\n }\n }\n },\n \"vmId\": \"0a46768d-a544-4d4c-afdc-92651103ee16\"\n },\n \"resourceGroup\": \"XPLATTESTGEXTENSION9085\",\n \"tags\": {},\n \"type\": \"Microsoft.Compute/virtualMachines\"\n}\n" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml index baee0af676d..bcf47ebf33d 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml @@ -1,54 +1,4 @@ interactions: -- request: - body: !!binary | - Z3JhbnRfdHlwZT1yZWZyZXNoX3Rva2VuJmNsaWVudF9pZD0wNGIwNzc5NS04ZGRiLTQ2MWEtYmJl - ZS0wMmY5ZTFiZjdiNDYmcmVmcmVzaF90b2tlbj1BQUFCQUFBQWlMOUtuMloyN1V1YnZXRlBibTBn - TFcwQkZuTUJNNjdweG1wWUhEcUFpNjdMUHJ4bVFoMlZTSDlpa3A4WUZNNVpoYUtZb2xHdHFON1du - eTd6REEybmNKOEQxOWo0XzFvc3RJSDRqME9rWXFRejExSW5NbGVHbUlZcnVRWEtmc19kU0Fxd195 - UmVUR2Q2Y1hlMEVzWGdZQTlkbnRfb1NHdmpucldMSm9HUFZ5Y05ick91eDhpaW5OSVo1VGxVRzNl - cTJ3VkVmaXQxaHJzMV9VSTZzYjN4R1o0TlkzSFJVVk0tdkhBLTJ3aWkxRUZWQXVibUFMSWI5Q2Ri - cWRoVTRFNGFuX3EwYmhqUWJRSmhCXzhUVDRnZHBmMnk2R1BHS0Z0WlNZeVpoaDBaOUtLd2VZdUhD - aDdQVlY3bU5qVU9HcE5qX3U1Tm5tYUVQNGdiUWxaV1QtcDJKZjdlaFhoNnF3b3NoXzRFUzdHTWRn - THNXUExVWDVZSkM3cDFWSUU5TzZONDFaNEhxTzN1YlVkV0E1X2pBeFphNFFvREY1MUVfd19xTEtM - M29DRHZGTFlONVlCZzhQVVQ3QmxXbU1MNmpTZzlqM0hIQUlVclZsTGduTlY1ekI3M0JCUWxyVGJy - cVZQb21aSTJ4ckh3WGk1ckMyMWZZUk4xVFhCRmwwWmJXNzRfWGtmZ0xWcFRnWG1DcUQ2RmxWUXpt - bXFuamtaU2JvRFU0VlQwNU4zeXhmLUdlenN6MGhtdU9Kd29hMk01bC03NnlEWFd1YTAyUGFyQml5 - cW8xUlBuX012V1NkTWxWUmZ2a0JRT3RydkRwa3BzMG5HZ3VxLW8wT25jTGFVZ3dBMTNMdUlTNF9v - dHY5d0JJeTRNdXRfR1NpQUEmcmVzb3VyY2U9aHR0cHMlM0ElMkYlMkZtYW5hZ2VtZW50LmNvcmUu - d2luZG93cy5uZXQlMkY= - headers: - Accept: ['*/*'] - Accept-Charset: [utf-8] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Length: ['812'] - User-Agent: [python-requests/2.9.1] - content-type: [application/x-www-form-urlencoded] - return-client-request-id: ['true'] - x-client-CPU: [x86] - x-client-OS: [win32] - x-client-SKU: [Python] - x-client-Ver: [0.2.0] - method: POST - uri: https://login.microsoftonline.com/54826b22-38d6-4fb2-bad9-b7b93a3e9c5a/oauth2/token?api-version=1.0 - response: - body: {string: '{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1462473031","not_before":"1462469131","resource":"https://management.core.windows.net/","access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDYyNDY5MTMxLCJuYmYiOjE0NjI0NjkxMzEsImV4cCI6MTQ2MjQ3MzAzMSwiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2Il0sImlwYWRkciI6IjE2Ny4yMjAuMC4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.W5PO3I9Smgui3_ufwdMDRXcnmy3YlalWPwJv39_VePnJlg52Il9wLzxt3por1dvl4vjHJr0CCJ93VEGVxgyTodEj0AuJuVDU707keRYH5OXcV5iJ6LetiQQyA6dALVc4atPH9AoNw9gKCw2VOIVy4soRyPxPpadPMywMijKMgKHN6Xbwz2gnngUiY4PF5ZXindmXA_Sdza_DXUf9NMG61YxeOibO5-um2kyNUNAN1uXLfQKmeAY5JuIl4HVUKybMmzPeRI8SSpvdff2wIjGkwO8rm12nLepVmHiCZwHQ4Za5pWHH7gBl3-7IlCwuL5VRN_AflH2hb6C4dM4dq9YoMQ","refresh_token":"AAABAAAAiL9Kn2Z27UubvWFPbm0gLcFUei6iepTjdZbR-NWan9xvS3DTN1aj_5hsknXi-frhnX9ogMmTqHhtMF3dCQvmrSmT7XR0ITbHfiupWQC9eGTJekLlE2QjTp2gCDfJcGq7-X7wB_u8QZXN6g7cJ9r3_lv_b6GM3my5zLBqFEdEVdMn7Oxjm8GqfWbImrzkak3U8NgvJAZ9xiqF77KNnVKb89TtyLWazVM7QkXkCXAcG0OU671kUka8Lw3pAhuyeP2YJZlV1IiPimUUEDGTzMgaUI54LDoy_W9SZ3DWpoWFwPpXMEW-uEJdp65yey2aTv-nCaOHYWDLZ57SwWwj6aOmXddTwPEEMkDxf4sqsz1S8G27rL5RMmsZzxMWqoDY8ONILaNha9YyGBSoN7gfkOeSxDXqwFzHHguu5YEqdDlljG98x3zMs3bDz7zFjVahRB_QTR2k-sn1z9ZkFu-aiYbuUvEODE0ZBZUeRR3ZesZihBNkMr371zR7czwyJXP4PXqQpJ0VYrAHKq0YlEFybRFHmlHaWheKvbt45-nmNClJazXzNfwwcag-4rbkPTSSC9kBS4rjm6O11xkLNeFP0dgcbbBzpzGPhaVqEjaL0dSp0T8o2rf-ZapjO3pf83FtZ3Cj-w4-c22_kxWwBQNoyct6YSAA"}'} - headers: - Cache-Control: ['no-cache, no-store'] - Content-Length: ['2346'] - Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 05 May 2016 17:30:31 GMT'] - Expires: ['-1'] - P3P: [CP="DSP CUR OTPi IND OTRi ONL FIN"] - Pragma: [no-cache] - Server: [Microsoft-IIS/8.5] - Set-Cookie: [flight-uxoptin=true; path=/; secure; HttpOnly, esctx=AAABAAAAiL9Kn2Z27UubvWFPbm0gLYhR_tfFSVeBdj0E-R_O33Vpk6XCiKDDJJmIV02vzLiIyOrMC3tJmb8QPfNNb1lterwJUL-9gqaRLB09XZTzl5GxaJXAlvYLp1KLnncoTSpJDHiL7s9iGMF6humMYeV-dMIu8kF04bl_i08bqt1siMECOGIVqauRTOCRoO6tqiSdIAA; - domain=.login.microsoftonline.com; path=/; secure; HttpOnly, x-ms-gateway-slice=productiona; - path=/; secure; HttpOnly, stsservicecookie=ests; path=/; secure; HttpOnly] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - X-Content-Type-Options: [nosniff] - X-Powered-By: [ASP.NET] - status: {code: 200, message: OK} - request: body: null headers: @@ -77,59 +27,60 @@ interactions: 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 + PCHO+OSbxPn7v+T/AdOoC/rfoQAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] - Content-Length: ['3408'] + Content-Length: ['3441'] Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 05 May 2016 17:30:32 GMT'] + Date: ['Thu, 05 May 2016 23:24:21 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_show_under_group.yaml b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_show_under_group.yaml index b9b0a594dec..7b099a4aecb 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_show_under_group.yaml +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_show_under_group.yaml @@ -35,7 +35,7 @@ interactions: Content-Encoding: [gzip] Content-Length: ['881'] Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 05 May 2016 17:30:36 GMT'] + Date: ['Thu, 05 May 2016 23:24:26 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -77,7 +77,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 05 May 2016 17:30:37 GMT'] + Date: ['Thu, 05 May 2016 23:24:27 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res index f9e419dae8b..4d0216f3ed9 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res @@ -1,6 +1,6 @@ { - "test_storage_account": "{\n \"message\": null,\n \"nameAvailable\": true,\n \"reason\": null\n}{\n \"message\": \"The storage account named travistestresourcegr3014 is already taken.\",\n \"nameAvailable\": false,\n \"reason\": \"AlreadyExists\"\n}Account Type : Standard_LRS\nCreation Time : 2016-04-06T21:44:48.400791+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/teststorageaccount02\nLast Geo Failover Time : None\nLocation : westus\nName : teststorageaccount02\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://teststorageaccount02.blob.core.windows.net/\n File : https://teststorageaccount02.file.core.windows.net/\n Queue : https://teststorageaccount02.queue.core.windows.net/\n Table : https://teststorageaccount02.table.core.windows.net/\nTags :\n Cat : \n Foo : bar\n\nAccount Type : Standard_LRS\nCreation Time : 2016-04-26T00:00:45.729978+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\nLast Geo Failover Time : None\nLocation : westus\nName : travistestresourcegr3014\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://travistestresourcegr3014.blob.core.windows.net/\n File : https://travistestresourcegr3014.file.core.windows.net/\n Queue : https://travistestresourcegr3014.queue.core.windows.net/\n Table : https://travistestresourcegr3014.table.core.windows.net/\nTags :\n None :{\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-04-26T00:00:45.729978+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"travistestresourcegr3014\",\n \"primaryEndpoints\": {\n \"blob\": \"https://travistestresourcegr3014.blob.core.windows.net/\",\n \"file\": \"https://travistestresourcegr3014.file.core.windows.net/\",\n \"queue\": \"https://travistestresourcegr3014.queue.core.windows.net/\",\n \"table\": \"https://travistestresourcegr3014.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n}Current Value : 27\nLimit : 100\nUnit : Count\nName :\n Localized Value : Storage Accounts\n Value : StorageAccountsConnection String : DefaultEndpointsProtocol=http;AccountName=travistestresourcegr3014;AccountKey=clbxW4pWAv1sOPyxGgNEcbXzKsJXifMtQFRDvRfHXrnbwX0mtB2jKy1j2MoWnjLNRT8Z/XUgSGDRfTldIro8BQ==Key1 : clbxW4pWAv1sOPyxGgNEcbXzKsJXifMtQFRDvRfHXrnbwX0mtB2jKy1j2MoWnjLNRT8Z/XUgSGDRfTldIro8BQ==\nKey2 : CIsCudpapGOKov3+bhaGgFKbK3kum2ljFhMzc48r6cCns+QjV/5T0gNDGuE4xgYoPMdoF6Ha82Pc6o4gSH7AbQ==Key1 : jVeQxXiRDMi+4LfBVd54GK/fA8sV7oemNZfmqBNxh7Ij0h1/ozX7MUdbVEJg6z4mFK12IG/5Mv1ikKOxoTCoGA==\nKey2 : DM94He402SX9nhDKNylQjDYzjBE3Nl30QZ/2dCMtAzmp2/mMdIVDDZDGqG8QUT4+jVMuBTDNkb3hv1PzL1TdMw==Key1 : jVeQxXiRDMi+4LfBVd54GK/fA8sV7oemNZfmqBNxh7Ij0h1/ozX7MUdbVEJg6z4mFK12IG/5Mv1ikKOxoTCoGA==\nKey2 : m3h2kHE7X4C9KeTKIlfDyC4ANg6Jknu+XTJ0kzjYuXaBdZnaRxBz5FQ2tm9N4KuuIzmnTCnwpzC+PaThtxBS+w=={\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"cat\": \"\",\n \"foo\": \"bar\"\n },\n \"type\": null\n}{\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": null\n}{\n \"accountType\": \"Standard_GRS\",\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": null,\n \"type\": null\n}", + "test_storage_account": "{\n \"message\": null,\n \"nameAvailable\": true,\n \"reason\": null\n}{\n \"message\": \"The storage account named travistestresourcegr3014 is already taken.\",\n \"nameAvailable\": false,\n \"reason\": \"AlreadyExists\"\n}Account Type : Standard_LRS\nCreation Time : 2016-04-06T21:44:48.400791+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/teststorageaccount02\nLast Geo Failover Time : None\nLocation : westus\nName : teststorageaccount02\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://teststorageaccount02.blob.core.windows.net/\n File : https://teststorageaccount02.file.core.windows.net/\n Queue : https://teststorageaccount02.queue.core.windows.net/\n Table : https://teststorageaccount02.table.core.windows.net/\nTags :\n Cat : \n Foo : bar\n\nAccount Type : Standard_LRS\nCreation Time : 2016-04-26T00:00:45.729978+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\nLast Geo Failover Time : None\nLocation : westus\nName : travistestresourcegr3014\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://travistestresourcegr3014.blob.core.windows.net/\n File : https://travistestresourcegr3014.file.core.windows.net/\n Queue : https://travistestresourcegr3014.queue.core.windows.net/\n Table : https://travistestresourcegr3014.table.core.windows.net/\nTags :\n None : \n\nAccount Type : Standard_LRS\nCreation Time : 2016-05-05T20:54:21.465033+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstoragegtcmyygd2kyk2\nLast Geo Failover Time : None\nLocation : westus\nName : vhdstoragegtcmyygd2kyk2\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://vhdstoragegtcmyygd2kyk2.blob.core.windows.net/\n File : https://vhdstoragegtcmyygd2kyk2.file.core.windows.net/\n Queue : https://vhdstoragegtcmyygd2kyk2.queue.core.windows.net/\n Table : https://vhdstoragegtcmyygd2kyk2.table.core.windows.net/\nTags :\n Display Name : StorageAccount\n\nAccount Type : Standard_LRS\nCreation Time : 2016-05-05T21:11:56.050903+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstorageo42yswfrhfzia\nLast Geo Failover Time : None\nLocation : westus\nName : vhdstorageo42yswfrhfzia\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://vhdstorageo42yswfrhfzia.blob.core.windows.net/\n File : https://vhdstorageo42yswfrhfzia.file.core.windows.net/\n Queue : https://vhdstorageo42yswfrhfzia.queue.core.windows.net/\n Table : https://vhdstorageo42yswfrhfzia.table.core.windows.net/\nTags :\n Display Name : StorageAccount\n\nAccount Type : Standard_LRS\nCreation Time : 2016-05-05T20:52:49.494803+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstoragermjmr5zat626k\nLast Geo Failover Time : None\nLocation : westus\nName : vhdstoragermjmr5zat626k\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://vhdstoragermjmr5zat626k.blob.core.windows.net/\n File : https://vhdstoragermjmr5zat626k.file.core.windows.net/\n Queue : https://vhdstoragermjmr5zat626k.queue.core.windows.net/\n Table : https://vhdstoragermjmr5zat626k.table.core.windows.net/\nTags :\n Display Name : StorageAccount\n\nAccount Type : Standard_LRS\nCreation Time : 2016-05-05T21:43:48.273135+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstorages67e6ressiqoy\nLast Geo Failover Time : None\nLocation : westus\nName : vhdstorages67e6ressiqoy\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://vhdstorages67e6ressiqoy.blob.core.windows.net/\n File : https://vhdstorages67e6ressiqoy.file.core.windows.net/\n Queue : https://vhdstorages67e6ressiqoy.queue.core.windows.net/\n Table : https://vhdstorages67e6ressiqoy.table.core.windows.net/\nTags :\n Display Name : StorageAccount{\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-04-26T00:00:45.729978+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"travistestresourcegr3014\",\n \"primaryEndpoints\": {\n \"blob\": \"https://travistestresourcegr3014.blob.core.windows.net/\",\n \"file\": \"https://travistestresourcegr3014.file.core.windows.net/\",\n \"queue\": \"https://travistestresourcegr3014.queue.core.windows.net/\",\n \"table\": \"https://travistestresourcegr3014.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n}Current Value : 46\nLimit : 100\nUnit : Count\nName :\n Localized Value : Storage Accounts\n Value : StorageAccountsConnection String : DefaultEndpointsProtocol=http;AccountName=travistestresourcegr3014;AccountKey=wg2FxOdgK5ixrOpEkKnBYhOU6m+B1eQX8GIav9i5dG7pVqmBhEYnYz+TnQXUD9VaIfOFjPMHjM8QQsPjcRAI5w==Key1 : wg2FxOdgK5ixrOpEkKnBYhOU6m+B1eQX8GIav9i5dG7pVqmBhEYnYz+TnQXUD9VaIfOFjPMHjM8QQsPjcRAI5w==\nKey2 : 98FwoBTWu8bz4yGG8p4k3EEG/n7RZpF32/kyrrfdmZH1XNIhgLpJPoe/jVr0BgtErhq6L1yaFuQ7HnbKxddwbA==Key1 : gtIN+RrNEcuLNTiWmrTNtX+MyrhmAeWJL2huqqE+OdWKmIwRJt1LPccl7tSf2QkyfoJgOVIbevqULD+gMg4Y2g==\nKey2 : ejVUyO6mlQZnHhRiciEkuMv/TVxHo9ei6L+jqRQdqmwBYldYLX9wpGhJUOvILdta5KNgJm3UAVrU54SG1ReNsw==Key1 : gtIN+RrNEcuLNTiWmrTNtX+MyrhmAeWJL2huqqE+OdWKmIwRJt1LPccl7tSf2QkyfoJgOVIbevqULD+gMg4Y2g==\nKey2 : uGnC+SOuCrsqW9sJLVu9c0QcP6yI2QsDfqboNmDDbXGyJjDpAypvFOt7YzkuhsMg2NHyQAZHpsgG0F7mNs4FZg=={\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"cat\": \"\",\n \"foo\": \"bar\"\n },\n \"type\": null\n}{\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": null\n}{\n \"accountType\": \"Standard_GRS\",\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": null,\n \"type\": null\n}", "test_storage_account_create_and_delete": "{\n \"message\": \"The storage account named testcreatedelete is already taken.\",\n \"nameAvailable\": false,\n \"reason\": \"AlreadyExists\"\n}{\n \"message\": null,\n \"nameAvailable\": true,\n \"reason\": null\n}", - "test_storage_blob": "truetrue{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36FAB5A1803EB\\\"\",\n \"lastModified\": \"2016-04-28T21:23:33+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}Next Marker : \nItems :\n Metadata : None\n Name : bootdiagnostics-linuxtest-f6c88058-8d96-4f6a-a090-9fb5411151d0\n Properties :\n Etag : \"0x8D36E19CE91BE4A\"\n Last Modified : 2016-04-26T21:29:10+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : bootdiagnostics-windowste-2006bcb8-19b1-48c0-9822-da025cd5a5f4\n Properties :\n Etag : \"0x8D36E114D516083\"\n Last Modified : 2016-04-26T20:28:18+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : testcontainer01\n Properties :\n Etag : \"0x8D36FAB5A1803EB\"\n Last Modified : 2016-04-28T21:23:33+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : vhds\n Properties :\n Etag : \"0x8D36E0F38BB034E\"\n Last Modified : 2016-04-26T20:13:24+00:00\n Lease Duration : infinite\n Lease State : leased\n Lease Status : locked\n Lease :\n Duration : None\n State : None\n Status : None{\n \"foo\": \"bar\",\n \"moo\": \"bak\"\n}Cors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nLogging :\n Delete : False\n Read : False\n Version : 1.0\n Write : False\n Retention Policy :\n Days : None\n Enabled : False\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : Falsetruetruetrue\"https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob\"{\n \"a\": \"b\",\n \"c\": \"d\"\n}Next Marker : \nItems :\n Content : None\n Metadata : None\n Name : testappendblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : AppendBlob\n Content Length : 156\n Etag : 0x8D36FAB5C29C580\n Last Modified : 2016-04-28T21:23:36+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testblockblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : BlockBlob\n Content Length : 78\n Etag : 0x8D36FAB5CDC4F5A\n Last Modified : 2016-04-28T21:23:37+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : zeGiTMG1TdAobIHawzap3A==\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testpageblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : PageBlob\n Content Length : 512\n Etag : 0x8D36FAB5BB739DE\n Last Modified : 2016-04-28T21:23:35+00:00\n Page Blob Sequence Number : None\n Sequence Number : 0\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36FAB5CDC4F5A\\\"\",\n \"lastModified\": \"2016-04-28T21:23:37+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36FAB5CDC4F5A\\\"\",\n \"lastModified\": \"2016-04-28T21:23:37+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36FAB5CDC4F5A\\\"\",\n \"lastModified\": \"2016-04-28T21:23:37+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36FAB5CDC4F5A\\\"\",\n \"lastModified\": \"2016-04-28T21:23:37+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36FAB5CDC4F5A\\\"\",\n \"lastModified\": \"2016-04-28T21:23:37+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}true{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36FAB5B1F4635\\\"\",\n \"lastModified\": \"2016-04-28T21:23:34+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36FAB5B1F4635\\\"\",\n \"lastModified\": \"2016-04-28T21:23:34+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36FAB5B1F4635\\\"\",\n \"lastModified\": \"2016-04-28T21:23:34+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36FAB5B1F4635\\\"\",\n \"lastModified\": \"2016-04-28T21:23:34+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}true", - "test_storage_file": "truetruetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}Next Marker : None\nItems :\n Metadata : None\n Name : testshare\n Properties :\n Etag : \"0x8D36E189FD7EB3F\"\n Last Modified : 2016-04-26T21:20:42+00:00\n Quota : 5120\n Metadata : None\n Name : testshare01\n Properties :\n Etag : \"0x8D36FAA31A47710\"\n Last Modified : 2016-04-28T21:15:15+00:00\n Quota : 5120\n Metadata : None\n Name : testshare02\n Properties :\n Etag : \"0x8D36FAA31CFA378\"\n Last Modified : 2016-04-28T21:15:16+00:00\n Quota : 5120{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {},\n \"name\": \"testshare01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36FAA3321DE00\\\"\",\n \"lastModified\": \"2016-04-28T21:15:18+00:00\",\n \"quota\": 3\n }\n}true{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testfile.rst\",\n \"properties\": {\n \"contentLength\": 1234,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": null,\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D36FAA34758780\\\"\",\n \"lastModified\": \"2016-04-28T21:15:20+00:00\"\n }\n}{\n \"a\": \"b\",\n \"c\": \"d\"\n}\"https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst\"Next Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 1234\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : Nonetruetrue{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {\n \"a\": \"b\",\n \"c\": \"d\"\n },\n \"name\": \"testdir01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D36FAA362B130F\\\"\",\n \"lastModified\": \"2016-04-28T21:15:23+00:00\"\n }\n}trueNext Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 78\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None1truetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}trueCors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : False" + "test_storage_blob": "truetrue{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8D926878\\\"\",\n \"lastModified\": \"2016-05-05T23:25:32+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}Next Marker : \nItems :\n Metadata : None\n Name : bootdiagnostics-linuxtest-f6c88058-8d96-4f6a-a090-9fb5411151d0\n Properties :\n Etag : \"0x8D36E19CE91BE4A\"\n Last Modified : 2016-04-26T21:29:10+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : bootdiagnostics-windowste-2006bcb8-19b1-48c0-9822-da025cd5a5f4\n Properties :\n Etag : \"0x8D36E114D516083\"\n Last Modified : 2016-04-26T20:28:18+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : testcontainer01\n Properties :\n Etag : \"0x8D3753C8D926878\"\n Last Modified : 2016-05-05T23:25:32+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : vhds\n Properties :\n Etag : \"0x8D36E0F38BB034E\"\n Last Modified : 2016-04-26T20:13:24+00:00\n Lease Duration : infinite\n Lease State : leased\n Lease Status : locked\n Lease :\n Duration : None\n State : None\n Status : None{\n \"foo\": \"bar\",\n \"moo\": \"bak\"\n}Cors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nLogging :\n Delete : False\n Read : False\n Version : 1.0\n Write : False\n Retention Policy :\n Days : None\n Enabled : False\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : Falsetruetruetrue\"https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob\"{\n \"a\": \"b\",\n \"c\": \"d\"\n}Next Marker : \nItems :\n Content : None\n Metadata : None\n Name : testappendblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : AppendBlob\n Content Length : 156\n Etag : 0x8D3753C8FAEB631\n Last Modified : 2016-05-05T23:25:35+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testblockblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : BlockBlob\n Content Length : 78\n Etag : 0x8D3753C910E2185\n Last Modified : 2016-05-05T23:25:38+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : zeGiTMG1TdAobIHawzap3A==\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testpageblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : PageBlob\n Content Length : 512\n Etag : 0x8D3753C8F4506B3\n Last Modified : 2016-05-05T23:25:35+00:00\n Page Blob Sequence Number : None\n Sequence Number : 0\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}true{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8E6BE520\\\"\",\n \"lastModified\": \"2016-05-05T23:25:33+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8E6BE520\\\"\",\n \"lastModified\": \"2016-05-05T23:25:33+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8E6BE520\\\"\",\n \"lastModified\": \"2016-05-05T23:25:33+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8E6BE520\\\"\",\n \"lastModified\": \"2016-05-05T23:25:33+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}true", + "test_storage_file": "truetruetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}Next Marker : None\nItems :\n Metadata : None\n Name : testshare\n Properties :\n Etag : \"0x8D36E189FD7EB3F\"\n Last Modified : 2016-04-26T21:20:42+00:00\n Quota : 5120\n Metadata : None\n Name : testshare01\n Properties :\n Etag : \"0x8D3753C9D7FA7F1\"\n Last Modified : 2016-05-05T23:25:59+00:00\n Quota : 5120\n Metadata : None\n Name : testshare02\n Properties :\n Etag : \"0x8D3753C9DBA4664\"\n Last Modified : 2016-05-05T23:25:59+00:00\n Quota : 5120{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {},\n \"name\": \"testshare01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C9EFCBFA3\\\"\",\n \"lastModified\": \"2016-05-05T23:26:01+00:00\",\n \"quota\": 3\n }\n}true{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testfile.rst\",\n \"properties\": {\n \"contentLength\": 1234,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": null,\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C9F7797F3\\\"\",\n \"lastModified\": \"2016-05-05T23:26:02+00:00\"\n }\n}{\n \"a\": \"b\",\n \"c\": \"d\"\n}\"https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst\"Next Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 1234\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : Nonetruetrue{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {\n \"a\": \"b\",\n \"c\": \"d\"\n },\n \"name\": \"testdir01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753CA1EADCB0\\\"\",\n \"lastModified\": \"2016-05-05T23:26:06+00:00\"\n }\n}trueNext Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 78\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None1truetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}trueCors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : False" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml index e34ccb099b3..062b13e3ed9 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml @@ -1,40 +1,8 @@ interactions: - request: - body: client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&refresh_token=AAABAAAAiL9Kn2Z27UubvWFPbm0gLQoucyuhWVsJeWlI9dGHcCp-UEliGxmPaPMbHACErdm4Huw62OZuSF7H7LLFXMN7fuIPFNqE7f_QF9QQyD5Ui8KRfhduYlulJGP7ST-diYbpFNIoleXt4T4ipguWePyAPoInxQaOmFUJ6NywQalErbaG9ld99xzQ-RDn4aoH_GtUy7E761e8HojR47texNpxUUn_fSDseHaOuH7NXjp9_5K8ssdZwXA2zutzFVnfVfrY1tfO1iXreBLruchA8iRpP_B-wesZuwYCZ0CT4-lOuaYTO59YeFn2I7Rk_zPWlLKQ7GRBAhXHcOqPjk6CpPTeO1qFKHwkX_yMUZAV7QwrlxEgcOASxf8dujZKGTZdqDrGkwfstijCCgGk6wmNpDU8TaR3gAc8KeOOd_8Q-RGUnLRtO3sq8iGUSpwxJxjHefwtZKRnKBHX2yuZVJUTyELIWEfUNbFY9IlRCdQfI1rm-n9tftUao-ibqOUO8E8v4s0W7U0X8iQG5h59FJn0DT8CURJyFUseayuVEui5pZ75wC-wQUkkyh7ugHXU5GyfzE5HeeTUUsIeHG7k5MJhelX0_VEBCCFFxHdee4e75BUhr_TyGqYrJaxEdA9GfCIzN6-NFXGc2A_2oQ6i6Nhjai5WQiAA&grant_type=refresh_token&resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: ['*/*'] - Accept-Charset: [utf-8] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Length: ['812'] - User-Agent: [python-requests/2.9.1] - content-type: [application/x-www-form-urlencoded] - return-client-request-id: ['true'] - x-client-CPU: [x86] - x-client-OS: [win32] - x-client-SKU: [Python] - x-client-Ver: [0.2.0] - method: POST - uri: https://login.microsoftonline.com/54826b22-38d6-4fb2-bad9-b7b93a3e9c5a/oauth2/token?api-version=1.0 - response: - body: {string: '{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1461688499","not_before":"1461684599","resource":"https://management.core.windows.net/","access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDYxNjg0NTk5LCJuYmYiOjE0NjE2ODQ1OTksImV4cCI6MTQ2MTY4ODQ5OSwiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2Il0sImlwYWRkciI6IjE2Ny4yMjAuMS4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.AHEBTJ0eP-3mJMJV4KBqBHuntEBIL5ND6E5TPkrKgbAtpLED7RJNIBvWiw9guKgzabyWCT2mcb2tVAFM-YmQ-7VlYBGsELtsNiSnuYshiR-586vu5BSwYpeRMbk7mNZEy8inndY1znPYLdfZFTPBchHxJ5tQDWHtNE42Yejg5UtZYXqMQSsslecItSg_E2HBekbbBGlD9muri5baiRF131_pT2rLa-MynoZwxgCxOIBf0De7h0cfQTwyblpi_MKrnQ2jOSiuaQ2wZ1unywYI8lNtAbYLDGLzY9Kg5y_eOQY-q02Y--ONCGbuiD1kNwRxEx-FrNSnpgqrp5zv4X1Ulw","refresh_token":"AAABAAAAiL9Kn2Z27UubvWFPbm0gLbcBSC68FfW4jj8KcqEuydKT4QOY0WeoAc8SeV_OHp9fmwbHsl8mL_X_LtdMGvM62L9bYOfFgvyDbhgJ-aY1HAFXrl-ggt-KGzqD9ir1W_Ep7pjKnRL1aRlvZ5iH2m7bCU3ceC2l3BY_IYrYXB6BBMdcP256RwQroNmNO7vZyw2Uker7PlUwy2SqYzSIg0C3NMNn3UC1A2mmBi_dRaD-LkrIUqUS_DeoMQrkh92S5le4MtKkMQ6IKcEuTTA0aVt7Fhh4CLebF-dDC0HZDAS6QnOgN_lOeNDVHViREDuADAEqgUNxMF6z5a6AFJdoGRz4MZpuugX0_jWLOJcgG6scFcJOmnXrOr_0IQhT44MiQ8jdeiuKIKEFhoCQ4MSFUydCPxpZhg-KwPMRLLKMHUYUvzUp0_O1YH588hz6ClEhhz8dk-wYadFKq7ZqSJR5j2DSO4ATmCBb6vPfCcZz5jV6aETDPIWXoMW2wTHQi2sT6dLC3eJo6yFshduZUrOAnHKX9taR8Wv6MbYrEcnk7yIPD5xFbtYDV5-YnvzVxmAZBnjRJEcQVQs5tSEjxxo6QiQJinc4uEHo6fyuaK_XZ8y63RW4HuPRQm0ckia3uS62OdRYy4f9ls5ppLVSK4yclrOSRCAA"}'} - headers: - Cache-Control: ['no-cache, no-store'] - Content-Length: ['2346'] - Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 26 Apr 2016 15:34:59 GMT'] - Expires: ['-1'] - P3P: [CP="DSP CUR OTPi IND OTRi ONL FIN"] - Pragma: [no-cache] - Server: [Microsoft-IIS/8.5] - Set-Cookie: [flight-uxoptin=true; path=/; secure; HttpOnly, x-ms-gateway-slice=productionb; - path=/; secure; HttpOnly, stsservicecookie=ests; path=/; secure; HttpOnly] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - X-Content-Type-Options: [nosniff] - X-Powered-By: [ASP.NET] - status: {code: 200, message: OK} -- request: - body: '{"name": "teststorageomega", "type": "Microsoft.Storage/storageAccounts"}' + body: !!binary | + eyJuYW1lIjogInRlc3RzdG9yYWdlb21lZ2EiLCAidHlwZSI6ICJNaWNyb3NvZnQuU3RvcmFnZS9z + dG9yYWdlQWNjb3VudHMifQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -56,7 +24,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:34:59 GMT'] + Date: ['Thu, 05 May 2016 23:24:32 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -64,7 +32,9 @@ interactions: Vary: [Accept-Encoding] status: {code: 200, message: OK} - request: - body: '{"name": "travistestresourcegr3014", "type": "Microsoft.Storage/storageAccounts"}' + body: !!binary | + eyJuYW1lIjogInRyYXZpc3Rlc3RyZXNvdXJjZWdyMzAxNCIsICJ0eXBlIjogIk1pY3Jvc29mdC5T + dG9yYWdlL3N0b3JhZ2VBY2NvdW50cyJ9 headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -87,7 +57,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:00 GMT'] + Date: ['Thu, 05 May 2016 23:24:33 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -119,12 +89,18 @@ interactions: 55jFzW9zo+jrbTa5uXNuFHn9l1hiPI9MD00AcQN9WCwviOAtunm9nk7zfJbP6PuGPls3X56/FBD0 bXaZFSX6AuQ2u2DSEmD6itqfVxX9Mslq/lYm8kZ+orb/L+PvCIx7O7v7NMBNPD78FnX+gXy+9+mb nZ1H9L/9++MHew8fPjj49LZ8PoDW7Xl9CADaRQEwK98GAjeMgmiZxW4BghtGQBD/KXF+Fvl+WS3x - Jn8ks3kjc330S77/S5L/B76UIYXZBQAA + Jn8ks3kjc1Hb/3cx++V8ph9dtNPF9fXFbO/t9Vto5w28PvwSdf1BrH6f/vdmb+fR/f1He7vj/U/v + 79y7d++WrD6A1a05feh9NIu+z/x7CwDcLgqhZZa6GQK3i0AgzlPC/Cyy+axoVmV2/ULmXhlJGYjb + yfTeyGvU9v+tvF/t7103V+f1/PwHRUaUuRXvd1+irr8B3t99tLv76P6n4537Ow937t1WzQ9g9TV4 + P3wfzaLvM0/fAgC3i0Jomc9uhsDtIhCI85QwP+L9D+H9evHTi/r+D7L2071P3xJlbsX73Zeo62+A + 90nv7z3afzjef7h/QIr/vXk/wOpr8H74PppF32eevgUAbheF0DKf3QyB20UgEOcpYX7E+x/C+82n + D/JPCVBT/KLqmihzK97vvkRdfwO8T2HsPYSxew/u7d67v/PevB9g9TV4P3wfzaLvM0/fAgC3i0Jo + mc9uhsDtIhCI85Qw/5/g/e//kuT/ASix0/PJEQAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:01 GMT'] + Date: ['Thu, 05 May 2016 23:24:34 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -159,7 +135,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:01 GMT'] + Date: ['Thu, 05 May 2016 23:24:34 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -183,14 +159,14 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/tPXBflcWC39nd2XEfLrMF - 2lnA9JHp86PXbVVnF/nxdIpOGtcLNSqraVYWP8hnpifTOrXNTetfIr/wj+//xskv+X8AtiYxadoA + 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/tf+q+KosFv7O7s+M+XGYL + tLOA6SPT50ev26rOLvLj6RSdNK4XalRW06wsfpDPTE+mdWqbm9a/RH7hH9//jZNf8v8AbWSuSdoA AAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:02 GMT'] + Date: ['Thu, 05 May 2016 23:24:34 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -215,21 +191,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn00LSfvvru/+u7x5W7z5cvrd59fvDidTn7vH/xezXd+7+L8i/Ynnr16evnq/Nu/d72cXP3e - O4v2yd5P/17Xuz+990X13eVPP3/x6s3BT939vb+6eP3501fnb8rZWV0dPPmJzz77aIQe9qiHk7Pm - ZD1bZavPv/y9qst7n0zm2ecXz36vye917+16sVf+9LP5Fz+Y7h/Un05Pls0nP/HTP3n3/pudixdP - P1+f7r+7+H2ql1/Mqmeffjs72Hs5/bTav3j97QfHE/TwS5L/BzznsQjGAAAA + 692PHn10dbH37N2Xs4vf637xrv5ydfr291o++X3mX3716eKTJ7v5T/zeB5+fZZcPi/uzzx+sfvIX + LZ7MT3+f5e/zg0/eLH/i9/7q6cOfzM7Ov3z20y+/+PZPf3HwEz/RvPzp6avjs/tXn3320Qg97FEP + Dw+eXVVP3nx3fTD5wf71558frPbf3js9/fzu8sGrn1o9u7d39+11XZ/PFj/17d3f+8XZ/OL56jsv + q/zuT/9kvfPkoj2t57/o0+e719mz9U88+PZy8nu9m82uJsfUwy9J/h/CXKiSxgAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:03 GMT'] + Date: ['Thu, 05 May 2016 23:24:35 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -249,15 +225,15 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn00LSfvvru/+u7x5W7z5cvrd59fvDidTn7vH/xezXd+7+L8i/Ynnr16evnq/Nu/d72cXP3e - O4v2yd5P/17Xuz+990X13eVPP3/x6s3BT939vb+6eP3501fnb8rZWV0dPPmJzz77aIQe9qiHk7Pm - ZD1bZavPv/y9qst7n0zm2ecXz36vye917+16sVf+9LP5Fz+Y7h/Un05Pls0nP/HTP3n3/pudixdP - P1+f7r+7+H2ql1/Mqmeffjs72Hs5/bTav3j97QfHE/TwS5L/BzznsQjGAAAA + 692PHn10dbH37N2Xs4vf637xrv5ydfr291o++X3mX3716eKTJ7v5T/zeB5+fZZcPi/uzzx+sfvIX + LZ7MT3+f5e/zg0/eLH/i9/7q6cOfzM7Ov3z20y+/+PZPf3HwEz/RvPzp6avjs/tXn3320Qg97FEP + Dw+eXVVP3nx3fTD5wf71558frPbf3js9/fzu8sGrn1o9u7d39+11XZ/PFj/17d3f+8XZ/OL56jsv + q/zuT/9kvfPkoj2t57/o0+e719mz9U88+PZy8nu9m82uJsfUwy9J/h/CXKiSxgAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:04 GMT'] + Date: ['Thu, 05 May 2016 23:24:35 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -266,7 +242,8 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: - body: '{"keyName": "key1"}' + body: !!binary | + eyJrZXlOYW1lIjogImtleTEifQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -283,24 +260,25 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn300z+Z/8S737t49fSL4pP95+dPfnJ2f//z3+vu+fFB85MPqnzx4qfOF7/oyYt38wdnP70z - 371b/eD3fvDFV7PJT55+5+LTH+wvnv1eu3tnn9+9/8XlbvH29/ryXfXmpPr8+LPPPhqhhz3q4eSs - OVnPVtnq8y9/r+ry3ieTefb5xbPfa/J73Xu7XuyVP/1s/sUPpvsH9afTk2XzyU/89E/evf9m5+LF - 08/Xp/vvLn6f6uUXs+rZp9/ODvZeTj+t9i9ef/vB8eQnqIdfkvw/EUnTqsYAAAA= + 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 + +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9TDw4NnV9WT + N99dH0x+sH/9+ecHq/23905PP7+7fPDqp1bP7u3dfXtd1+ezxU99e/f3fnE2v3i++s7LKr/70z9Z + 7zy5aE/r+S/69PnudfZs/RMPvr2c/F7vZrOryTH18EuS/wfMAT1hxgAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:06 GMT'] + Date: ['Thu, 05 May 2016 23:24:36 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: - body: '{"keyName": "key2"}' + body: !!binary | + eyJrZXlOYW1lIjogImtleTIifQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -317,24 +295,25 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn300z+Z/8S737t49fSL4pP95+dPfnJ2f//z3+vu+fFB85MPqnzx4qfOF7/oyYt38wdnP70z - 371b/eD3fvDFV7PJT55+5+LTH+wvnv1eu3tnn9+9/8XlbvH29/ryXfXmpPr8+LPPPhqhhz3q4ekX - D/e/ne/v7L3+vR8u509/rxfX5U/89NPf5wc//eT03ovy3s5P/NTdvdnJF+3xDxarvbuLL2ZnP/n0 - 6U89/fwXfX7wE1+92f/kp3/yi/WTN09fvJ3cm1/uvvzB8903sy+uqIdfkvw/NXZgQMYAAAA= + 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 + +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9RD/tM/+dX1 + l58uyp/4qeW356+KaXH6dv3F5d03P/nu29XDvPj0+Sc//Yte/cTsFy2unvw+5ez3ef57P7xafT7/ + zldfXp49n7XZ/d/rxcV3Fve+Ov7J+qv7+68/332Vv2iuqIdfkvw/XeTW8MYAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:07 GMT'] + Date: ['Thu, 05 May 2016 23:24:39 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: - body: '{"keyName": "key2"}' + body: !!binary | + eyJrZXlOYW1lIjogImtleTIifQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -351,24 +330,25 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn300z+Z/8S737t49fSL4pP95+dPfnJ2f//z3+vu+fFB85MPqnzx4qfOF7/oyYt38wdnP70z - 371b/eD3fvDFV7PJT55+5+LTH+wvnv1eu3tnn9+9/8XlbvH29/ryXfXmpPr8+LPPPhqhhz3qYXFv - vvf226cPfu/9k4e/V/7m9zorz59en+wfv7j49Dtvl+tPfu8339l5+4Of/n3Wv3f2ZPZTy+zVuyc/ - uP/sJ/baxcMX+7/Xen32g8XyzcnyavWDk09eZm/m7bsnrz+5oh5+SfL/AOw6p1HGAAAA + 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 + +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9TD+vPlySev + v1yf1M0v+u7D5jvPf3L9cLrzE9OXn16f7f1E8/T8F02qF4unTye/9+fX3/npp6vj69Xlsy/bB7/P + D96u580XF3svvn39E8c/9e1Vc/H5zrMHixfN/rOfQg+/JPl/AEJAdpzGAAAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:11 GMT'] + Date: ['Thu, 05 May 2016 23:24:45 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1195'] status: {code: 200, message: OK} - request: - body: '{"tags": {"foo": "bar", "cat": ""}}' + body: !!binary | + eyJ0YWdzIjogeyJjYXQiOiAiIiwgImZvbyI6ICJiYXIifX0= headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -385,12 +365,12 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR212 - 0Xz06Bd/dF5VHz36aJLVH40+mmYt/f7RL/kl/w/0s/SAHwAAAA== + 0Xz06Bd/NM3ajx599NHoo/Oqol8mWf3RL/kl/w8KtBWFHwAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:20 GMT'] + Date: ['Thu, 05 May 2016 23:24:47 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -399,7 +379,8 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: - body: '{"tags": {"none": ""}}' + body: !!binary | + eyJ0YWdzIjogeyJub25lIjogIiJ9fQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -421,16 +402,17 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:24 GMT'] + Date: ['Thu, 05 May 2016 23:24:47 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: - body: '{"properties": {"accountType": "Standard_GRS"}}' + body: !!binary | + eyJwcm9wZXJ0aWVzIjogeyJhY2NvdW50VHlwZSI6ICJTdGFuZGFyZF9HUlMifX0= headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -452,16 +434,17 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:24 GMT'] + Date: ['Thu, 05 May 2016 23:24:47 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: - body: '{"properties": {"accountType": "Standard_LRS"}}' + body: !!binary | + eyJwcm9wZXJ0aWVzIjogeyJhY2NvdW50VHlwZSI6ICJTdGFuZGFyZF9MUlMifX0= headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -483,12 +466,12 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:26 GMT'] + Date: ['Thu, 05 May 2016 23:24:48 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} version: 1 diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_create_and_delete.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_create_and_delete.yaml index 87ebe16e62e..137531cf60e 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_create_and_delete.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_create_and_delete.yaml @@ -16,14 +16,16 @@ interactions: body: {string: ''} headers: Cache-Control: [no-cache] - Date: ['Tue, 26 Apr 2016 15:35:44 GMT'] + Date: ['Fri, 06 May 2016 16:02:34 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 204, message: No Content} - request: - body: '{"name": "testcreatedelete", "type": "Microsoft.Storage/storageAccounts"}' + body: !!binary | + eyJuYW1lIjogInRlc3RjcmVhdGVkZWxldGUiLCAidHlwZSI6ICJNaWNyb3NvZnQuU3RvcmFnZS9z + dG9yYWdlQWNjb3VudHMifQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -45,7 +47,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:35:44 GMT'] + Date: ['Fri, 06 May 2016 16:02:35 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -53,7 +55,9 @@ interactions: Vary: [Accept-Encoding] status: {code: 200, message: OK} - request: - body: '{"properties": {"accountType": "Standard_LRS"}, "location": "westus"}' + body: !!binary | + eyJwcm9wZXJ0aWVzIjogeyJhY2NvdW50VHlwZSI6ICJTdGFuZGFyZF9MUlMifSwgImxvY2F0aW9u + IjogIndlc3R1cyJ9 headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -76,7 +80,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:36:12 GMT'] + Date: ['Fri, 06 May 2016 16:14:04 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -84,7 +88,9 @@ interactions: Vary: [Accept-Encoding] status: {code: 200, message: OK} - request: - body: '{"name": "testcreatedelete", "type": "Microsoft.Storage/storageAccounts"}' + body: !!binary | + eyJuYW1lIjogInRlc3RjcmVhdGVkZWxldGUiLCAidHlwZSI6ICJNaWNyb3NvZnQuU3RvcmFnZS9z + dG9yYWdlQWNjb3VudHMifQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -107,7 +113,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:36:12 GMT'] + Date: ['Fri, 06 May 2016 16:14:06 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -132,7 +138,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 26 Apr 2016 15:36:16 GMT'] + Date: ['Fri, 06 May 2016 16:14:06 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -140,7 +146,9 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: - body: '{"name": "testcreatedelete", "type": "Microsoft.Storage/storageAccounts"}' + body: !!binary | + eyJuYW1lIjogInRlc3RjcmVhdGVkZWxldGUiLCAidHlwZSI6ICJNaWNyb3NvZnQuU3RvcmFnZS9z + dG9yYWdlQWNjb3VudHMifQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -162,7 +170,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Tue, 26 Apr 2016 15:36:16 GMT'] + Date: ['Fri, 06 May 2016 16:14:08 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -186,10 +194,10 @@ interactions: body: {string: ''} headers: Cache-Control: [no-cache] - Date: ['Tue, 26 Apr 2016 15:36:17 GMT'] + Date: ['Fri, 06 May 2016 16:14:08 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 204, message: No Content} version: 1 diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml index 86bef17a1b9..4df004ff513 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml @@ -17,21 +17,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn10ffDV7OnOwfNsfu9u+2Ln23enT04ufnL/y9/r/g+eXM5/+qc///z+w2K9eLJ6s7x6kD// - fa5efHI+efPtdf5g9frB8tVPXczmVXVa/PRe9vs8mB1/9+ynn9SvVsefffbRCD3sUQ/PLrL809/7 - k4flq+m910/3jn+fs1dvvvPF7vnuk5ev6rc/sXtFGHx6OWtX65frvfze04PpT73Mp7/38fKTq+Xv - /d2nn5fr+z/14tvPf/DpvS/zq+P7X7yb/WD9iy6oh1+S/D/CxaBYxgAAAA== + 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 + +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9TD+vPlySev + v1yf1M0v+u7D5jvPf3L9cLrzE9OXn16f7f1E8/T8F02qF4unTye/9+fX3/npp6vj69Xlsy/bB7/P + D96u580XF3svvn39E8c/9e1Vc/H5zrMHixfN/rOfQg+/JPl/AEJAdpzGAAAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 28 Apr 2016 21:23:31 GMT'] + Date: ['Thu, 05 May 2016 23:25:30 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: body: null @@ -40,18 +40,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:32 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:31 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:62ed3896-0001-0061-6494-a174a9000000\n\ - Time:2016-04-28T21:23:32.6690075Z"} + \ specified container does not exist.\nRequestId:87c8a1e4-0001-010c-4c25-a798d2000000\n\ + Time:2016-05-05T23:25:32.8837917Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:23:32 GMT'] + Date: ['Thu, 05 May 2016 23:25:32 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -61,18 +61,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:32 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:31 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:6d433b67-0001-00b2-7994-a1cb0c000000\n\ - Time:2016-04-28T21:23:33.1724819Z"} + \ specified container does not exist.\nRequestId:c2e2ae81-0001-009d-8025-a74a36000000\n\ + Time:2016-05-05T23:25:32.2276146Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:23:32 GMT'] + Date: ['Thu, 05 May 2016 23:25:31 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -83,16 +83,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:32 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:32 GMT'] - ETag: ['"0x8D36FAB5A1803EB"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:33 GMT'] + Date: ['Thu, 05 May 2016 23:25:32 GMT'] + ETag: ['"0x8D3753C8D926878"'] + Last-Modified: ['Thu, 05 May 2016 23:25:32 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -102,16 +102,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:33 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:33 GMT'] - ETag: ['"0x8D36FAB5A1803EB"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:33 GMT'] + Date: ['Thu, 05 May 2016 23:25:32 GMT'] + ETag: ['"0x8D3753C8D926878"'] + Last-Modified: ['Thu, 05 May 2016 23:25:32 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -123,16 +123,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:33 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:32 GMT'] - ETag: ['"0x8D36FAB5A1803EB"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:33 GMT'] + Date: ['Thu, 05 May 2016 23:25:32 GMT'] + ETag: ['"0x8D3753C8D926878"'] + Last-Modified: ['Thu, 05 May 2016 23:25:32 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -144,22 +144,22 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:33 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/?comp=list&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/?comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: "\uFEFFbootdiagnostics-linuxtest-f6c88058-8d96-4f6a-a090-9fb5411151d0Tue,\ \ 26 Apr 2016 21:29:10 GMT\"0x8D36E19CE91BE4A\"unlockedavailablebootdiagnostics-windowste-2006bcb8-19b1-48c0-9822-da025cd5a5f4Tue,\ \ 26 Apr 2016 20:28:18 GMT\"0x8D36E114D516083\"unlockedavailabletestcontainer01Thu,\ - \ 28 Apr 2016 21:23:33 GMT\"0x8D36FAB5A1803EB\"unlockedavailablevhdsTue,\ + \ 05 May 2016 23:25:32 GMT\"0x8D3753C8D926878\"unlockedavailablevhdsTue,\ \ 26 Apr 2016 20:13:24 GMT\"0x8D36E0F38BB034E\"lockedleasedinfinite"} headers: Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:23:33 GMT'] + Date: ['Thu, 05 May 2016 23:25:32 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -170,18 +170,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:33 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:33 GMT'] - ETag: ['"0x8D36FAB5ACA0D54"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:32 GMT'] + ETag: ['"0x8D3753C8E283BF3"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -191,16 +191,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:33 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:33 GMT'] - ETag: ['"0x8D36FAB5ACA0D54"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:33 GMT'] + ETag: ['"0x8D3753C8E283BF3"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] @@ -213,16 +213,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:34 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:34 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:33 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -232,16 +232,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:34 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:34 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:33 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -251,38 +251,40 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:34 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/?restype=service&comp=properties&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/?restype=service&comp=properties&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse"} headers: Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} - request: - body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! + body: !!binary | + VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE + TyBOT1QgTU9WRSBPUiBERUxFVEUh headers: Accept-Encoding: [identity] Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Thu, 28 Apr 2016 21:23:35 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 28 Apr 2016 21:23:34 GMT'] - ETag: ['"0x8D36FAB5B6BEE63"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:35 GMT'] + Date: ['Thu, 05 May 2016 23:25:33 GMT'] + ETag: ['"0x8D3753C8EF3518C"'] + Last-Modified: ['Thu, 05 May 2016 23:25:34 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -292,10 +294,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:35 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: @@ -303,9 +305,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:34 GMT'] - ETag: ['"0x8D36FAB5B6BEE63"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:35 GMT'] + Date: ['Thu, 05 May 2016 23:25:33 GMT'] + ETag: ['"0x8D3753C8EF3518C"'] + Last-Modified: ['Thu, 05 May 2016 23:25:34 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -322,41 +324,49 @@ interactions: User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-blob-content-length: ['512'] x-ms-blob-type: [PageBlob] - x-ms-date: ['Thu, 28 Apr 2016 21:23:35 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:35 GMT'] - ETag: ['"0x8D36FAB5BAF48C2"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:35 GMT'] + Date: ['Thu, 05 May 2016 23:25:34 GMT'] + ETag: ['"0x8D3753C8F3F38FF"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: - body: 'This is a test file for performance of automated tests. DO NOT MOVE OR - DELETE! ' + body: !!binary | + VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE + TyBOT1QgTU9WRSBPUiBERUxFVEUhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= headers: Accept-Encoding: [identity] Connection: [keep-alive] Content-Length: ['512'] - If-Match: ['"0x8D36FAB5BAF48C2"'] + If-Match: ['"0x8D3753C8F3F38FF"'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:35 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] x-ms-page-write: [update] x-ms-range: [bytes=0-511] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?comp=page&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?comp=page&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: Content-MD5: [JKbxCPFguN3PtJpiW3lCrQ==] - Date: ['Thu, 28 Apr 2016 21:23:35 GMT'] - ETag: ['"0x8D36FAB5BB739DE"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:35 GMT'] + Date: ['Thu, 05 May 2016 23:25:34 GMT'] + ETag: ['"0x8D3753C8F4506B3"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-sequence-number: ['0'] x-ms-version: ['2015-04-05'] @@ -367,19 +377,19 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:35 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['512'] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:35 GMT'] - ETag: ['"0x8D36FAB5BB739DE"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:35 GMT'] + Date: ['Thu, 05 May 2016 23:25:34 GMT'] + ETag: ['"0x8D3753C8F4506B3"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-sequence-number: ['0'] x-ms-blob-type: [PageBlob] @@ -394,14 +404,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:35 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:36 GMT'] + Date: ['Thu, 05 May 2016 23:25:34 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified blob does not exist.} @@ -413,37 +423,39 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-blob-type: [AppendBlob] - x-ms-date: ['Thu, 28 Apr 2016 21:23:36 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:36 GMT'] - ETag: ['"0x8D36FAB5BF95B5D"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:36 GMT'] + Date: ['Thu, 05 May 2016 23:25:34 GMT'] + ETag: ['"0x8D3753C8F850490"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: - body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! + body: !!binary | + VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE + TyBOT1QgTU9WRSBPUiBERUxFVEUh headers: Accept-Encoding: [identity] Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:36 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 28 Apr 2016 21:23:36 GMT'] - ETag: ['"0x8D36FAB5C017390"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:36 GMT'] + Date: ['Thu, 05 May 2016 23:25:34 GMT'] + ETag: ['"0x8D3753C8F8AF95C"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-append-offset: ['0'] x-ms-blob-committed-block-count: ['1'] @@ -455,19 +467,19 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:36 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:35 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:35 GMT'] - ETag: ['"0x8D36FAB5C017390"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:36 GMT'] + Date: ['Thu, 05 May 2016 23:25:35 GMT'] + ETag: ['"0x8D3753C8F8AF95C"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-committed-block-count: ['1'] x-ms-blob-type: [AppendBlob] @@ -477,23 +489,25 @@ interactions: x-ms-write-protection: ['false'] status: {code: 200, message: OK} - request: - body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! + body: !!binary | + VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE + TyBOT1QgTU9WRSBPUiBERUxFVEUh headers: Accept-Encoding: [identity] Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:36 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:35 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 28 Apr 2016 21:23:37 GMT'] - ETag: ['"0x8D36FAB5C29C580"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:36 GMT'] + Date: ['Thu, 05 May 2016 23:25:35 GMT'] + ETag: ['"0x8D3753C8FAEB631"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-append-offset: ['78'] x-ms-blob-committed-block-count: ['2'] @@ -505,19 +519,19 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:36 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:35 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['156'] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:36 GMT'] - ETag: ['"0x8D36FAB5C29C580"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:36 GMT'] + Date: ['Thu, 05 May 2016 23:25:36 GMT'] + ETag: ['"0x8D3753C8FAEB631"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-committed-block-count: ['2'] x-ms-blob-type: [AppendBlob] @@ -533,18 +547,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:36 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:36 GMT'] - ETag: ['"0x8D36FAB5C7C1771"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:37 GMT'] + ETag: ['"0x8D3753C90D4DBF3"'] + Last-Modified: ['Thu, 05 May 2016 23:25:37 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -554,16 +568,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:37 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:36 GMT'] - ETag: ['"0x8D36FAB5C7C1771"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:37 GMT'] + ETag: ['"0x8D3753C90D4DBF3"'] + Last-Modified: ['Thu, 05 May 2016 23:25:37 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -576,16 +590,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:37 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:36 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:36 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -595,16 +609,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:37 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:37 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:37 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -614,27 +628,27 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:37 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=list&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: "\uFEFFtestappendblobThu,\ - \ 28 Apr 2016 21:23:36 GMT0x8D36FAB5C29C580156application/octet-stream0x8D3753C8FAEB631156application/octet-streamAppendBlobunlockedavailabletestblockblobThu,\ - \ 28 Apr 2016 21:23:37 GMT0x8D36FAB5CDC4F5A78application/octet-stream0x8D3753C910E218578application/octet-streamzeGiTMG1TdAobIHawzap3A==BlockBlobunlockedavailabletestpageblobThu,\ - \ 28 Apr 2016 21:23:35 GMT0x8D36FAB5BB739DE512application/octet-stream0x8D3753C8F4506B3512application/octet-stream0PageBlobunlockedavailable"} headers: Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:23:38 GMT'] + Date: ['Thu, 05 May 2016 23:25:36 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -644,10 +658,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:38 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: @@ -655,9 +669,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:38 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:38 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -671,11 +685,11 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:38 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] x-ms-range: [bytes=None-] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE!} @@ -684,9 +698,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:38 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:38 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -702,19 +716,19 @@ interactions: Content-Length: ['0'] If-Modified-Since: ['Fri, 01 Apr 2016 12:00:00 GMT'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:38 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] x-ms-lease-action: [acquire] x-ms-lease-duration: ['60'] x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:38 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:38 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-version: ['2015-04-05'] @@ -725,10 +739,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:39 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: @@ -736,9 +750,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:38 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:38 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-duration: [fixed] @@ -754,19 +768,19 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:39 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] x-ms-lease-action: [change] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-proposed-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:39 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:38 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] @@ -778,18 +792,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:39 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] x-ms-lease-action: [renew] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:39 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:38 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] @@ -800,10 +814,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:39 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: @@ -811,9 +825,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:39 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:38 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-duration: [fixed] @@ -829,18 +843,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:40 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] x-ms-lease-action: [break] x-ms-lease-break-period: ['30'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:40 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:38 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-time: ['30'] x-ms-version: ['2015-04-05'] @@ -851,10 +865,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:40 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: @@ -862,9 +876,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:40 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:39 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [breaking] @@ -879,18 +893,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:40 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] x-ms-lease-action: [release] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:40 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:38 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -900,10 +914,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:40 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: @@ -911,9 +925,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:40 GMT'] - ETag: ['"0x8D36FAB5CDC4F5A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:37 GMT'] + Date: ['Thu, 05 May 2016 23:25:40 GMT'] + ETag: ['"0x8D3753C910E2185"'] + Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -928,18 +942,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:40 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=snapshot&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=snapshot&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:40 GMT'] - ETag: ['"0x8D36FAB5C29C580"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:36 GMT'] + Date: ['Thu, 05 May 2016 23:25:40 GMT'] + ETag: ['"0x8D3753C8FAEB631"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-snapshot: ['2016-04-28T21:23:41.0925405Z'] + x-ms-snapshot: ['2016-05-05T23:25:40.8456019Z'] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: @@ -948,19 +962,19 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:40 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?snapshot=2016-04-28T21%3A23%3A41.0925405Z&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?snapshot=2016-05-05T23%3A25%3A40.8456019Z&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['156'] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:23:41 GMT'] - ETag: ['"0x8D36FAB5C29C580"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:36 GMT'] + Date: ['Thu, 05 May 2016 23:25:39 GMT'] + ETag: ['"0x8D3753C8FAEB631"'] + Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-committed-block-count: ['2'] x-ms-blob-type: [AppendBlob] @@ -974,14 +988,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:41 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:41 GMT'] + Date: ['Thu, 05 May 2016 23:25:40 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -991,14 +1005,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:42 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:41 GMT'] + Date: ['Thu, 05 May 2016 23:25:40 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified blob does not exist.} @@ -1010,19 +1024,19 @@ interactions: Content-Length: ['0'] If-Modified-Since: ['Fri, 01 Apr 2016 12:00:00 GMT'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:42 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] x-ms-lease-action: [acquire] x-ms-lease-duration: ['60'] x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:41 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:40 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-version: ['2015-04-05'] @@ -1033,16 +1047,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:42 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:41 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:40 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-duration: [fixed] x-ms-lease-state: [leased] @@ -1056,19 +1070,19 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:42 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] x-ms-lease-action: [change] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-proposed-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:42 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:41 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] @@ -1080,18 +1094,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:42 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] x-ms-lease-action: [renew] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:42 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:41 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] @@ -1102,16 +1116,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:43 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:42 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:41 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-duration: [fixed] x-ms-lease-state: [leased] @@ -1125,18 +1139,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:43 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] x-ms-lease-action: [break] x-ms-lease-break-period: ['30'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:43 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:42 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-time: ['30'] x-ms-version: ['2015-04-05'] @@ -1147,16 +1161,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:43 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:42 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:43 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:41 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [breaking] x-ms-lease-status: [locked] @@ -1169,18 +1183,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:43 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:42 GMT'] x-ms-lease-action: [release] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:43 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:42 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -1190,16 +1204,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:43 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:42 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:43 GMT'] - ETag: ['"0x8D36FAB5B1F4635"'] - Last-Modified: ['Thu, 28 Apr 2016 21:23:34 GMT'] + Date: ['Thu, 05 May 2016 23:25:42 GMT'] + ETag: ['"0x8D3753C8E6BE520"'] + Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -1212,14 +1226,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:44 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:42 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:44 GMT'] + Date: ['Thu, 05 May 2016 23:25:42 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -1229,18 +1243,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:44 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:43 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:6a3d9cf7-0001-0026-5d94-a1abc2000000\n\ - Time:2016-04-28T21:23:44.4381783Z"} + \ specified container does not exist.\nRequestId:e7e4d59d-0001-0027-7625-a7aa3f000000\n\ + Time:2016-05-05T23:25:43.7678801Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:23:44 GMT'] + Date: ['Thu, 05 May 2016 23:25:43 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -1251,14 +1265,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:23:44 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:43 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=DXEhmXNueDPcr4tqF/lUNRO5Ol8LG24Jp%2BbKgfcf7yk%3D&srt=sco&ss=b + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:23:45 GMT'] + Date: ['Thu, 05 May 2016 23:25:43 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml index 52016b5dd5a..253b382c237 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml @@ -17,21 +17,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn10ffDV7OnOwfNsfu9u+2Ln23enT04ufnL/y9/r/g+eXM5/+qc///z+w2K9eLJ6s7x6kD// - fa5efHI+efPtdf5g9frB8tVPXczmVXVa/PRe9vs8mB1/9+ynn9SvVsefffbRCD3sUQ/PLrL809/7 - k4flq+m910/3jn+fs1dvvvPF7vnuk5ev6rc/sXtFGHx6OWtX65frvfze04PpT73Mp7/38fKTq+Xv - /d2nn5fr+z/14tvPf/DpvS/zq+P7X7yb/WD9iy6oh1+S/D/CxaBYxgAAAA== + 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 + +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9TD+vPlySev + v1yf1M0v+u7D5jvPf3L9cLrzE9OXn16f7f1E8/T8F02qF4unTye/9+fX3/npp6vj69Xlsy/bB7/P + D96u580XF3svvn39E8c/9e1Vc/H5zrMHixfN/rOfQg+/JPl/AEJAdpzGAAAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 28 Apr 2016 21:15:13 GMT'] + Date: ['Thu, 05 May 2016 23:25:57 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -40,18 +40,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:14 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:57 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: "\uFEFFShareNotFoundThe\ - \ specified share does not exist.\nRequestId:9fb75069-001a-013e-0193-a1c002000000\n\ - Time:2016-04-28T21:15:15.4182901Z"} + \ specified share does not exist.\nRequestId:8835db61-001a-00dc-5825-a76225000000\n\ + Time:2016-05-05T23:25:58.7085973Z"} headers: Content-Length: ['217'] Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:15:14 GMT'] + Date: ['Thu, 05 May 2016 23:25:58 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified share does not exist.} @@ -62,18 +62,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:15 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:58 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: "\uFEFFShareNotFoundThe\ - \ specified share does not exist.\nRequestId:02977755-001a-00ce-6d93-a15639000000\n\ - Time:2016-04-28T21:15:15.6813839Z"} + \ specified share does not exist.\nRequestId:4e635b48-001a-00cf-4525-a757c4000000\n\ + Time:2016-05-05T23:25:58.4368967Z"} headers: Content-Length: ['217'] Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:15:14 GMT'] + Date: ['Thu, 05 May 2016 23:25:58 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified share does not exist.} @@ -84,16 +84,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:15 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:58 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:15 GMT'] - ETag: ['"0x8D36FAA31A47710"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:15 GMT'] + Date: ['Thu, 05 May 2016 23:25:58 GMT'] + ETag: ['"0x8D3753C9D7FA7F1"'] + Last-Modified: ['Thu, 05 May 2016 23:25:59 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -104,18 +104,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:15 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:58 GMT'] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:15 GMT'] - ETag: ['"0x8D36FAA31CFA378"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:16 GMT'] + Date: ['Thu, 05 May 2016 23:25:58 GMT'] + ETag: ['"0x8D3753C9DBA4664"'] + Last-Modified: ['Thu, 05 May 2016 23:25:59 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -125,16 +125,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:15 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:58 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:15 GMT'] - ETag: ['"0x8D36FAA31A47710"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:15 GMT'] + Date: ['Thu, 05 May 2016 23:25:58 GMT'] + ETag: ['"0x8D3753C9D7FA7F1"'] + Last-Modified: ['Thu, 05 May 2016 23:25:59 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-share-quota: ['5120'] x-ms-version: ['2015-04-05'] @@ -145,16 +145,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:15 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:59 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:16 GMT'] - ETag: ['"0x8D36FAA31CFA378"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:16 GMT'] + Date: ['Thu, 05 May 2016 23:25:59 GMT'] + ETag: ['"0x8D3753C9DBA4664"'] + Last-Modified: ['Thu, 05 May 2016 23:25:59 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] @@ -166,21 +166,21 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:16 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:59 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/?comp=list&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/?comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: "\uFEFFtestshareTue, 26 Apr\ \ 2016 21:20:42 GMT\"0x8D36E189FD7EB3F\"5120testshare01Thu,\ - \ 28 Apr 2016 21:15:15 GMT\"0x8D36FAA31A47710\"5120testshare02Thu,\ - \ 28 Apr 2016 21:15:16 GMT\"0x8D36FAA31CFA378\"5120\"0x8D3753C9D7FA7F1\"5120testshare02Thu,\ + \ 05 May 2016 23:25:59 GMT\"0x8D3753C9DBA4664\"5120"} headers: Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:15:15 GMT'] + Date: ['Thu, 05 May 2016 23:25:59 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -191,18 +191,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:16 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:25:59 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:17 GMT'] - ETag: ['"0x8D36FAA32708B9E"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:17 GMT'] + Date: ['Thu, 05 May 2016 23:25:59 GMT'] + ETag: ['"0x8D3753C9E524C9D"'] + Last-Modified: ['Thu, 05 May 2016 23:26:00 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -212,16 +212,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:17 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:00 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:17 GMT'] - ETag: ['"0x8D36FAA32708B9E"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:17 GMT'] + Date: ['Thu, 05 May 2016 23:26:00 GMT'] + ETag: ['"0x8D3753C9E524C9D"'] + Last-Modified: ['Thu, 05 May 2016 23:26:00 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -234,16 +234,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:17 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:00 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:17 GMT'] - ETag: ['"0x8D36FAA32D1125D"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:17 GMT'] + Date: ['Thu, 05 May 2016 23:25:59 GMT'] + ETag: ['"0x8D3753C9EA9F7B3"'] + Last-Modified: ['Thu, 05 May 2016 23:26:00 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -253,16 +253,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:17 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:00 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:17 GMT'] - ETag: ['"0x8D36FAA32D1125D"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:17 GMT'] + Date: ['Thu, 05 May 2016 23:26:00 GMT'] + ETag: ['"0x8D3753C9EA9F7B3"'] + Last-Modified: ['Thu, 05 May 2016 23:26:00 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -273,17 +273,17 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:18 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:00 GMT'] x-ms-share-quota: ['3'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=properties&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=properties&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:18 GMT'] - ETag: ['"0x8D36FAA3321DE00"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:18 GMT'] + Date: ['Thu, 05 May 2016 23:26:00 GMT'] + ETag: ['"0x8D3753C9EFCBFA3"'] + Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -293,16 +293,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:18 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:01 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:17 GMT'] - ETag: ['"0x8D36FAA3321DE00"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:18 GMT'] + Date: ['Thu, 05 May 2016 23:26:01 GMT'] + ETag: ['"0x8D3753C9EFCBFA3"'] + Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-share-quota: ['3'] x-ms-version: ['2015-04-05'] @@ -315,40 +315,42 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-content-length: ['78'] - x-ms-date: ['Thu, 28 Apr 2016 21:15:18 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:01 GMT'] x-ms-type: [file] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:19 GMT'] - ETag: ['"0x8D36FAA33F0F7BA"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:19 GMT'] + Date: ['Thu, 05 May 2016 23:26:01 GMT'] + ETag: ['"0x8D3753C9EFD416F"'] + Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: - body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! + body: !!binary | + VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE + TyBOT1QgTU9WRSBPUiBERUxFVEUh headers: Accept-Encoding: [identity] Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:19 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:01 GMT'] x-ms-range: [bytes=0-77] x-ms-version: ['2015-04-05'] x-ms-write: [update] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=range&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=range&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 28 Apr 2016 21:15:19 GMT'] - ETag: ['"0x8D36FAA340287D2"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:19 GMT'] + Date: ['Thu, 05 May 2016 23:26:01 GMT'] + ETag: ['"0x8D3753C9F0707C5"'] + Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -358,18 +360,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:19 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:01 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:15:19 GMT'] - ETag: ['"0x8D36FAA340287D2"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:19 GMT'] + Date: ['Thu, 05 May 2016 23:26:01 GMT'] + ETag: ['"0x8D3753C9F0707C5"'] + Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -380,11 +382,11 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:19 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:02 GMT'] x-ms-range: [bytes=None-] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE!} @@ -392,9 +394,9 @@ interactions: Accept-Ranges: [bytes] Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:15:19 GMT'] - ETag: ['"0x8D36FAA340287D2"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:19 GMT'] + Date: ['Thu, 05 May 2016 23:26:01 GMT'] + ETag: ['"0x8D3753C9F0707C5"'] + Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -407,16 +409,16 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-content-length: ['1234'] - x-ms-date: ['Thu, 28 Apr 2016 21:15:19 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:02 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=properties&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=properties&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:19 GMT'] - ETag: ['"0x8D36FAA34758780"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:20 GMT'] + Date: ['Thu, 05 May 2016 23:26:02 GMT'] + ETag: ['"0x8D3753C9F7797F3"'] + Last-Modified: ['Thu, 05 May 2016 23:26:02 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -426,18 +428,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:20 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:02 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: Content-Length: ['1234'] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:15:19 GMT'] - ETag: ['"0x8D36FAA34758780"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:20 GMT'] + Date: ['Thu, 05 May 2016 23:26:04 GMT'] + ETag: ['"0x8D3753C9F7797F3"'] + Last-Modified: ['Thu, 05 May 2016 23:26:02 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -449,18 +451,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:20 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:03 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:19 GMT'] - ETag: ['"0x8D36FAA34D0DB3A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:21 GMT'] + Date: ['Thu, 05 May 2016 23:26:04 GMT'] + ETag: ['"0x8D3753CA0756EF5"'] + Last-Modified: ['Thu, 05 May 2016 23:26:03 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -470,16 +472,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:20 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:04 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:21 GMT'] - ETag: ['"0x8D36FAA34D0DB3A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:21 GMT'] + Date: ['Thu, 05 May 2016 23:26:03 GMT'] + ETag: ['"0x8D3753CA0756EF5"'] + Last-Modified: ['Thu, 05 May 2016 23:26:03 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -492,16 +494,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:20 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:04 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:20 GMT'] - ETag: ['"0x8D36FAA351EE58C"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:21 GMT'] + Date: ['Thu, 05 May 2016 23:26:04 GMT'] + ETag: ['"0x8D3753CA0CB44C5"'] + Last-Modified: ['Thu, 05 May 2016 23:26:04 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -511,16 +513,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:21 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:04 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:20 GMT'] - ETag: ['"0x8D36FAA351EE58C"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:21 GMT'] + Date: ['Thu, 05 May 2016 23:26:04 GMT'] + ETag: ['"0x8D3753CA0CB44C5"'] + Last-Modified: ['Thu, 05 May 2016 23:26:04 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -530,10 +532,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:21 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=directory&comp=list&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=directory&comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: "\uFEFF"} headers: Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:15:21 GMT'] + Date: ['Thu, 05 May 2016 23:26:04 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -552,14 +554,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:21 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:20 GMT'] + Date: ['Thu, 05 May 2016 23:26:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -569,14 +571,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:21 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:22 GMT'] + Date: ['Thu, 05 May 2016 23:26:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified resource does not exist.} @@ -587,16 +589,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:21 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:21 GMT'] - ETag: ['"0x8D36FAA35CCB16B"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:22 GMT'] + Date: ['Thu, 05 May 2016 23:26:05 GMT'] + ETag: ['"0x8D3753CA18F603A"'] + Last-Modified: ['Thu, 05 May 2016 23:26:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -606,16 +608,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:22 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:22 GMT'] - ETag: ['"0x8D36FAA35CCB16B"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:22 GMT'] + Date: ['Thu, 05 May 2016 23:26:05 GMT'] + ETag: ['"0x8D3753CA18F603A"'] + Last-Modified: ['Thu, 05 May 2016 23:26:05 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -626,18 +628,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:22 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:06 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:21 GMT'] - ETag: ['"0x8D36FAA362B130F"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:23 GMT'] + Date: ['Thu, 05 May 2016 23:26:06 GMT'] + ETag: ['"0x8D3753CA1EADCB0"'] + Last-Modified: ['Thu, 05 May 2016 23:26:06 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -647,16 +649,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:22 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:06 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:22 GMT'] - ETag: ['"0x8D36FAA362B130F"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:23 GMT'] + Date: ['Thu, 05 May 2016 23:26:06 GMT'] + ETag: ['"0x8D3753CA1EADCB0"'] + Last-Modified: ['Thu, 05 May 2016 23:26:06 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -668,16 +670,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:23 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:06 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:23 GMT'] - ETag: ['"0x8D36FAA362B130F"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:23 GMT'] + Date: ['Thu, 05 May 2016 23:26:05 GMT'] + ETag: ['"0x8D3753CA1EADCB0"'] + Last-Modified: ['Thu, 05 May 2016 23:26:06 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -690,16 +692,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:23 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:23 GMT'] - ETag: ['"0x8D36FAA36A0D27A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:24 GMT'] + Date: ['Thu, 05 May 2016 23:26:07 GMT'] + ETag: ['"0x8D3753CA25FB3AA"'] + Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -709,16 +711,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:23 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:23 GMT'] - ETag: ['"0x8D36FAA36A0D27A"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:24 GMT'] + Date: ['Thu, 05 May 2016 23:26:07 GMT'] + ETag: ['"0x8D3753CA25FB3AA"'] + Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -730,40 +732,42 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-content-length: ['78'] - x-ms-date: ['Thu, 28 Apr 2016 21:15:23 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] x-ms-type: [file] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:22 GMT'] - ETag: ['"0x8D36FAA36F71C07"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:24 GMT'] + Date: ['Thu, 05 May 2016 23:26:07 GMT'] + ETag: ['"0x8D3753CA29F8B2A"'] + Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: - body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! + body: !!binary | + VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE + TyBOT1QgTU9WRSBPUiBERUxFVEUh headers: Accept-Encoding: [identity] Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:24 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] x-ms-range: [bytes=0-77] x-ms-version: ['2015-04-05'] x-ms-write: [update] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?comp=range&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?comp=range&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 28 Apr 2016 21:15:23 GMT'] - ETag: ['"0x8D36FAA3703058E"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:24 GMT'] + Date: ['Thu, 05 May 2016 23:26:07 GMT'] + ETag: ['"0x8D3753CA2A61C68"'] + Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -773,18 +777,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:24 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:15:23 GMT'] - ETag: ['"0x8D36FAA3703058E"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:24 GMT'] + Date: ['Thu, 05 May 2016 23:26:07 GMT'] + ETag: ['"0x8D3753CA2A61C68"'] + Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -795,11 +799,11 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:24 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] x-ms-range: [bytes=None-] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE!} @@ -807,9 +811,9 @@ interactions: Accept-Ranges: [bytes] Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 28 Apr 2016 21:15:24 GMT'] - ETag: ['"0x8D36FAA3703058E"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:24 GMT'] + Date: ['Thu, 05 May 2016 23:26:07 GMT'] + ETag: ['"0x8D3753CA2A61C68"'] + Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -820,10 +824,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:24 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=list&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: "\uFEFF"} headers: Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:15:23 GMT'] + Date: ['Thu, 05 May 2016 23:26:08 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -841,15 +845,15 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:24 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=stats&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=stats&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: "\uFEFF1"} headers: Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:15:24 GMT'] + Date: ['Thu, 05 May 2016 23:26:09 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -860,14 +864,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:25 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:23 GMT'] + Date: ['Thu, 05 May 2016 23:26:08 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -877,14 +881,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:25 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:26 GMT'] + Date: ['Thu, 05 May 2016 23:26:08 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified resource does not exist.} @@ -895,14 +899,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:25 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:09 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:25 GMT'] + Date: ['Thu, 05 May 2016 23:26:09 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -912,18 +916,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:25 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:09 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: "\uFEFFResourceNotFoundThe\ - \ specified resource does not exist.\nRequestId:18203a7c-001a-0038-2f93-a1712f000000\n\ - Time:2016-04-28T21:15:26.6200828Z"} + \ specified resource does not exist.\nRequestId:8c7f85ae-001a-0105-5925-a7825c000000\n\ + Time:2016-05-05T23:26:10.4085195Z"} headers: Content-Length: ['223'] Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:15:25 GMT'] + Date: ['Thu, 05 May 2016 23:26:09 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified resource does not exist.} @@ -934,18 +938,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:26 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:25 GMT'] - ETag: ['"0x8D36FAA3837F9DA"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:26 GMT'] + Date: ['Thu, 05 May 2016 23:26:09 GMT'] + ETag: ['"0x8D3753CA4156E30"'] + Last-Modified: ['Thu, 05 May 2016 23:26:10 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -955,16 +959,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:26 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&comp=metadata&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:25 GMT'] - ETag: ['"0x8D36FAA3837F9DA"'] - Last-Modified: ['Thu, 28 Apr 2016 21:15:26 GMT'] + Date: ['Thu, 05 May 2016 23:26:10 GMT'] + ETag: ['"0x8D3753CA4156E30"'] + Last-Modified: ['Thu, 05 May 2016 23:26:10 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] @@ -977,14 +981,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:26 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:27 GMT'] + Date: ['Thu, 05 May 2016 23:26:10 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -994,16 +998,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:26 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/?restype=service&comp=properties&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/?restype=service&comp=properties&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: "\uFEFF1.0truetruetrue71.0falsefalse"} headers: Content-Type: [application/xml] - Date: ['Thu, 28 Apr 2016 21:15:26 GMT'] + Date: ['Thu, 05 May 2016 23:26:10 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -1014,14 +1018,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:27 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:27 GMT'] + Date: ['Thu, 05 May 2016 23:26:11 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -1032,14 +1036,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 28 Apr 2016 21:15:27 GMT'] + x-ms-date: ['Thu, 05 May 2016 23:26:11 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&ss=f&sv=2015-04-05&sig=Xq2hIKVSq18%2B5BVj7dxxr7J30UNYNmRDrJ4dw6cAb14%3D&se=2100-01-01T00%3A00Z&srt=sco + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D response: body: {string: ''} headers: - Date: ['Thu, 28 Apr 2016 21:15:27 GMT'] + Date: ['Thu, 05 May 2016 23:26:11 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res index cfdae6562de..5f30569eec1 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res @@ -1,6 +1,4 @@ { "test_vm_images_list_by_aliases": "", - "test_vm_images_list_thru_services": "", - "test_vm_list_from_group": "Availability Set : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/XPLATTESTGEXTENSION9085/providers/Microsoft.Compute/virtualMachines/xplatvmExt1314\nInstance View : None\nLicense Type : None\nLocation : southeastasia\nName : xplatvmExt1314\nPlan : None\nProvisioning State : Succeeded\nResource Group : XPLATTESTGEXTENSION9085\nResources : None\nType : Microsoft.Compute/virtualMachines\nDiagnostics Profile :\n Boot Diagnostics :\n Enabled : True\n Storage Uri : https://xplatstoragext4633.blob.core.windows.net/\nHardware Profile :\n Vm Size : Standard_A1\nNetwork Profile :\n Network Interfaces :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085/providers/Microsoft.Network/networkInterfaces/xplatnicExt4843\n Primary : None\n Resource Group : xplatTestGExtension9085\nOs Profile :\n Admin Password : None\n Admin Username : azureuser\n Computer Name : xplatvmExt1314\n Custom Data : None\n Linux Configuration : None\n Secrets :\n None\n Windows Configuration :\n Additional Unattend Content : None\n Enable Automatic Updates : True\n Provision Vm Agent : True\n Time Zone : None\n Win Rm : None\nStorage Profile :\n Data Disks :\n None\n Image Reference :\n Offer : WindowsServerEssentials\n Publisher : MicrosoftWindowsServerEssentials\n Sku : WindowsServerEssentials\n Version : 1.0.20131018\n Os Disk :\n Caching : ReadWrite\n Create Option : fromImage\n Disk Size Gb : None\n Encryption Settings : None\n Image : None\n Name : cli1eaed78b36def353-os-1453419539945\n Os Type : Windows\n Vhd :\n Uri : https://xplatstoragext4633.blob.core.windows.net/xplatstoragecntext1789/cli1eaed78b36def353-os-1453419539945.vhd\nTags :\n None\n\n\n", - "test_vm_usage_list_westus": "[\n {\n \"currentValue\": 0,\n \"limit\": 2000,\n \"name\": {\n \"localizedValue\": \"Availability Sets\",\n \"value\": \"availabilitySets\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 7,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Total Regional Cores\",\n \"value\": \"cores\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 5,\n \"limit\": 10000,\n \"name\": {\n \"localizedValue\": \"Virtual Machines\",\n \"value\": \"virtualMachines\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Virtual Machine Scale Sets\",\n \"value\": \"virtualMachineScaleSets\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 1,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Standard D Family Cores\",\n \"value\": \"standardDFamily\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 6,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Standard A0-A7 Family Cores\",\n \"value\": \"standardA0_A7Family\"\n },\n \"unit\": \"Count\"\n }\n]\n" + "test_vm_usage_list_westus": "[\n {\n \"currentValue\": 1,\n \"limit\": 2000,\n \"name\": {\n \"localizedValue\": \"Availability Sets\",\n \"value\": \"availabilitySets\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 30,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Total Regional Cores\",\n \"value\": \"cores\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 19,\n \"limit\": 10000,\n \"name\": {\n \"localizedValue\": \"Virtual Machines\",\n \"value\": \"virtualMachines\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Virtual Machine Scale Sets\",\n \"value\": \"virtualMachineScaleSets\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 1,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Standard D Family Cores\",\n \"value\": \"standardDFamily\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 27,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Standard A0-A7 Family Cores\",\n \"value\": \"standardA0_A7Family\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 2,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Basic A Family Cores\",\n \"value\": \"basicAFamily\"\n },\n \"unit\": \"Count\"\n }\n]\n" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_by_aliases.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_by_aliases.yaml index ff652150a66..e23ac173c72 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_by_aliases.yaml +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_by_aliases.yaml @@ -52,9 +52,9 @@ interactions: Content-Length: ['2297'] Content-Security-Policy: [default-src 'none'; style-src 'unsafe-inline'] Content-Type: [text/plain; charset=utf-8] - Date: ['Tue, 03 May 2016 03:40:49 GMT'] + Date: ['Thu, 05 May 2016 23:26:24 GMT'] ETag: ['"db78eb36618a060181b32ac2de91b1733f382e01"'] - Expires: ['Tue, 03 May 2016 03:45:49 GMT'] + Expires: ['Thu, 05 May 2016 23:31:24 GMT'] Source-Age: ['0'] Strict-Transport-Security: [max-age=31536000] Vary: ['Authorization,Accept-Encoding'] @@ -62,10 +62,10 @@ interactions: X-Cache: [MISS] X-Cache-Hits: ['0'] X-Content-Type-Options: [nosniff] - X-Fastly-Request-ID: [13192701239be1866c66d0f0c6155cadff9d7f9d] + X-Fastly-Request-ID: [e19b8c82d24a6e181b8a90594e5dfb3a70d99bc2] X-Frame-Options: [deny] - X-GitHub-Request-Id: ['17EB2F14:6091:7F1D34B:57281DC1'] - X-Served-By: [cache-sjc3122-SJC] + X-GitHub-Request-Id: ['17EB2814:6458:4D537D4:572BD6A0'] + X-Served-By: [cache-ord1733-ORD] X-XSS-Protection: [1; mode=block] status: {code: 200, message: OK} version: 1 diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml deleted file mode 100644 index bccff84ac62..00000000000 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml +++ /dev/null @@ -1,363 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.0 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 computemanagementclient/2015-06-15 - Azure-SDK-For-Python AZURECLI_0.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers?api-version=2015-06-15 - response: - body: - string: !!binary | - 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 - headers: - Cache-Control: [no-cache] - Content-Encoding: [gzip] - Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 03 May 2016 03:52:45 GMT'] - Expires: ['-1'] - Pragma: [no-cache] - Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - Vary: [Accept-Encoding] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.0 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 computemanagementclient/2015-06-15 - Azure-SDK-For-Python AZURECLI_0.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers?api-version=2015-06-15 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp - +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8VeT9bJd794f7+y/Xmar1bVtUczw/d3X60kz - rYsV4DR3dya755/uP9jd3p2c72zvz2bZdpZP721PJw/3Huyd7zy8/3Dn7su6uixmed3c/aKY1lVT - nbfjk2qxWrf53eeKUnNXELr7cj0pi2aO1ifZsloW06y8e1y3xXk2bd9cr/Lm7k9+cbbILvK7X56f - o1kfZWD8SxjvDxn502r6Nq9tu//vjF8RB95fkwp1VZbF8kLA2Tb/L6dAiDRw/pqjf53Xl0Q/8+X/ - y4et2ALZrzne319I9vufVHVum/y/fNQBzkD5Gxj776+CY1r+f4gEBnVg/kt+4+T7/w+0FbQ39wUA - AA== - headers: - Cache-Control: [no-cache] - Content-Encoding: [gzip] - Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 03 May 2016 03:52:45 GMT'] - Expires: ['-1'] - Pragma: [no-cache] - Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - Vary: [Accept-Encoding] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.0 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 computemanagementclient/2015-06-15 - Azure-SDK-For-Python AZURECLI_0.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core/skus?api-version=2015-06-15 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp - +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8e798c6+/bSY4bO7r9eTZloXK7zb3N2Z7J5/ - uv9gd3t3cr6zvT+bZdtZPr23PZ083Huwd77z8P7Dnbsv6+qymOV1c/eLYlpXTXXejk+qxWrd5nef - KxrNXUHi7sv1pCyaOVqfZMtqWUyz8u5x3Rbn2bR9c73Km7s/+cXZIrvI7355fo5mX03Wy3b9+79e - ZqvV9e9/UtX53ddvCZKgD+x/CY/hPUb+qirLYnlhP///3NjNAID/L/mNk+//P29+Lmz7AQAA - headers: - Cache-Control: [no-cache] - Content-Encoding: [gzip] - Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 03 May 2016 03:52:45 GMT'] - Expires: ['-1'] - Pragma: [no-cache] - Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - Vary: [Accept-Encoding] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.0 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 computemanagementclient/2015-06-15 - Azure-SDK-For-Python AZURECLI_0.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core/skus/15.04/versions?api-version=2015-06-15 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp - +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8d7O7v3xzsHew/HOp/fv2a+LGb68+3o9aaZ1 - sQKQ5u7OZPf80/0Hu9u7k/Od7f3ZLNvO8um97enk4d6DvfOdh/cf7tx9WVeXxSyvm7tfFNO6aqrz - dnxSLVbrNr/7XPFp7go2d1+uJ2XRzNH6JFtWy2KalXeP67Y4z6btm+tV3tz9yS/OFtlFfvfL83M0 - +2qyXrbr3//1Mlutrn//k6rO775+S5Awiv27P0lNGH5nWBjVL+GxvTdpHu7tj3cP7t+3X///gzR2 - WBjV1yHNp+OdPcAAec3X/z8gjT8sjOprk+b+mP7//z/S6LAwqq9NmofjvR2CYb7+/wtpdFgY1dck - zb3dg/Hug/t79uv/f5DGDguj+hDSPNx/aL/+/xFpMCyM6pf8xsn3/x81FIciwAcAAA== - headers: - Cache-Control: [no-cache] - Content-Encoding: [gzip] - Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 03 May 2016 03:52:46 GMT'] - Expires: ['-1'] - Pragma: [no-cache] - Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - Vary: [Accept-Encoding] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.0 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 computemanagementclient/2015-06-15 - Azure-SDK-For-Python AZURECLI_0.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core/skus/Rolling/versions?api-version=2015-06-15 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73/f8H - KbtMDQIAAAA= - headers: - Cache-Control: [no-cache] - Content-Encoding: [gzip] - Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 03 May 2016 03:52:46 GMT'] - Expires: ['-1'] - Pragma: [no-cache] - Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - Vary: [Accept-Encoding] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.0 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 computemanagementclient/2015-06-15 - Azure-SDK-For-Python AZURECLI_0.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core_Docker/skus?api-version=2015-06-15 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp - +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8e798c6+/bSY4bO7r9eTZloXK7zb3N2Z7J5/ - uv9gd3t3cr6zvT+bZdtZPr23PZ083Huwd77z8P7Dnbsv6+qymOV1c/eLYlpXTXXejk+qxWrd5nef - KxrNXUHi7sv1pCyaOVqfZMtqWUyz8u5x3Rbn2bR9c73Km7s/+cXZIrvI7355fo5mX03Wy3b9+79e - ZqvV9e9/UtX57/+0mr7N67uv3xJAGQUG8Ut+4+T7/w9aDaNvBAEAAA== - headers: - Cache-Control: [no-cache] - Content-Encoding: [gzip] - Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 03 May 2016 03:52:47 GMT'] - Expires: ['-1'] - Pragma: [no-cache] - Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - Vary: [Accept-Encoding] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.0 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 computemanagementclient/2015-06-15 - Azure-SDK-For-Python AZURECLI_0.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core_Docker/skus/15.04/versions?api-version=2015-06-15 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp - +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8d7O7v3xzoOdg/Huw90H9utihi/vvl5Pmmld - rACkubsz2T3/dP/B7vbu5Hxne382y7azfHpvezp5uPdg73zn4f2HO3df1tVlMcvr5u4XxbSumuq8 - HZ9Ui9W6ze8+V3yau4LN3ZfrSVk0c7Q+yZbVsphm5d3jui3Os2n75nqVN3d/8ouzRXaR3/3y/BzN - vpqsl+3693+9zFar69//pKrz3/9pNX2b13dfvyWAGMz+3Z+kltxNZ3QY3C/hIb43hQ72DsZ79/Y/ - tV///4pCdnQY3C/5jZPv/z+2HDgHRwIAAA== - headers: - Cache-Control: [no-cache] - Content-Encoding: [gzip] - Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 03 May 2016 03:52:47 GMT'] - Expires: ['-1'] - Pragma: [no-cache] - Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - Vary: [Accept-Encoding] - status: {code: 200, message: OK} -version: 1 diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_from_group.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_from_group.yaml deleted file mode 100644 index 59227b10076..00000000000 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_from_group.yaml +++ /dev/null @@ -1,45 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.0 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 computemanagementclient/2015-06-15 - Azure-SDK-For-Python AZURECLI_0.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/XPLATTESTGEXTENSION9085/providers/Microsoft.Compute/virtualMachines?api-version=2015-06-15 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOejVV2t8rot8oa+tR/TF5eLsxl99NFOtv/pg08PZtvZ/f397f3Z/nQ7 - O59Ntx/ufXp/d3fnXp7vfvrRyHtxntWzq6zOX9bVeVGiUw8sfX+5eF38AB9/9LrNljNq/fsf737k - mvwSH1jTVnV2MQirWNCXr/LzvM6X097X1GC1npRFM89r+u6jL4ppXTXVefvdYjmrrprXeX2Z16dN - ky/bIisbfxh4PqrOCTLevO0Lzdv1+zSnb5uiWuKV3fHOeG9n997uzu6BR4yQHPRK1Twtmrf0Rnek - VfPmegUSmN57vS2zBX8/LYvdPMtnDw4m9z6d5ef37t/brprt3f379/Z3H96/9/Dh/v3ey9M6z9r8 - y1Wr+D6rq8UZqN9reTkH33TQo8/XdUGffzRv21Xz6O7dd6sya3V637X7n967N56U1WQ8rep8fCVD - GC/zNmg4XbbUePfBwcO7txnFGLiEiITkJLSm2XReLC+A2qs8m323Lto8eCd846NZ1maYAsjL977v - vvKb0WQMcey0WqzWbV6/0Mng0V0uTmlU93b3Q2J+lM0WxfKrJq/N1GU/WNf5mj7oNFR6nVTL8+Ji - XWc6S0HX1IyE/bIAx/3kF8cXxJTUpK3XeQCLmuXLbFLmx+u2WhCk6VcrGjPrBzT22/pjpveanLik - RcNBwtCEXlX1W4865qMzmtr6PJuio+/9YqBq9dIv/iWjjwpiqo/uNutJM60L5sLm7s5k9/zT/Qe7 - 27uT853t/dks287y6b3t6eTh3oO9852H9x/u3K3zplrX0/zzulqvGuGmN3nTfk4kz5cgxsOdg/t3 - qb/LYkbyeNdqifELwexuD0OBsiymBGP/YP/eR7/k+8EoZ0V2sawaot0gH0yqqn3qmnW/pxYyCzRs - JrsHHo9RjF99TaEKOdz9EQyDaQIKkXyQria5oK5er6fTPJ8RYqale+cjzFL6TUzT7/3y+fGbN6ev - 33x++nu/OX3x+uzLF4PTdCIidfeyqNt1Vn7BAm0mKSJaVhEONmhVk97Yh/dOWU1JWFjsPqKhtPM8 - a9qsKTKvTZtd8EwrwfkHScov+X8AMvMTLaQHAAA= - headers: - Cache-Control: [no-cache] - Content-Encoding: [gzip] - Content-Type: [application/json; charset=utf-8] - Date: ['Fri, 29 Apr 2016 19:53:17 GMT'] - Expires: ['-1'] - Pragma: [no-cache] - Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - Vary: [Accept-Encoding] - status: {code: 200, message: OK} -version: 1 diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_usage_list_westus.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_usage_list_westus.yaml index a217abbeaf8..f79d75b4089 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_usage_list_westus.yaml +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_usage_list_westus.yaml @@ -16,17 +16,17 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/tuG/KYsGv7O3seJ8uswXa - WcD0kenzo+wyK8psUpRFe/06bxvXDbUqq2lWFj/IZ6arj4695im3N81/ifzyS/R929ltR/HAfWNG - sXvbQUyrOr8J8zdVm5Xpq/yiqJb0ywm/Yt74UOTvu2885G+L/mVRt+us/CKbzoslYWXfokb9gfyk - tE5tc9P6QwfhYWsGcd/77PYjeE0o58wc9m1qfONIUn7vm+WqXfeNGRNNjPtw06CaNlvOsnr29Fm2 - KMpr1wk16g/mtbZOn6bS/htmsU/dN197JMc7v//xA8HOdUQNN4zmeGf7+MHmEeHH93/j5Jf8Pwv7 - HijOBAAA + 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/tum/KYsGv7O3s7LhPl9kC + 7Sxg+sj0+VF2mRVlNinKor1+nbeN64ZaldU0K4sf5DPT1UfHXvOU25vmv0R++SX6vu3stqO45yFs + hrF721FMqzq/CfU3VZuV6av8oqiW9MsJv2Le+FDsdx+6rzzsb4v/ZVG366z8IpvOiyWhZd+iRv2R + /KS0Tm1z0/pDR+FhawZx3/vs9iN4TSjnzB72bWp840hSfu+b5auIdNDEuA83Dapps+Usq2dPn2WL + orx2nVCj/mBea+v0aSrtv2Ee23vgvvraQzne+f2PHwh6ridquGE4xzvbxw9+lobkvnnvEU2yppge + C1quB2rRH8oTNE2PN48BP77/Gye/5P8ByP8FdZUFAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 07 Apr 2016 22:03:08 GMT'] + Date: ['Thu, 05 May 2016 23:26:24 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] From d64fc6cf7ea8c2803ddd6b0449d0a20c4afbe545 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Fri, 6 May 2016 09:48:00 -0700 Subject: [PATCH 09/27] Fixed issues with VM conversion. All tests re-run and re-recorded. --- .../tests/recordings/expected_results.res | 2 +- .../recordings/test_network_nic_list.yaml | 38 +- .../recordings/test_network_usage_list.yaml | 18 +- .../recordings/test_storage_account.yaml | 29 +- ...est_storage_account_create_and_delete.yaml | 16 +- .../tests/recordings/test_storage_blob.yaml | 24 +- .../tests/recordings/test_storage_file.yaml | 8 +- .../azure/cli/command_modules/vm/_params.py | 4 + .../azure/cli/command_modules/vm/custom.py | 2 +- .../azure/cli/command_modules/vm/generated.py | 198 +++++----- .../vm/tests/recordings/expected_results.res | 2 + .../test_vm_images_list_thru_services.yaml | 365 ++++++++++++++++++ .../recordings/test_vm_list_from_group.yaml | 45 +++ 13 files changed, 566 insertions(+), 185 deletions(-) create mode 100644 src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml create mode 100644 src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_from_group.yaml diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/expected_results.res b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/expected_results.res index 61a6728654a..6799f02d595 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/expected_results.res @@ -1,4 +1,4 @@ { "test_network_nic_list": "Enable Ip Forwarding : False\nEtag : W/\"0e52cdf5-175d-4c2c-9fcc-4d9b93fa8f71\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/linuxtestvm476\nLocation : westus\nMac Address : None\nName : linuxtestvm476\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : TravisTestResourceGroup\nResource Guid : b64b4a70-9327-454e-90d5-12e3312fe297\nTags : None\nType : Microsoft.Network/networkInterfaces\nIp Configurations :\n Etag : W/\"0e52cdf5-175d-4c2c-9fcc-4d9b93fa8f71\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/linuxtestvm476/ipConfigurations/ipconfig1\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfig1\n Private Ip Address : 10.1.0.7\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : TravisTestResourceGroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/publicIPAddresses/linuxtestvm\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : TravisTestResourceGroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nVirtual Machine :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Compute/virtualMachines/linuxtestvm\n Resource Group : travistestresourcegroup\n\nEnable Ip Forwarding : False\nEtag : W/\"0dd8f6ec-e617-4e22-a34d-9e2d912fd1ca\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testvm23456234\nLocation : westus\nMac Address : None\nName : testvm23456234\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : TravisTestResourceGroup\nResource Guid : e1f92108-bfcb-48c5-95e4-3e430b610a12\nTags : None\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"0dd8f6ec-e617-4e22-a34d-9e2d912fd1ca\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testvm23456234/ipConfigurations/ipconfig1\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfig1\n Private Ip Address : 10.1.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : TravisTestResourceGroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/publicIPAddresses/testvm23456\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : TravisTestResourceGroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\n\nEnable Ip Forwarding : False\nEtag : W/\"6b561634-ca7f-48b4-a030-b038fbf5e95c\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testwindowsvm943\nLocation : westus\nMac Address : None\nName : testwindowsvm943\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : TravisTestResourceGroup\nResource Guid : ab5b53e6-a40d-4141-9243-c61628a47fd0\nTags : None\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"6b561634-ca7f-48b4-a030-b038fbf5e95c\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/testwindowsvm943/ipConfigurations/ipconfig1\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfig1\n Private Ip Address : 10.1.0.5\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : TravisTestResourceGroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/publicIPAddresses/testwindowsvm\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : TravisTestResourceGroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\n\nEnable Ip Forwarding : False\nEtag : W/\"abdf3797-0e2d-43f3-afac-c1ed1da22a04\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux-test-public-ips-vm\nLocation : westus\nMac Address : None\nName : VMNiclinux-test-public-ips-vm\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nResource Guid : a4bb8d7d-26c8-4209-8514-a753ce7dc401\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"abdf3797-0e2d-43f3-afac-c1ed1da22a04\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux-test-public-ips-vm/ipConfigurations/ipconfiglinux-test-public-ips-vm\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfiglinux-test-public-ips-vm\n Private Ip Address : 10.0.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Public Ip Address : None\n Resource Group : travistestresourcegroup\n Subnet : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nTags :\n Display Name : NetworkInterface\n\nEnable Ip Forwarding : False\nEtag : W/\"844ea4e1-6b0e-4189-a51a-4eb672a3129f\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux-test-public-ips-vm2\nLocation : westus\nMac Address : None\nName : VMNiclinux-test-public-ips-vm2\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nResource Guid : 061d290e-c533-4b15-aa2f-d06e7cf1b8c9\nType : Microsoft.Network/networkInterfaces\nIp Configurations :\n Etag : W/\"844ea4e1-6b0e-4189-a51a-4eb672a3129f\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux-test-public-ips-vm2/ipConfigurations/ipconfiglinux-test-public-ips-vm2\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfiglinux-test-public-ips-vm2\n Private Ip Address : 10.0.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : travistestresourcegroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/publicIPAddresses/PublicIPlinux-test-public-ips-vm2\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : travistestresourcegroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nTags :\n Display Name : NetworkInterface\nVirtual Machine :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Compute/virtualMachines/linux-test-public-ips-vm2\n Resource Group : travistestresourcegroup\n\nEnable Ip Forwarding : False\nEtag : W/\"ba636173-911f-4706-a08c-012753919860\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux_test_public_ips_vm\nLocation : westus\nMac Address : None\nName : VMNiclinux_test_public_ips_vm\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nResource Guid : 899bc9f6-9c27-4a78-9e53-145966bf2e2f\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"ba636173-911f-4706-a08c-012753919860\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNiclinux_test_public_ips_vm/ipConfigurations/ipconfiglinux_test_public_ips_vm\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfiglinux_test_public_ips_vm\n Private Ip Address : 10.0.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Public Ip Address : None\n Resource Group : travistestresourcegroup\n Subnet : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nTags :\n Display Name : NetworkInterface\n\nEnable Ip Forwarding : False\nEtag : W/\"6b27df66-d028-41de-841a-ea2a0cf122e5\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNicsecondlinuxtest\nLocation : westus\nMac Address : None\nName : VMNicsecondlinuxtest\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nResource Guid : d04a1bcc-53e7-4f7b-9d6e-496d7f89daba\nType : Microsoft.Network/networkInterfaces\nVirtual Machine : None\nIp Configurations :\n Etag : W/\"6b27df66-d028-41de-841a-ea2a0cf122e5\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Network/networkInterfaces/VMNicsecondlinuxtest/ipConfigurations/ipconfigsecondlinuxtest\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfigsecondlinuxtest\n Private Ip Address : 10.0.0.4\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Public Ip Address : None\n Resource Group : travistestresourcegroup\n Subnet : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nTags :\n Display Name : NetworkInterface\n\nEnable Ip Forwarding : False\nEtag : W/\"9f40eb22-bc10-4c6b-a45a-929498cfbeb7\"\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/windowstestvm58\nLocation : westus\nMac Address : None\nName : windowstestvm58\nNetwork Security Group : None\nPrimary : None\nProvisioning State : Succeeded\nResource Group : TravisTestResourceGroup\nResource Guid : 3baa8673-74f7-4398-8689-43a826d1310c\nTags : None\nType : Microsoft.Network/networkInterfaces\nIp Configurations :\n Etag : W/\"9f40eb22-bc10-4c6b-a45a-929498cfbeb7\"\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/networkInterfaces/windowstestvm58/ipConfigurations/ipconfig1\n Load Balancer Backend Address Pools : None\n Load Balancer Inbound Nat Rules : None\n Name : ipconfig1\n Private Ip Address : 10.1.0.6\n Private Ip Allocation Method : Dynamic\n Provisioning State : Succeeded\n Resource Group : TravisTestResourceGroup\n Subnet : None\n Public Ip Address :\n Dns Settings : None\n Etag : None\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Network/publicIPAddresses/windowstestvm\n Idle Timeout In Minutes : None\n Ip Address : None\n Ip Configuration : None\n Location : None\n Name : None\n Provisioning State : None\n Public Ip Allocation Method : None\n Resource Group : TravisTestResourceGroup\n Resource Guid : None\n Tags : None\n Type : None\nDns Settings :\n Internal Dns Name Label : None\n Internal Fqdn : None\n Applied Dns Servers :\n None\n Dns Servers :\n None\nVirtual Machine :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup/providers/Microsoft.Compute/virtualMachines/windowstestvm\n Resource Group : TravisTestResourceGroup\n\n\n", - "test_network_usage_list": "[\n {\n \"currentValue\": 32,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Virtual Networks\",\n \"value\": \"VirtualNetworks\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 1,\n \"name\": {\n \"localizedValue\": \"Network Watchers\",\n \"value\": \"NetworkWatchers\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 20,\n \"name\": {\n \"localizedValue\": \"Static Public IP Addresses\",\n \"value\": \"StaticPublicIPAddresses\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 1,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Network Security Groups\",\n \"value\": \"NetworkSecurityGroups\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 24,\n \"limit\": 60,\n \"name\": {\n \"localizedValue\": \"Public IP Addresses\",\n \"value\": \"PublicIPAddresses\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 27,\n \"limit\": 300,\n \"name\": {\n \"localizedValue\": \"Network Interfaces\",\n \"value\": \"NetworkInterfaces\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Load Balancers\",\n \"value\": \"LoadBalancers\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Application Gateways\",\n \"value\": \"ApplicationGateways\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Route Tables\",\n \"value\": \"RouteTables\"\n },\n \"unit\": \"Count\"\n }\n]\n" + "test_network_usage_list": "[\n {\n \"currentValue\": 31,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Virtual Networks\",\n \"value\": \"VirtualNetworks\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 1,\n \"name\": {\n \"localizedValue\": \"Network Watchers\",\n \"value\": \"NetworkWatchers\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 20,\n \"name\": {\n \"localizedValue\": \"Static Public IP Addresses\",\n \"value\": \"StaticPublicIPAddresses\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 1,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Network Security Groups\",\n \"value\": \"NetworkSecurityGroups\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 24,\n \"limit\": 60,\n \"name\": {\n \"localizedValue\": \"Public IP Addresses\",\n \"value\": \"PublicIPAddresses\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 26,\n \"limit\": 300,\n \"name\": {\n \"localizedValue\": \"Network Interfaces\",\n \"value\": \"NetworkInterfaces\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Load Balancers\",\n \"value\": \"LoadBalancers\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Application Gateways\",\n \"value\": \"ApplicationGateways\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Route Tables\",\n \"value\": \"RouteTables\"\n },\n \"unit\": \"Count\"\n }\n]\n" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_nic_list.yaml b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_nic_list.yaml index e499ae6f3cb..58cff798705 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_nic_list.yaml +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_nic_list.yaml @@ -1,21 +1,21 @@ interactions: - request: body: !!binary | - Z3JhbnRfdHlwZT1yZWZyZXNoX3Rva2VuJnJlZnJlc2hfdG9rZW49QUFBQkFBQUFpTDlLbjJaMjdV - dWJ2V0ZQYm0wZ0xYc09vT3dwNnZNTXg3eWdrTktjclZBVUpqTC01My14aXlwSllINHpQQ19VYzBY - YjRrS0JjOVB0d0tJU0gxVDVKdV9JbnJ1X0FSeVIzZjVhNDI2d0ZVQVNFT0VTbVd6YURnck1KZnB2 - M2Z0dzV1VnByaWRDYmwwM2VmdFA4VVUzMzN2R1VxSkJHUld1MF9DaGxfMUY1Wm9Fel9BeDVLVjBm - Q0I4YXBkYlBEVDBLQjMzZ1lVbDZ5bjhQaHJVVG1PWjhZZkU4RXBwd252NFZVbktkNWZXS3ZaTXhW - N2xXZ0E3elZPcUFvTnJFRUFQUUpVRF9ydDVTbW1seTMzeTlJd2R0aUpsUHk5amJrV1FqYWd2YTNj - OUNFTjNtM0R1Nnd2N0twTHVWMWpMVmlwWW1KTG5LRm56cFB3MHFnRE15TTBBYWNBbmZLWnNCMmRV - MTVkYWhYc2ZHSkczYzZ5R3FnT3BCYWx3Y3RjdG5Ua3hLWnpMTDhpTjJaOTRfd3Fxc3BWdWYyUkdW - bXN6bFJSRDVFTFNlZ2d5dlZnenZRSURBWnpGT2wxOW9UVVk1NDM1d3AzU1JubnoxS2R1Z1QxaHRB - SjZVX1VHeHE1cGtLWGFyaXBubjBseFJBU3FtYktWbVkxaXFVSWJwWHY5aE5JSHZ6Z2FaTGFQUjI5 - U05obzhHeUdTT1V3VWk3YjJPVVRrMi12NUpFaWdiSHhUWDltcks5YmxHLWZwQ3pFX1p6LVBhbFBP - NWZpdmt0ZFJ4ZHh1R0dyS09GVGl4QjlBVzJ1UFhzM1dmcWR1bVd3VDhRQ185OGtWWlhCa0Zkejc5 - aXBtYV9IZXo5NDk3bm0zbW5VWEhkT1RmaUFBJmNsaWVudF9pZD0wNGIwNzc5NS04ZGRiLTQ2MWEt - YmJlZS0wMmY5ZTFiZjdiNDYmcmVzb3VyY2U9aHR0cHMlM0ElMkYlMkZtYW5hZ2VtZW50LmNvcmUu - d2luZG93cy5uZXQlMkY= + cmVzb3VyY2U9aHR0cHMlM0ElMkYlMkZtYW5hZ2VtZW50LmNvcmUud2luZG93cy5uZXQlMkYmZ3Jh + bnRfdHlwZT1yZWZyZXNoX3Rva2VuJnJlZnJlc2hfdG9rZW49QUFBQkFBQUFpTDlLbjJaMjdVdWJ2 + V0ZQYm0wZ0xUV3NhekM1MDJXUDZmUmVhaGZneE04QkFWVW5IOWRKQTZqOW8td2pkNlRicG92TXhG + LTBVbnF2U1BHcnRheVFKOTFZdGlyVzFKcDM1VWNLT2FYMnZSZi1IeW85NWtmUXdtUHBTMzdPWGd1 + b3hxbENWVzNIRGljd2VBczc2enFVdXR5RDV0VU0tSTk5YzROcnFRYkpDLXY2U3pEQ2RUSTZOZzRR + U2FCOW5PQnAyeTNYS1FNVFMzODA4aDBNSURJcmxOUmx0NnVwYjFYeWxYUGlCeHNaMGdZSHBzZ1dW + SVpWM1R6Ulc2SkR1ODMtR25TM2FoU0ZEOXB4eVZiVmxQdlNXbWtmR2tkbk5QdHNwek0yeGNEMWt1 + TE5RVHZSOE91Ml9ZdHNJZ2pKWDhyTzJPS3FJdmJlcWZHTG5ZX3U1UVo4aUsxeG9RR3EzOGhtd3h0 + czEtaFZlMl9JZ2txYUE3c0Z3Y3VfZW41blIzcDJNdFBTZ3o4cGUtcVpGd09oRmt5T3JtQ2g2M1M5 + RGNSTXZOZjc1dC00VDBOaWFNTFB6SUQyMEtyZXRmZjBnbzB1MHRqM0N4TjlKNnc3NWFlcnN4XzdD + eFp3ZmdWQWRBLXVJS0RMT2hZMU1sMlpPbTdKUHZfNHdIRnJkdkhxRHg4WUlfOWxIdDlkVFgxZ2to + RzhvNC0yY1BsRGI0YUg1UkJqMi1jbmpPVWwycXh4N21YSi1wVjNyblFHTkE0RFEzLXQ1LXVrQkd0 + X0RrMzlVY2tvM2hKZWdNSkU1RTR5MWRyOXZtaDFCTTNhTS1DeEVDNG9ybXRDODdOZmhGaGRVU1Rn + bXlhQlpjaEg5dWVuWGpTWnp5cl9VQ0FBJmNsaWVudF9pZD0wNGIwNzc5NS04ZGRiLTQ2MWEtYmJl + ZS0wMmY5ZTFiZjdiNDY= headers: Accept: ['*/*'] Accept-Charset: [utf-8] @@ -32,17 +32,17 @@ interactions: method: POST uri: https://login.microsoftonline.com/54826b22-38d6-4fb2-bad9-b7b93a3e9c5a/oauth2/token?api-version=1.0 response: - body: {string: '{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1462494245","not_before":"1462490345","resource":"https://management.core.windows.net/","access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDYyNDkwMzQ1LCJuYmYiOjE0NjI0OTAzNDUsImV4cCI6MTQ2MjQ5NDI0NSwiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2Il0sImlwYWRkciI6IjE2Ny4yMjAuMC4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.RhZVT7lNqu3GG2Tyv2azk7G8Np92N6V152k9Uwy9dVoNi92893TMExaVJqX_1QgHB8mfcXYAHagIYEsBI2RC0lj9DKg1H_OcZxlSfw96T5BF1I5xSjAsxPuj4bd6S2vkGoo6BVDrtZnzAn6LqmKFtWRk_uB3e_PohmGEuHqY_gQydvI6bCXuMoj6w5R_0KLMm2N0QaSmeP5FCKycubQuI3vFLM0xzqUDeWlB5IGi4cNqzjHQccAsgQ0dPbg8wiHxgmRQTvDdWhSaxeUVCZAB9GLjAKz9FwiMkp8LMzWpKblFWa7qiKh3wD8uuynVheP7PDtM9Xn-rVcqN6SJexdMdg","refresh_token":"AAABAAAAiL9Kn2Z27UubvWFPbm0gLWaEWnm8aW6_E93pOvGgCw_h6f3Hbzd-LvDT8_D0E4cq0kG57jluxddkVqrri_jlwJ4TKouLyFw96oITR9X9ZSs4eAadx677EXxvYRJnt2F4bBjO5zddhGAdsJVjKo8siSY0JbeexjCWuX-yV4wyvwxeDiHUUoi4J1qsSlXdsSHIvj2KCkhksH1GrQSSjgN9e9j2SH83M6yCqo1hNQyQjAr_n3pO3pMaLd9FeJHYAzQlFEA2lLDH0oXt_yygmCnOWI6d7gwqmw-92CO8f7ETqjlyIMCOAn9p9O6l2MYS9VXhkzZik3jOzZem5Uj7Uw2Q3T4MlGplZ_HLnfckOLGYk3AVSwnaidft2mERWGjju5djhDdQhcKSKNzyqeatTi9ZrNNaIVZ1eK3bxH_8TkAixIEAnleYQzoSUmm2RuPRF_REqEmbCwSq_Onb5iRhbD2zBfMncklPPfmxuuVM3tGo80ekRiLNrmW9ehIPd4QfrSo0Tw-Opdi2f_qD4zvk2FBjDic0X4GiU3HEWlW0wPWZrS6k1ejLAqAWi5BUulwwHnvgSp1Cyz0M92C9jc4M6Jc7G3hBqS8LqJe5jDqMO88iYgUWLtxiLwKVd0g7Mz-LAMXYyTlI01WxUJKmPpghOvLKWCAA"}'} + body: {string: '{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1462556752","not_before":"1462552852","resource":"https://management.core.windows.net/","access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDYyNTUyODUyLCJuYmYiOjE0NjI1NTI4NTIsImV4cCI6MTQ2MjU1Njc1MiwiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2Il0sImlwYWRkciI6IjE2Ny4yMjAuMC4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.DXbZWPdjOnxp6eKZQ1_dXQt5r0hJvD3Wsz-7eWHad-CEy3l3FjiWEty0o_NvG-I-M0UJKANd1NHxV3AIf2t5Pu5zvxs-5j0uEM498yG7SgwVzgwFhEl6rP5VzdohPoCof8RIQ5WtGzBcCLWp64IaMhL_GEWg84HC0UcI4thF816Jng2WptzRIq9daKkQG6IcZffM7YqqY5lu2QMjG2ILX8aDfDRn3uK2p38FnHWZ5jH0-DZFGbJNL5W_fUbCP1vvIReSUZytXQBHpPGuVwXVlTCftotnpRU7VRpgg7lDdPtgutpvvbNmUQ-dOscq45MAzAzPLcDdwibfX27KBnYcSw","refresh_token":"AAABAAAAiL9Kn2Z27UubvWFPbm0gLalWqJoW9vGquPIEZ8r19rwfOIwiMgCYphKofSQZwEZtSFDIy30UAgjDHQYq75gLqAhMk8hslUSzLRK7cewfqK_EzlhwC04mNmhc-GXa377gUIzaNyojlIDjGp_BXpBRenxmso938FCqgJ13kN-mztibzXu27PfjtjpIFIV38KKFw7BLwyOT6JtTEkdIPHIN7DYME0QXxEtwuBG2T5ANuvj5kHq3AXwjdhNHpIWbRIvQ9Nl97c-f8MIkBE3eyGZb1tKktcaEC_SewFop67Etjb6uXMnURd2j8N9wu3cKh0o0piuphqiXHE_5i4upcSOwbNPQamvqRRLEao-gXNeHeZ2NNQpWH8JQu5zIJgwQG8L81LS23DxRLuWhTh3TSEaEX2C6NsI-PoMLHf8tlX-mUAmHtGTNW34uJevAU1He2pkeRtIrVwl1QRpfpOM06Cezpx_ikz8e3jsijTvF_JJUfr04QX7EPccL4ed9vsGcRWkMTC4fwgO7ZQxSVH2Fy5XwyNtjalYviAdjiWRKb5dmiFtGll_8xHBcVOGYb7obgWDi7p2is4mGHsRX8A6T0Eq7-n-EzCMUgFDXRjOUAIKvvZtO-lcDUHDjpzP-fgok_FrTDJogeRmDd5Am7pD4dxHEsCAA"}'} headers: Cache-Control: ['no-cache, no-store'] Content-Length: ['2346'] Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 05 May 2016 23:24:05 GMT'] + Date: ['Fri, 06 May 2016 16:45:52 GMT'] Expires: ['-1'] P3P: [CP="DSP CUR OTPi IND OTRi ONL FIN"] Pragma: [no-cache] Server: [Microsoft-IIS/8.5] - Set-Cookie: [flight-uxoptin=true; path=/; secure; HttpOnly, esctx=AAABAAAAiL9Kn2Z27UubvWFPbm0gLSjOe65cyk2s0MPlx8GPVudUFRAKXBzwlAEuKGKcyHrU73_UUCepi-KlQOO3uMhZyE1EjrLl75yvZWeYzBHlMUrrr5nYlc4uLf3eJ2NvW_oODyCUfwb3r_ZXldDIDkTO-YvgjDTaLiwMbYmpQsrGNrvkTb88NSBIRD5pQJFJUWi3IAA; + Set-Cookie: [flight-uxoptin=true; path=/; secure; HttpOnly, esctx=AAABAAAAiL9Kn2Z27UubvWFPbm0gLSVbfmieACxkWAU0BCD_lpE8JHJEcVM-g8Ej4ZHHSl4F_UEg37rQRqYS6HJPvEco87x3rcYzEVMfpUtf-UXGtVTbnejlppavFj4vakbbJunttA-JDPYiV-jEeCuXjPR6tQOwJ70d1HUHTpcR-hrYuItjkV8aULodFceaX1QujyViIAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly, x-ms-gateway-slice=productiona; path=/; secure; HttpOnly, stsservicecookie=ests; path=/; secure; HttpOnly] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -110,7 +110,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 05 May 2016 23:24:06 GMT'] + Date: ['Fri, 06 May 2016 16:45:52 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_usage_list.yaml b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_usage_list.yaml index 015a98043e1..7acec90f0f6 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_usage_list.yaml +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/tests/recordings/test_network_usage_list.yaml @@ -16,21 +16,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOej6bqu82X7k/r9vb3xzsh+Wczoo4/uNutJM62LVVtUy+buzmT3/NP9 + 6UeXWbnOP3qUfg9/pSl/iOej6bqu82X7k/r9vd3xzsh+Wczoo4/uNutJM62LVVtUy+buzmT3/NP9 B7vbu5Pzne392SzbzvLpve3p5OHeg73znYf3H+7cXdXVZTHL6+buF8W0rprqvB2/yNurqn57t6ym mYC6ypt23dxdN9lF3tz9yaJu11mpzZqPHB5lsShaQuX+jo/dMlsAZTsW+gigy+IH+cyM5yMFmvah - UnNDFdPKNjJtfolt/dF6ySh8dFKtl602MF9bFLrkDPD94VJTv/9u1k7n9KYbt6Xmro/crYipMNM+ - UGpuiamtbCPTxlCL2v5/jZivW/p4+nI9KYvp2cvj2azOmyb3xm+JuhdgeSuqCvBUoKdnL9MIfHrR - 0lfaS3MfGdPWEJLe+Vp0Dvjih0tn/f51TigV7fXndbVeeVSwVN7deX8yK+zUAE+70OktS2NtbNpq - U9PSkJDe+FoU3tv3sf/hkrjPNw4TQ95P35+6AvYW3CsN/f5NK0M2av31qPrAx/qHS1X9/mzZ5vV5 - NqVROUwMVe99ANPGANMLlqrazmtmWhmyUeuvRdUA5x8uUZ9X2exJVmbLKb3nxm0J+nW0AGCmEaDU - 2BITbVwT08JQilr+f42Qx6sVyRx/9XnW5lfZtTdyS86v4V15gNM+ZHrF0tRraRuadoZ01P7/a5R9 - Va3b/E02KUniHA6Gol+HQRli2gVJTS0puYU2MN8bGlG7KAnx4/u/cfJL/h/uAvuTDgwAAA== + UnNDFdPKNjJtfolt/dF6ySh8dFKtl602MF9bFLrkDPD94VJTv/9u1k7n9KYbt6VmMNW3IqbCTPtA + qbklprayjUwbQy1q+/81Yr5u6ePpy/WkLKZnL49nszpvmtwbvyXqXoDlragqwFOBnp69TCPw6UVL + X2kvzX1kTFtDSHrna9E54IsfLp31+9c5oVS015/X1XrlUcFSeXfn/cmssFMDPO1Cp7csjbWxaatN + TUtDQnrja1F4b9/H/odL4j7fOEwMeT99f+oK2FtwrzT0+zetDNmo9dej6qc+1j9cqur3Z8s2r8+z + KY3KYWKoeu8DmDYGmF6wVNV2XjPTypCNWn8tqgY4/3CJ+rzKZk+yMltO6T03bkvQr6MFADONAKXG + lpho45qYFoZS1PL/a4Q8Xq1I5virz7M2v8quvZFbcn4N78oDnPYh0yuWpl5L29C0M6Sj9v9fo+yr + at3mb7JJSRLncDAU/ToMyhDTLkhqaknJLbSB+d7QiNpFSYgf3/+Nk1/y/wCvwtDXDgwAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 05 May 2016 23:24:12 GMT'] + Date: ['Fri, 06 May 2016 16:46:02 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml index 062b13e3ed9..fd22c3fa858 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml @@ -1,8 +1,6 @@ interactions: - request: - body: !!binary | - eyJuYW1lIjogInRlc3RzdG9yYWdlb21lZ2EiLCAidHlwZSI6ICJNaWNyb3NvZnQuU3RvcmFnZS9z - dG9yYWdlQWNjb3VudHMifQ== + body: '{"name": "teststorageomega", "type": "Microsoft.Storage/storageAccounts"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -32,9 +30,7 @@ interactions: Vary: [Accept-Encoding] status: {code: 200, message: OK} - request: - body: !!binary | - eyJuYW1lIjogInRyYXZpc3Rlc3RyZXNvdXJjZWdyMzAxNCIsICJ0eXBlIjogIk1pY3Jvc29mdC5T - dG9yYWdlL3N0b3JhZ2VBY2NvdW50cyJ9 + body: '{"name": "travistestresourcegr3014", "type": "Microsoft.Storage/storageAccounts"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -242,8 +238,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: - body: !!binary | - eyJrZXlOYW1lIjogImtleTEifQ== + body: '{"keyName": "key1"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -277,8 +272,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: - body: !!binary | - eyJrZXlOYW1lIjogImtleTIifQ== + body: '{"keyName": "key2"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -312,8 +306,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: - body: !!binary | - eyJrZXlOYW1lIjogImtleTIifQ== + body: '{"keyName": "key2"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -347,8 +340,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1195'] status: {code: 200, message: OK} - request: - body: !!binary | - eyJ0YWdzIjogeyJjYXQiOiAiIiwgImZvbyI6ICJiYXIifX0= + body: '{"tags": {"cat": "", "foo": "bar"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -379,8 +371,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: - body: !!binary | - eyJ0YWdzIjogeyJub25lIjogIiJ9fQ== + body: '{"tags": {"none": ""}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -411,8 +402,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: - body: !!binary | - eyJwcm9wZXJ0aWVzIjogeyJhY2NvdW50VHlwZSI6ICJTdGFuZGFyZF9HUlMifX0= + body: '{"properties": {"accountType": "Standard_GRS"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -443,8 +433,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: - body: !!binary | - eyJwcm9wZXJ0aWVzIjogeyJhY2NvdW50VHlwZSI6ICJTdGFuZGFyZF9MUlMifX0= + body: '{"properties": {"accountType": "Standard_LRS"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_create_and_delete.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_create_and_delete.yaml index 137531cf60e..7b8a026add7 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_create_and_delete.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account_create_and_delete.yaml @@ -23,9 +23,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 204, message: No Content} - request: - body: !!binary | - eyJuYW1lIjogInRlc3RjcmVhdGVkZWxldGUiLCAidHlwZSI6ICJNaWNyb3NvZnQuU3RvcmFnZS9z - dG9yYWdlQWNjb3VudHMifQ== + body: '{"name": "testcreatedelete", "type": "Microsoft.Storage/storageAccounts"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -55,9 +53,7 @@ interactions: Vary: [Accept-Encoding] status: {code: 200, message: OK} - request: - body: !!binary | - eyJwcm9wZXJ0aWVzIjogeyJhY2NvdW50VHlwZSI6ICJTdGFuZGFyZF9MUlMifSwgImxvY2F0aW9u - IjogIndlc3R1cyJ9 + body: '{"properties": {"accountType": "Standard_LRS"}, "location": "westus"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -88,9 +84,7 @@ interactions: Vary: [Accept-Encoding] status: {code: 200, message: OK} - request: - body: !!binary | - eyJuYW1lIjogInRlc3RjcmVhdGVkZWxldGUiLCAidHlwZSI6ICJNaWNyb3NvZnQuU3RvcmFnZS9z - dG9yYWdlQWNjb3VudHMifQ== + body: '{"name": "testcreatedelete", "type": "Microsoft.Storage/storageAccounts"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -146,9 +140,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: - body: !!binary | - eyJuYW1lIjogInRlc3RjcmVhdGVkZWxldGUiLCAidHlwZSI6ICJNaWNyb3NvZnQuU3RvcmFnZS9z - dG9yYWdlQWNjb3VudHMifQ== + body: '{"name": "testcreatedelete", "type": "Microsoft.Storage/storageAccounts"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml index 4df004ff513..47550d6d6fa 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml @@ -265,9 +265,7 @@ interactions: x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} - request: - body: !!binary | - VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE - TyBOT1QgTU9WRSBPUiBERUxFVEUh + body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! headers: Accept-Encoding: [identity] Connection: [keep-alive] @@ -338,16 +336,8 @@ interactions: x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: - body: !!binary | - VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE - TyBOT1QgTU9WRSBPUiBERUxFVEUhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg - ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg - ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg - ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg - ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg - ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg - ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg - ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= + body: 'This is a test file for performance of automated tests. DO NOT MOVE OR + DELETE! ' headers: Accept-Encoding: [identity] Connection: [keep-alive] @@ -437,9 +427,7 @@ interactions: x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: - body: !!binary | - VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE - TyBOT1QgTU9WRSBPUiBERUxFVEUh + body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! headers: Accept-Encoding: [identity] Connection: [keep-alive] @@ -489,9 +477,7 @@ interactions: x-ms-write-protection: ['false'] status: {code: 200, message: OK} - request: - body: !!binary | - VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE - TyBOT1QgTU9WRSBPUiBERUxFVEUh + body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! headers: Accept-Encoding: [identity] Connection: [keep-alive] diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml index 253b382c237..fb4bb092390 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml @@ -330,9 +330,7 @@ interactions: x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: - body: !!binary | - VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE - TyBOT1QgTU9WRSBPUiBERUxFVEUh + body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! headers: Accept-Encoding: [identity] Connection: [keep-alive] @@ -747,9 +745,7 @@ interactions: x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: - body: !!binary | - VGhpcyBpcyBhIHRlc3QgZmlsZSBmb3IgcGVyZm9ybWFuY2Ugb2YgYXV0b21hdGVkIHRlc3RzLiBE - TyBOT1QgTU9WRSBPUiBERUxFVEUh + body: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE! headers: Accept-Encoding: [identity] Connection: [keep-alive] diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py index a748f6bbc76..ff929bfe93a 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py @@ -29,6 +29,10 @@ def _compute_client_factory(**_): 'type': MinMaxValue(1, 1023), 'default': 1023 }, + 'image_location': { + 'name': '--image-location', + 'help': L('Image location') + }, 'lun': { 'name': '--lun', 'help': L('0-based logical unit number (LUN). Max value depends on the Virtual ' + \ diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index 7efaa9c564b..dd970925c7e 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -138,7 +138,7 @@ def list(self, resource_group_name): def list_vm_images(self, image_location=None, publisher=None, offer=None, sku=None, all=False): # pylint: disable=redefined-builtin '''vm image list - :param str location:Image location + :param str image_location:Image location :param str publisher:Image publisher name :param str offer:Image offer name :param str sku:Image sku name diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index 58f461ee913..c7ce5fd39c1 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -31,29 +31,29 @@ def _patch_aliases(alias_items): # pylint: disable=line-too-long build_operation( 'vm availset', 'availability_sets', _compute_client_factory, - [ - AutoCommandDefinition(AvailabilitySetsOperations.delete, None), - AutoCommandDefinition(AvailabilitySetsOperations.get, 'AvailabilitySet', command_alias='show'), - AutoCommandDefinition(AvailabilitySetsOperations.list, '[AvailabilitySet]'), - AutoCommandDefinition(AvailabilitySetsOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes') - ], - command_table, - _patch_aliases({ - 'availability_set_name': {'name': '--name -n'} - })) + [ + AutoCommandDefinition(AvailabilitySetsOperations.delete, None), + AutoCommandDefinition(AvailabilitySetsOperations.get, 'AvailabilitySet', command_alias='show'), + AutoCommandDefinition(AvailabilitySetsOperations.list, '[AvailabilitySet]'), + AutoCommandDefinition(AvailabilitySetsOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes') + ], + command_table, + _patch_aliases({ + 'availability_set_name': {'name': '--name -n'} + })) build_operation( 'vm machine-extension-image', 'virtual_machine_extension_images', _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineExtensionImagesOperations.get, 'VirtualMachineExtensionImage', command_alias='show'), - AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_types, '[VirtualMachineImageResource]'), - AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_versions, '[VirtualMachineImageResource]'), - ], - command_table, PARAMETER_ALIASES) + [ + AutoCommandDefinition(VirtualMachineExtensionImagesOperations.get, 'VirtualMachineExtensionImage', command_alias='show'), + AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_types, '[VirtualMachineImageResource]'), + AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_versions, '[VirtualMachineImageResource]'), + ], + command_table, PARAMETER_ALIASES) build_operation( 'vm disk', None, ConvenienceVmCommands, - [ + [ AutoCommandDefinition(ConvenienceVmCommands.attach_new_disk, 'Object', 'attach-new'), AutoCommandDefinition(ConvenienceVmCommands.attach_existing_disk, 'Object', 'attach-existing'), AutoCommandDefinition(ConvenienceVmCommands.detach_disk, 'Object', 'detach'), @@ -63,114 +63,116 @@ def _patch_aliases(alias_items): build_operation( 'vm extension', 'virtual_machine_extensions', _compute_client_factory, [ - AutoCommandDefinition(VirtualMachineExtensionsOperations.delete, LongRunningOperation(L('Deleting VM extension'), L('VM extension deleted'))), - AutoCommandDefinition(VirtualMachineExtensionsOperations.get, 'VirtualMachineExtension', command_alias='show'), - ], - command_table, - _patch_aliases({ - 'vm_extension_name': {'name': '--name -n'} - })) + AutoCommandDefinition(VirtualMachineExtensionsOperations.delete, LongRunningOperation(L('Deleting VM extension'), L('VM extension deleted'))), + AutoCommandDefinition(VirtualMachineExtensionsOperations.get, 'VirtualMachineExtension', command_alias='show'), + ], + command_table, + _patch_aliases({ + 'vm_extension_name': {'name': '--name -n'} + })) build_operation( 'vm image', 'virtual_machine_images', _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineImagesOperations.get, 'VirtualMachineImage', command_alias='show'), - AutoCommandDefinition(VirtualMachineImagesOperations.list_offers, '[VirtualMachineImageResource]'), - AutoCommandDefinition(VirtualMachineImagesOperations.list_publishers, '[VirtualMachineImageResource]'), - AutoCommandDefinition(VirtualMachineImagesOperations.list_skus, '[VirtualMachineImageResource]'), - ], - command_table, PARAMETER_ALIASES) + [ + AutoCommandDefinition(VirtualMachineImagesOperations.get, 'VirtualMachineImage', command_alias='show'), + AutoCommandDefinition(VirtualMachineImagesOperations.list_offers, '[VirtualMachineImageResource]'), + AutoCommandDefinition(VirtualMachineImagesOperations.list_publishers, '[VirtualMachineImageResource]'), + AutoCommandDefinition(VirtualMachineImagesOperations.list_skus, '[VirtualMachineImageResource]'), + ], + command_table, PARAMETER_ALIASES) build_operation( 'vm usage', 'usage', _compute_client_factory, - [ - AutoCommandDefinition(UsageOperations.list, '[Usage]'), - ], - command_table, PARAMETER_ALIASES) + [ + AutoCommandDefinition(UsageOperations.list, '[Usage]'), + ], + command_table, PARAMETER_ALIASES) build_operation( 'vm size', 'virtual_machine_sizes', _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineSizesOperations.list, '[VirtualMachineSize]'), - ], - command_table, PARAMETER_ALIASES) + [ + AutoCommandDefinition(VirtualMachineSizesOperations.list, '[VirtualMachineSize]'), + ], + command_table, PARAMETER_ALIASES) build_operation( 'vm', 'virtual_machines', _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachinesOperations.delete, LongRunningOperation(L('Deleting VM'), L('VM Deleted'))), - AutoCommandDefinition(VirtualMachinesOperations.deallocate, LongRunningOperation(L('Deallocating VM'), L('VM Deallocated'))), - AutoCommandDefinition(VirtualMachinesOperations.generalize, None), - AutoCommandDefinition(VirtualMachinesOperations.get, 'VirtualMachine', command_alias='show'), - AutoCommandDefinition(VirtualMachinesOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes'), - AutoCommandDefinition(VirtualMachinesOperations.power_off, LongRunningOperation(L('Powering off VM'), L('VM powered off'))), - AutoCommandDefinition(VirtualMachinesOperations.restart, LongRunningOperation(L('Restarting VM'), L('VM Restarted'))), - AutoCommandDefinition(VirtualMachinesOperations.start, LongRunningOperation(L('Starting VM'), L('VM Started'))), - ], - command_table, - _patch_aliases({ - 'vm_name': {'name': '--name -n'} - })) + [ + AutoCommandDefinition(VirtualMachinesOperations.delete, LongRunningOperation(L('Deleting VM'), L('VM Deleted'))), + AutoCommandDefinition(VirtualMachinesOperations.deallocate, LongRunningOperation(L('Deallocating VM'), L('VM Deallocated'))), + AutoCommandDefinition(VirtualMachinesOperations.generalize, None), + AutoCommandDefinition(VirtualMachinesOperations.get, 'VirtualMachine', command_alias='show'), + AutoCommandDefinition(VirtualMachinesOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes'), + AutoCommandDefinition(VirtualMachinesOperations.power_off, LongRunningOperation(L('Powering off VM'), L('VM powered off'))), + AutoCommandDefinition(VirtualMachinesOperations.restart, LongRunningOperation(L('Restarting VM'), L('VM Restarted'))), + AutoCommandDefinition(VirtualMachinesOperations.start, LongRunningOperation(L('Starting VM'), L('VM Started'))), + ], + command_table, + _patch_aliases({ + 'vm_name': {'name': '--name -n'} + })) build_operation( 'vm scaleset', 'virtual_machine_scale_sets', _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineScaleSetsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set'), L('VM scale set deallocated'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete, LongRunningOperation(L('Deleting VM scale set'), L('VM scale set deleted'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.get, 'VirtualMachineScaleSet', command_alias='show'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete_instances, LongRunningOperation(L('Deleting VM scale set instances'), L('VM scale set instances deleted'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.get_instance_view, 'VirtualMachineScaleSetInstanceView'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.list, '[VirtualMachineScaleSet]'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_all, '[VirtualMachineScaleSet]'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_skus, '[VirtualMachineScaleSet]'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.power_off, LongRunningOperation(L('Powering off VM scale set'), L('VM scale set powered off'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.restart, LongRunningOperation(L('Restarting VM scale set'), L('VM scale set restarted'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.start, LongRunningOperation(L('Starting VM scale set'), L('VM scale set started'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.update_instances, LongRunningOperation(L('Updating VM scale set instances'), L('VM scale set instances updated'))), - ], - command_table, - _patch_aliases({ - 'vm_scale_set_name': {'name': '--name -n'} - })) + [ + AutoCommandDefinition(VirtualMachineScaleSetsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set'), L('VM scale set deallocated'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete, LongRunningOperation(L('Deleting VM scale set'), L('VM scale set deleted'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.get, 'VirtualMachineScaleSet', command_alias='show'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete_instances, LongRunningOperation(L('Deleting VM scale set instances'), L('VM scale set instances deleted'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.get_instance_view, 'VirtualMachineScaleSetInstanceView'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.list, '[VirtualMachineScaleSet]'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_all, '[VirtualMachineScaleSet]'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_skus, '[VirtualMachineScaleSet]'), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.power_off, LongRunningOperation(L('Powering off VM scale set'), L('VM scale set powered off'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.restart, LongRunningOperation(L('Restarting VM scale set'), L('VM scale set restarted'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.start, LongRunningOperation(L('Starting VM scale set'), L('VM scale set started'))), + AutoCommandDefinition(VirtualMachineScaleSetsOperations.update_instances, LongRunningOperation(L('Updating VM scale set instances'), L('VM scale set instances updated'))), + ], + command_table, + _patch_aliases({ + 'vm_scale_set_name': {'name': '--name -n'} + })) build_operation( 'vm scaleset-vm', 'virtual_machine_scale_set_vms', _compute_client_factory, - [ - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set VMs'), L('VM scale set VMs deallocated'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.delete, LongRunningOperation(L('Deleting VM scale set VMs'), L('VM scale set VMs deleted'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get, 'VirtualMachineScaleSetVM', command_alias='show'), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get_instance_view, 'VirtualMachineScaleSetVMInstanceView'), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.list, '[VirtualMachineScaleSetVM]'), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.power_off, LongRunningOperation(L('Powering off VM scale set VMs'), L('VM scale set VMs powered off'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.restart, LongRunningOperation(L('Restarting VM scale set VMs'), L('VM scale set VMs restarted'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.start, LongRunningOperation(L('Starting VM scale set VMs'), L('VM scale set VMs started'))), - ], - command_table, - _patch_aliases({ - 'vm_scale_set_name': {'name': '--name -n'} - })) + [ + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set VMs'), L('VM scale set VMs deallocated'))), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.delete, LongRunningOperation(L('Deleting VM scale set VMs'), L('VM scale set VMs deleted'))), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get, 'VirtualMachineScaleSetVM', command_alias='show'), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get_instance_view, 'VirtualMachineScaleSetVMInstanceView'), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.list, '[VirtualMachineScaleSetVM]'), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.power_off, LongRunningOperation(L('Powering off VM scale set VMs'), L('VM scale set VMs powered off'))), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.restart, LongRunningOperation(L('Restarting VM scale set VMs'), L('VM scale set VMs restarted'))), + AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.start, LongRunningOperation(L('Starting VM scale set VMs'), L('VM scale set VMs started'))), + ], + command_table, + _patch_aliases({ + 'vm_scale_set_name': {'name': '--name -n'} + })) build_operation( 'vm', None, ConvenienceVmCommands, - [ - AutoCommandDefinition(ConvenienceVmCommands.list_ip_addresses, 'object'), - ], - command_table, PARAMETER_ALIASES) + [ + AutoCommandDefinition(ConvenienceVmCommands.list_ip_addresses, 'object'), + AutoCommandDefinition(ConvenienceVmCommands.list, '[VirtualMachine]') + ], + command_table, PARAMETER_ALIASES) build_operation( 'vm', 'vm', lambda **_: get_mgmt_service_client(VMClient, VMClientConfig), - [ + [ AutoCommandDefinition( VMOperations.create_or_update, - LongRunningOperation(L('Creating virtual machine'), L('Virtual machine created')), - 'create') - ], + LongRunningOperation(L('Creating virtual machine'), L('Virtual machine created')), + 'create') + ], command_table, VM_CREATE_PARAMETER_ALIASES, VM_CREATE_EXTRA_PARAMETERS) build_operation( 'vm image', None, ConvenienceVmCommands, - [ - AutoCommandDefinition(ConvenienceVmCommands.list_vm_images, 'object', 'list') - ], - command_table, PARAMETER_ALIASES) - + [ + AutoCommandDefinition(ConvenienceVmCommands.list_vm_images, 'object', 'list') + ], + command_table, _patch_aliases({ + 'image_location': {'name': '--location -l'} + })) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res index 5f30569eec1..6873014cbf5 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res @@ -1,4 +1,6 @@ { "test_vm_images_list_by_aliases": "", + "test_vm_images_list_thru_services": "", + "test_vm_list_from_group": "Availability Set : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/XPLATTESTGEXTENSION9085/providers/Microsoft.Compute/virtualMachines/xplatvmExt1314\nInstance View : None\nLicense Type : None\nLocation : southeastasia\nName : xplatvmExt1314\nPlan : None\nProvisioning State : Succeeded\nResource Group : XPLATTESTGEXTENSION9085\nResources : None\nType : Microsoft.Compute/virtualMachines\nDiagnostics Profile :\n Boot Diagnostics :\n Enabled : True\n Storage Uri : https://xplatstoragext4633.blob.core.windows.net/\nHardware Profile :\n Vm Size : Standard_A1\nNetwork Profile :\n Network Interfaces :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085/providers/Microsoft.Network/networkInterfaces/xplatnicExt4843\n Primary : None\n Resource Group : xplatTestGExtension9085\nOs Profile :\n Admin Password : None\n Admin Username : azureuser\n Computer Name : xplatvmExt1314\n Custom Data : None\n Linux Configuration : None\n Secrets :\n None\n Windows Configuration :\n Additional Unattend Content : None\n Enable Automatic Updates : True\n Provision Vm Agent : True\n Time Zone : None\n Win Rm : None\nStorage Profile :\n Data Disks :\n None\n Image Reference :\n Offer : WindowsServerEssentials\n Publisher : MicrosoftWindowsServerEssentials\n Sku : WindowsServerEssentials\n Version : 1.0.20131018\n Os Disk :\n Caching : ReadWrite\n Create Option : fromImage\n Disk Size Gb : None\n Encryption Settings : None\n Image : None\n Name : cli1eaed78b36def353-os-1453419539945\n Os Type : Windows\n Vhd :\n Uri : https://xplatstoragext4633.blob.core.windows.net/xplatstoragecntext1789/cli1eaed78b36def353-os-1453419539945.vhd\nTags :\n None\n\n\n", "test_vm_usage_list_westus": "[\n {\n \"currentValue\": 1,\n \"limit\": 2000,\n \"name\": {\n \"localizedValue\": \"Availability Sets\",\n \"value\": \"availabilitySets\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 30,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Total Regional Cores\",\n \"value\": \"cores\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 19,\n \"limit\": 10000,\n \"name\": {\n \"localizedValue\": \"Virtual Machines\",\n \"value\": \"virtualMachines\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Virtual Machine Scale Sets\",\n \"value\": \"virtualMachineScaleSets\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 1,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Standard D Family Cores\",\n \"value\": \"standardDFamily\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 27,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Standard A0-A7 Family Cores\",\n \"value\": \"standardA0_A7Family\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 2,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Basic A Family Cores\",\n \"value\": \"basicAFamily\"\n },\n \"unit\": \"Count\"\n }\n]\n" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml new file mode 100644 index 00000000000..d30241ccf83 --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml @@ -0,0 +1,365 @@ +interactions: +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 computemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers?api-version=2015-06-15 + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 06 May 2016 16:41:32 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 computemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp + +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8VeT9bJd794f7+y/Xmar1bVtUczw/d3X60kz + rYsV4DR3dya755/uP9jd3p2c72zvz2bZdpZP721PJw/3Huyd7zy8/3Dn7su6uixmed3c/aKY1lVT + nbfjk2qxWrf53eeKUnNXELr7cj0pi2aO1ifZsloW06y8e1y3xXk2bd9cr/Lm7k9+cbbILvK7X56f + o1kfZWD8SxjvDxn502r6Nq9tu//vjF8RB95fkwp1VZbF8kLA2Tb/L6dAiDRw/pqjf53Xl0Q/8+X/ + y4et2ALZrzne319I9vufVHVum/y/fNQBzkD5Gxj776+CY1r+f4gEBnVg/kt+4+T7/w+0FbQ39wUA + AA== + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 06 May 2016 16:41:32 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 computemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core/skus?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp + +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8e798c6+/bSY4bO7r9eTZloXK7zb3N2Z7J5/ + uv9gd3t3cr6zvT+bZdtZPr23PZ083Huwd77z8P7Dnbsv6+qymOV1c/eLYlpXTXXejk+qxWrd5nef + KxrNXUHi7sv1pCyaOVqfZMtqWUyz8u5x3Rbn2bR9c73Km7s/+cXZIrvI7355fo5mX03Wy3b9+79e + ZqvV9e9/UtX53ddvCZKgD+x/CY/hPUb+qirLYnlhP///3NjNAID/L/mNk+//P29+Lmz7AQAA + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 06 May 2016 16:41:33 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 computemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core/skus/15.04/versions?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp + +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8d7O7v3xzsHew/HOp/fv2a+LGb68+3o9aaZ1 + sQKQ5u7OZPf80/0Hu9u7k/Od7f3ZLNvO8um97enk4d6DvfOdh/cf7tx9WVeXxSyvm7tfFNO6aqrz + dnxSLVbrNr/7XPFp7go2d1+uJ2XRzNH6JFtWy2KalXeP67Y4z6btm+tV3tz9yS/OFtlFfvfL83M0 + +2qyXrbr3//1Mlutrn//k6rO775+S5Awiv27P0lNGH5nWBjVL+GxvTdpHu7tj3cP7t+3X///gzR2 + WBjV1yHNp+OdPcAAec3X/z8gjT8sjOprk+b+mP7//z/S6LAwqq9NmofjvR2CYb7+/wtpdFgY1dck + zb3dg/Hug/t79uv/f5DGDguj+hDSPNx/aL/+/xFpMCyM6pf8xsn3/x81FIciwAcAAA== + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 06 May 2016 16:41:34 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 computemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core/skus/Rolling/versions?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73/f8H + KbtMDQIAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 06 May 2016 16:41:34 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 computemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core_Docker/skus?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp + +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8e798c6+/bSY4bO7r9eTZloXK7zb3N2Z7J5/ + uv9gd3t3cr6zvT+bZdtZPr23PZ083Huwd77z8P7Dnbsv6+qymOV1c/eLYlpXTXXejk+qxWrd5nef + KxrNXUHi7sv1pCyaOVqfZMtqWUyz8u5x3Rbn2bR9c73Km7s/+cXZIrvI7355fo5mX03Wy3b9+79e + ZqvV9e9/UtX57/+0mr7N67uv3xJAGQUG8Ut+4+T7/w9aDaNvBAEAAA== + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 06 May 2016 16:41:34 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 computemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/Canonical/artifacttypes/vmimage/offers/Ubuntu_Snappy_Core_Docker/skus/15.04/versions?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir73Gydp + +ovxT5p+VFbTrC2q5UeP0o+u8qZdNx+N9Ktltsjx8d7O7v3xzoOdg/Huw90H9utihi/vvl5Pmmld + rACkubsz2T3/dP/B7vbu5Hxne382y7azfHpvezp5uPdg73zn4f2HO3df1tVlMcvr5u4XxbSumuq8 + HZ9Ui9W6ze8+V3yau4LN3ZfrSVk0c7Q+yZbVsphm5d3jui3Os2n75nqVN3d/8ouzRXaR3/3y/BzN + vpqsl+3693+9zFar69//pKrz3/9pNX2b13dfvyWAGMz+3Z+kltxNZ3QY3C/hIb43hQ72DsZ79/Y/ + tV///4pCdnQY3C/5jZPv/z+2HDgHRwIAAA== + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 06 May 2016 16:41:35 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +version: 1 diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_from_group.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_from_group.yaml new file mode 100644 index 00000000000..f3bff8d4e8d --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_from_group.yaml @@ -0,0 +1,45 @@ +interactions: +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 computemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/XPLATTESTGEXTENSION9085/providers/Microsoft.Compute/virtualMachines?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk + 6UeXWbnOP3qUfg9/pSl/iOejVV2t8rot8oa+tR/TF5eLsxl99NFOtv/pg08PZtvZ/f397f3Z/nQ7 + O59Ntx/ufXp/d3fnXp7vfvrRyHtxntWzq6zOX9bVeVGiUw8sfX+5eF38AB9/9LrNljNq/fsf737k + mvwSH1jTVnV2MQirWNCXr/LzvM6X097X1GC1npRFM89r+u6jL4ppXTXVefvdYjmrrprXeX2Z16dN + ky/bIisbfxh4PqrOCTLevO0Lzdv1+zSnb5uiWuKV3fHOeG9n997uzu6BR4yQHPRK1Twtmrf0Rnek + VfPmegUSmN57vS2zBX8/LYvdPMtnDw4m9z6d5ef37t/brprt3f379/Z3H96/9/Dh/v3ey9M6z9r8 + y1Wr+D6rq8UZqN9reTkH33TQo8/XdUGffzRv21Xz6O7dd6sya3V637X7n967N56U1WQ8rep8fCVD + GC/zNmg4XbbUePfBwcO7txnFGLiEiITkJLSm2XReLC+A2qs8m323Lto8eCd846NZ1maYAsjL977v + vvKb0WQMcey0WqzWbV6/0Mng0V0uTmlU93b3Q2J+lM0WxfKrJq/N1GU/WNf5mj7oNFR6nVTL8+Ji + XWc6S0HX1IyE/bIAx/3kF8cXxJTUpK3XeQCLmuXLbFLmx+u2WhCk6VcrGjPrBzT22/pjpveanLik + RcNBwtCEXlX1W4865qMzmtr6PJuio+/9YqBq9dIv/iWjjwpiqo/uNutJM60L5sLm7s5k9/zT/Qe7 + 27uT853t/dks287y6b3t6eTh3oO9852H9x/u3K3zplrX0/zzulqvGuGmN3nTfk4kz5cgxsOdg/t3 + qb/LYkbyeNdqifELwexuD0OBsiymBGP/YP/eR7/k+8EoZ0V2sawaot0gH0yqqn3qmnW/pxYyCzRs + JrsHHo9RjF99TaEKOdz9EQyDaQIKkXyQria5oK5er6fTPJ8RYqale+cjzFL6TUzT7/3y+fGbN6ev + 33x++nu/OX3x+uzLF4PTdCIidfeyqNt1Vn7BAm0mKSJaVhEONmhVk97Yh/dOWU1JWFjsPqKhtPM8 + a9qsKTKvTZtd8EwrwfkHScov+X8AMvMTLaQHAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 06 May 2016 16:44:39 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +version: 1 From bc0229f5f0fbd4ab8342d940bd80375f114f6818 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Fri, 6 May 2016 10:04:03 -0700 Subject: [PATCH 10/27] Rename AutoCommandDefintion to just CommandDefinition --- src/azure/cli/commands/_auto_command.py | 2 +- src/azure/cli/tests/test_autocommand.py | 12 +- .../cli/command_modules/network/generated.py | 147 +++++++------- .../cli/command_modules/resource/generated.py | 44 ++--- .../cli/command_modules/storage/generated.py | 184 +++++++++--------- .../azure/cli/command_modules/vm/generated.py | 102 +++++----- 6 files changed, 245 insertions(+), 246 deletions(-) diff --git a/src/azure/cli/commands/_auto_command.py b/src/azure/cli/commands/_auto_command.py index 46cd823adb5..d1007210656 100644 --- a/src/azure/cli/commands/_auto_command.py +++ b/src/azure/cli/commands/_auto_command.py @@ -9,7 +9,7 @@ EXCLUDED_PARAMS = frozenset(['self', 'raw', 'custom_headers', 'operation_config', 'content_version', 'kwargs']) -class AutoCommandDefinition(object): #pylint: disable=too-few-public-methods +class CommandDefinition(object): #pylint: disable=too-few-public-methods def __init__(self, operation, return_type, command_alias=None): self.operation = operation diff --git a/src/azure/cli/tests/test_autocommand.py b/src/azure/cli/tests/test_autocommand.py index bfd64982b93..c0c2b690a32 100644 --- a/src/azure/cli/tests/test_autocommand.py +++ b/src/azure/cli/tests/test_autocommand.py @@ -3,7 +3,7 @@ from azure.cli.commands._auto_command import build_operation, _option_descriptions from azure.cli.commands import CommandTable -from azure.cli.commands._auto_command import AutoCommandDefinition +from azure.cli.commands._auto_command import CommandDefinition from azure.cli.main import main as cli from six import StringIO @@ -45,7 +45,7 @@ def test_autocommand_basic(self): "", None, [ - AutoCommandDefinition(Test_autocommand.sample_vm_get, None) + CommandDefinition(Test_autocommand.sample_vm_get, None) ], command_table) @@ -78,7 +78,7 @@ def test_autocommand_with_parameter_alias(self): "", None, [ - AutoCommandDefinition(Test_autocommand.sample_vm_get, None) + CommandDefinition(Test_autocommand.sample_vm_get, None) ], command_table, VM_SPECIFIC_PARAMS @@ -111,7 +111,7 @@ def test_autocommand_with_extra_parameters(self): "", None, [ - AutoCommandDefinition(Test_autocommand.sample_vm_get, None) + CommandDefinition(Test_autocommand.sample_vm_get, None) ], command_table, None, NEW_PARAMETERS @@ -137,7 +137,7 @@ def test_autocommand_with_command_alias(self): "", None, [ - AutoCommandDefinition(Test_autocommand.sample_vm_get, None, 'woot') + CommandDefinition(Test_autocommand.sample_vm_get, None, 'woot') ], command_table ) @@ -165,7 +165,7 @@ def sample_sdk_method_with_weired_docstring(self, param_a, param_b, param_c): "", None, [ - AutoCommandDefinition(sample_sdk_method_with_weired_docstring, None) + CommandDefinition(sample_sdk_method_with_weired_docstring, None) ], command_table) diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/generated.py b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/generated.py index d150c60db70..c950587b463 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/generated.py +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/generated.py @@ -24,7 +24,7 @@ from azure.cli.command_modules.network.mgmt.lib.operations import VNetOperations from azure.cli.command_modules.network.custom import ConvenienceNetworkCommands from azure.cli.command_modules.network._params import VNET_SPECIFIC_PARAMS, _network_client_factory -from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition +from azure.cli.commands._auto_command import build_operation, CommandDefinition from azure.cli.commands import CommandTable, LongRunningOperation from azure.cli._locale import L @@ -37,12 +37,12 @@ build_operation( 'network application-gateway', 'application_gateways', _network_client_factory, [ - AutoCommandDefinition(ApplicationGatewaysOperations.delete, LongRunningOperation(L('Deleting application gateway'), L('Application gateway deleted'))), - AutoCommandDefinition(ApplicationGatewaysOperations.get, 'ApplicationGateway', command_alias='show'), - AutoCommandDefinition(ApplicationGatewaysOperations.list, '[ApplicationGateway]'), - AutoCommandDefinition(ApplicationGatewaysOperations.list_all, '[ApplicationGateway]'), - AutoCommandDefinition(ApplicationGatewaysOperations.start, LongRunningOperation(L('Starting application gateway'), L('Application gateway started'))), - AutoCommandDefinition(ApplicationGatewaysOperations.stop, LongRunningOperation(L('Stopping application gateway'), L('Application gateway stopped'))), + CommandDefinition(ApplicationGatewaysOperations.delete, LongRunningOperation(L('Deleting application gateway'), L('Application gateway deleted'))), + CommandDefinition(ApplicationGatewaysOperations.get, 'ApplicationGateway', command_alias='show'), + CommandDefinition(ApplicationGatewaysOperations.list, '[ApplicationGateway]'), + CommandDefinition(ApplicationGatewaysOperations.list_all, '[ApplicationGateway]'), + CommandDefinition(ApplicationGatewaysOperations.start, LongRunningOperation(L('Starting application gateway'), L('Application gateway started'))), + CommandDefinition(ApplicationGatewaysOperations.stop, LongRunningOperation(L('Stopping application gateway'), L('Application gateway stopped'))), ], command_table, { @@ -53,9 +53,9 @@ build_operation( 'network express-route circuit-auth', 'express_route_circuit_authorizations', _network_client_factory, [ - AutoCommandDefinition(ExpressRouteCircuitAuthorizationsOperations.delete, LongRunningOperation(L('Deleting express route authorization'), L('Express route authorization deleted'))), - AutoCommandDefinition(ExpressRouteCircuitAuthorizationsOperations.get, 'ExpressRouteCircuitAuthorization', command_alias='show'), - AutoCommandDefinition(ExpressRouteCircuitAuthorizationsOperations.list, '[ExpressRouteCircuitAuthorization]'), + CommandDefinition(ExpressRouteCircuitAuthorizationsOperations.delete, LongRunningOperation(L('Deleting express route authorization'), L('Express route authorization deleted'))), + CommandDefinition(ExpressRouteCircuitAuthorizationsOperations.get, 'ExpressRouteCircuitAuthorization', command_alias='show'), + CommandDefinition(ExpressRouteCircuitAuthorizationsOperations.list, '[ExpressRouteCircuitAuthorization]'), ], command_table, { @@ -66,9 +66,9 @@ build_operation( 'network express-route circuit-peering', 'express_route_circuit_peerings', _network_client_factory, [ - AutoCommandDefinition(ExpressRouteCircuitPeeringsOperations.delete, LongRunningOperation(L('Deleting express route circuit peering'), L('Express route circuit peering deleted'))), - AutoCommandDefinition(ExpressRouteCircuitPeeringsOperations.get, 'ExpressRouteCircuitPeering', command_alias='show'), - AutoCommandDefinition(ExpressRouteCircuitPeeringsOperations.list, '[ExpressRouteCircuitPeering]'), + CommandDefinition(ExpressRouteCircuitPeeringsOperations.delete, LongRunningOperation(L('Deleting express route circuit peering'), L('Express route circuit peering deleted'))), + CommandDefinition(ExpressRouteCircuitPeeringsOperations.get, 'ExpressRouteCircuitPeering', command_alias='show'), + CommandDefinition(ExpressRouteCircuitPeeringsOperations.list, '[ExpressRouteCircuitPeering]'), ], command_table, { @@ -79,13 +79,13 @@ build_operation( 'network express-route circuit', 'express_route_circuits', _network_client_factory, [ - AutoCommandDefinition(ExpressRouteCircuitsOperations.delete, LongRunningOperation(L('Deleting express route circuit'), L('Express route circuit deleted'))), - AutoCommandDefinition(ExpressRouteCircuitsOperations.get, 'ExpressRouteCircuit', command_alias='show'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list_arp_table, '[ExpressRouteCircuitArpTable]', 'list-arp'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list_routes_table, '[ExpressRouteCircuitRoutesTable]', 'list-routes'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list_stats, '[ExpressRouteCircuitStats]'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list, '[ExpressRouteCircuit]'), - AutoCommandDefinition(ExpressRouteCircuitsOperations.list_all, '[ExpressRouteCircuit]'), + CommandDefinition(ExpressRouteCircuitsOperations.delete, LongRunningOperation(L('Deleting express route circuit'), L('Express route circuit deleted'))), + CommandDefinition(ExpressRouteCircuitsOperations.get, 'ExpressRouteCircuit', command_alias='show'), + CommandDefinition(ExpressRouteCircuitsOperations.list_arp_table, '[ExpressRouteCircuitArpTable]', 'list-arp'), + CommandDefinition(ExpressRouteCircuitsOperations.list_routes_table, '[ExpressRouteCircuitRoutesTable]', 'list-routes'), + CommandDefinition(ExpressRouteCircuitsOperations.list_stats, '[ExpressRouteCircuitStats]'), + CommandDefinition(ExpressRouteCircuitsOperations.list, '[ExpressRouteCircuit]'), + CommandDefinition(ExpressRouteCircuitsOperations.list_all, '[ExpressRouteCircuit]'), ], command_table, { @@ -96,7 +96,7 @@ build_operation( 'network express-route service-provider', 'express_route_service_providers', _network_client_factory, [ - AutoCommandDefinition(ExpressRouteServiceProvidersOperations.list, '[ExpressRouteServiceProvider]'), + CommandDefinition(ExpressRouteServiceProvidersOperations.list, '[ExpressRouteServiceProvider]'), ], command_table) @@ -104,10 +104,10 @@ build_operation( 'network lb', 'load_balancers', _network_client_factory, [ - AutoCommandDefinition(LoadBalancersOperations.delete, LongRunningOperation(L('Deleting load balancer'), L('Load balancer deleted'))), - AutoCommandDefinition(LoadBalancersOperations.get, 'LoadBalancer', command_alias='show'), - AutoCommandDefinition(LoadBalancersOperations.list_all, '[LoadBalancer]'), - AutoCommandDefinition(LoadBalancersOperations.list, '[LoadBalancer]'), + CommandDefinition(LoadBalancersOperations.delete, LongRunningOperation(L('Deleting load balancer'), L('Load balancer deleted'))), + CommandDefinition(LoadBalancersOperations.get, 'LoadBalancer', command_alias='show'), + CommandDefinition(LoadBalancersOperations.list_all, '[LoadBalancer]'), + CommandDefinition(LoadBalancersOperations.list, '[LoadBalancer]'), ], command_table, { @@ -118,9 +118,9 @@ build_operation( 'network local-gateway', 'local_network_gateways', _network_client_factory, [ - AutoCommandDefinition(LocalNetworkGatewaysOperations.get, 'LocalNetworkGateway', command_alias='show'), - AutoCommandDefinition(LocalNetworkGatewaysOperations.delete, LongRunningOperation(L('Deleting local network gateway'), L('Local network gateway deleted'))), - AutoCommandDefinition(LocalNetworkGatewaysOperations.list, '[LocalNetworkGateway]'), + CommandDefinition(LocalNetworkGatewaysOperations.get, 'LocalNetworkGateway', command_alias='show'), + CommandDefinition(LocalNetworkGatewaysOperations.delete, LongRunningOperation(L('Deleting local network gateway'), L('Local network gateway deleted'))), + CommandDefinition(LocalNetworkGatewaysOperations.list, '[LocalNetworkGateway]'), ], command_table, { @@ -132,10 +132,10 @@ build_operation( 'network nic', 'network_interfaces', _network_client_factory, [ - AutoCommandDefinition(NetworkInterfacesOperations.delete, LongRunningOperation(L('Deleting network interface'), L('Network interface deleted'))), - AutoCommandDefinition(NetworkInterfacesOperations.get, 'NetworkInterface', command_alias='show'), - AutoCommandDefinition(NetworkInterfacesOperations.list_all, '[NetworkInterface]'), - AutoCommandDefinition(NetworkInterfacesOperations.list, '[NetworkInterface]'), + CommandDefinition(NetworkInterfacesOperations.delete, LongRunningOperation(L('Deleting network interface'), L('Network interface deleted'))), + CommandDefinition(NetworkInterfacesOperations.get, 'NetworkInterface', command_alias='show'), + CommandDefinition(NetworkInterfacesOperations.list_all, '[NetworkInterface]'), + CommandDefinition(NetworkInterfacesOperations.list, '[NetworkInterface]'), ], command_table, { @@ -146,9 +146,9 @@ build_operation( 'network nic scale-set', 'network_interfaces', _network_client_factory, [ - AutoCommandDefinition(NetworkInterfacesOperations.list_virtual_machine_scale_set_vm_network_interfaces, '[NetworkInterface]', command_alias='list-vm-nics'), - AutoCommandDefinition(NetworkInterfacesOperations.list_virtual_machine_scale_set_network_interfaces, '[NetworkInterface]', command_alias='list'), - AutoCommandDefinition(NetworkInterfacesOperations.get_virtual_machine_scale_set_network_interface, 'NetworkInterface', command_alias='show'), + CommandDefinition(NetworkInterfacesOperations.list_virtual_machine_scale_set_vm_network_interfaces, '[NetworkInterface]', command_alias='list-vm-nics'), + CommandDefinition(NetworkInterfacesOperations.list_virtual_machine_scale_set_network_interfaces, '[NetworkInterface]', command_alias='list'), + CommandDefinition(NetworkInterfacesOperations.get_virtual_machine_scale_set_network_interface, 'NetworkInterface', command_alias='show'), ], command_table, { @@ -161,10 +161,10 @@ build_operation( 'network nsg', 'network_security_groups', _network_client_factory, [ - AutoCommandDefinition(NetworkSecurityGroupsOperations.delete, LongRunningOperation(L('Deleting network security group'), L('Network security group deleted'))), - AutoCommandDefinition(NetworkSecurityGroupsOperations.get, 'NetworkSecurityGroup', command_alias='show'), - AutoCommandDefinition(NetworkSecurityGroupsOperations.list_all, '[NetworkSecurityGroup]'), - AutoCommandDefinition(NetworkSecurityGroupsOperations.list, '[NetworkSecurityGroup]'), + CommandDefinition(NetworkSecurityGroupsOperations.delete, LongRunningOperation(L('Deleting network security group'), L('Network security group deleted'))), + CommandDefinition(NetworkSecurityGroupsOperations.get, 'NetworkSecurityGroup', command_alias='show'), + CommandDefinition(NetworkSecurityGroupsOperations.list_all, '[NetworkSecurityGroup]'), + CommandDefinition(NetworkSecurityGroupsOperations.list, '[NetworkSecurityGroup]'), ], command_table, { @@ -175,10 +175,10 @@ build_operation( 'network public-ip', 'public_ip_addresses', _network_client_factory, [ - AutoCommandDefinition(PublicIPAddressesOperations.delete, LongRunningOperation(L('Deleting public IP address'), L('Public IP address deleted'))), - AutoCommandDefinition(PublicIPAddressesOperations.get, 'PublicIPAddress', command_alias='show'), - AutoCommandDefinition(PublicIPAddressesOperations.list_all, '[PublicIPAddress]'), - AutoCommandDefinition(PublicIPAddressesOperations.list, '[PublicIPAddress]'), + CommandDefinition(PublicIPAddressesOperations.delete, LongRunningOperation(L('Deleting public IP address'), L('Public IP address deleted'))), + CommandDefinition(PublicIPAddressesOperations.get, 'PublicIPAddress', command_alias='show'), + CommandDefinition(PublicIPAddressesOperations.list_all, '[PublicIPAddress]'), + CommandDefinition(PublicIPAddressesOperations.list, '[PublicIPAddress]'), ], command_table, { @@ -189,10 +189,10 @@ build_operation( 'network route-table', 'route_tables', _network_client_factory, [ - AutoCommandDefinition(RouteTablesOperations.delete, LongRunningOperation(L('Deleting route table'), L('Route table deleted'))), - AutoCommandDefinition(RouteTablesOperations.get, 'RouteTable', command_alias='show'), - AutoCommandDefinition(RouteTablesOperations.list, '[RouteTable]'), - AutoCommandDefinition(RouteTablesOperations.list_all, '[RouteTable]'), + CommandDefinition(RouteTablesOperations.delete, LongRunningOperation(L('Deleting route table'), L('Route table deleted'))), + CommandDefinition(RouteTablesOperations.get, 'RouteTable', command_alias='show'), + CommandDefinition(RouteTablesOperations.list, '[RouteTable]'), + CommandDefinition(RouteTablesOperations.list_all, '[RouteTable]'), ], command_table, { @@ -204,9 +204,9 @@ build_operation( 'network route-operation', 'routes', _network_client_factory, [ - AutoCommandDefinition(RoutesOperations.delete, LongRunningOperation(L('Deleting route'), L('Route deleted'))), - AutoCommandDefinition(RoutesOperations.get, 'Route', command_alias='show'), - AutoCommandDefinition(RoutesOperations.list, '[Route]'), + CommandDefinition(RoutesOperations.delete, LongRunningOperation(L('Deleting route'), L('Route deleted'))), + CommandDefinition(RoutesOperations.get, 'Route', command_alias='show'), + CommandDefinition(RoutesOperations.list, '[Route]'), ], command_table, { @@ -217,9 +217,9 @@ build_operation( 'network nsg-rule', 'security_rules', _network_client_factory, [ - AutoCommandDefinition(SecurityRulesOperations.delete, LongRunningOperation(L('Deleting security rule'), L('Security rule deleted'))), - AutoCommandDefinition(SecurityRulesOperations.get, 'SecurityRule', command_alias='show'), - AutoCommandDefinition(SecurityRulesOperations.list, '[SecurityRule]'), + CommandDefinition(SecurityRulesOperations.delete, LongRunningOperation(L('Deleting security rule'), L('Security rule deleted'))), + CommandDefinition(SecurityRulesOperations.get, 'SecurityRule', command_alias='show'), + CommandDefinition(SecurityRulesOperations.list, '[SecurityRule]'), ], command_table, { @@ -231,9 +231,9 @@ build_operation( 'network vnet subnet', 'subnets', _network_client_factory, [ - AutoCommandDefinition(SubnetsOperations.delete, LongRunningOperation(L('Deleting subnet'), L('Subnet deleted'))), - AutoCommandDefinition(SubnetsOperations.get, 'Subnet', command_alias='show'), - AutoCommandDefinition(SubnetsOperations.list, '[Subnet]'), + CommandDefinition(SubnetsOperations.delete, LongRunningOperation(L('Deleting subnet'), L('Subnet deleted'))), + CommandDefinition(SubnetsOperations.get, 'Subnet', command_alias='show'), + CommandDefinition(SubnetsOperations.list, '[Subnet]'), ], command_table, { @@ -245,7 +245,7 @@ build_operation( 'network', 'usages', _network_client_factory, [ - AutoCommandDefinition(UsagesOperations.list, '[Usage]', command_alias='list-usages'), + CommandDefinition(UsagesOperations.list, '[Usage]', command_alias='list-usages'), ], command_table) @@ -253,9 +253,9 @@ build_operation( 'network vpn-connection', 'virtual_network_gateway_connections', _network_client_factory, [ - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.delete, LongRunningOperation(L('Deleting virtual network gateway connection'), L('Virtual network gateway connection deleted'))), - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.get, 'VirtualNetworkGatewayConnection', command_alias='show'), - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.list, '[VirtualNetworkGatewayConnection]'), + CommandDefinition(VirtualNetworkGatewayConnectionsOperations.delete, LongRunningOperation(L('Deleting virtual network gateway connection'), L('Virtual network gateway connection deleted'))), + CommandDefinition(VirtualNetworkGatewayConnectionsOperations.get, 'VirtualNetworkGatewayConnection', command_alias='show'), + CommandDefinition(VirtualNetworkGatewayConnectionsOperations.list, '[VirtualNetworkGatewayConnection]'), ], command_table, { @@ -266,9 +266,9 @@ build_operation( 'network vpn-connection shared-key', 'virtual_network_gateway_connections', _network_client_factory, [ - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.get_shared_key, 'ConnectionSharedKeyResult', command_alias='show'), - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.reset_shared_key, 'ConnectionResetSharedKey', command_alias='reset'), - AutoCommandDefinition(VirtualNetworkGatewayConnectionsOperations.set_shared_key, 'ConnectionSharedKey', command_alias='set'), + CommandDefinition(VirtualNetworkGatewayConnectionsOperations.get_shared_key, 'ConnectionSharedKeyResult', command_alias='show'), + CommandDefinition(VirtualNetworkGatewayConnectionsOperations.reset_shared_key, 'ConnectionResetSharedKey', command_alias='reset'), + CommandDefinition(VirtualNetworkGatewayConnectionsOperations.set_shared_key, 'ConnectionSharedKey', command_alias='set'), ], command_table, { @@ -280,10 +280,10 @@ build_operation( 'network vpn-gateway', 'virtual_network_gateways', _network_client_factory, [ - AutoCommandDefinition(VirtualNetworkGatewaysOperations.delete, LongRunningOperation(L('Deleting virtual network gateway'), L('Virtual network gateway deleted'))), - AutoCommandDefinition(VirtualNetworkGatewaysOperations.get, 'VirtualNetworkGateway', command_alias='show'), - AutoCommandDefinition(VirtualNetworkGatewaysOperations.list, '[VirtualNetworkGateway]'), - AutoCommandDefinition(VirtualNetworkGatewaysOperations.reset, 'VirtualNetworkGateway'), + CommandDefinition(VirtualNetworkGatewaysOperations.delete, LongRunningOperation(L('Deleting virtual network gateway'), L('Virtual network gateway deleted'))), + CommandDefinition(VirtualNetworkGatewaysOperations.get, 'VirtualNetworkGateway', command_alias='show'), + CommandDefinition(VirtualNetworkGatewaysOperations.list, '[VirtualNetworkGateway]'), + CommandDefinition(VirtualNetworkGatewaysOperations.reset, 'VirtualNetworkGateway'), ], command_table, { @@ -294,10 +294,10 @@ build_operation( 'network vnet', 'virtual_networks', _network_client_factory, [ - AutoCommandDefinition(VirtualNetworksOperations.delete, LongRunningOperation(L('Deleting virtual network'), L('Virtual network deleted'))), - AutoCommandDefinition(VirtualNetworksOperations.get, 'VirtualNetwork', command_alias='show'), - AutoCommandDefinition(VirtualNetworksOperations.list, '[VirtualNetwork]'), - AutoCommandDefinition(VirtualNetworksOperations.list_all, '[VirtualNetwork]'), + CommandDefinition(VirtualNetworksOperations.delete, LongRunningOperation(L('Deleting virtual network'), L('Virtual network deleted'))), + CommandDefinition(VirtualNetworksOperations.get, 'VirtualNetwork', command_alias='show'), + CommandDefinition(VirtualNetworksOperations.list, '[VirtualNetwork]'), + CommandDefinition(VirtualNetworksOperations.list_all, '[VirtualNetwork]'), ], command_table, { @@ -307,14 +307,13 @@ build_operation( 'network vnet', 'vnet', lambda _: get_mgmt_service_client(VNetClient, VNetClientConfig), [ - AutoCommandDefinition(VNetOperations.create, - LongRunningOperation(L('Creating virtual network'), L('Virtual network created'))) + CommandDefinition(VNetOperations.create, LongRunningOperation(L('Creating virtual network'), L('Virtual network created'))) ], command_table, VNET_SPECIFIC_PARAMS) build_operation( 'network subnet', None, ConvenienceNetworkCommands, [ - AutoCommandDefinition(ConvenienceNetworkCommands.create_update_subnet, 'Object', 'create') + CommandDefinition(ConvenienceNetworkCommands.create_update_subnet, 'Object', 'create') ], command_table) diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py index eee08804857..a7be16291ad 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py @@ -4,7 +4,7 @@ from azure.mgmt.resource.resources.operations.deployments_operations import DeploymentsOperations from azure.mgmt.resource.resources.operations.deployment_operations_operations \ import DeploymentOperationsOperations -from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition +from azure.cli.commands._auto_command import build_operation, CommandDefinition from azure.cli.commands import CommandTable, LongRunningOperation from azure.cli._locale import L @@ -21,11 +21,11 @@ def _patch_aliases(alias_items): build_operation( 'resource group', 'resource_groups', _resource_client_factory, [ - AutoCommandDefinition( + CommandDefinition( ResourceGroupsOperations.delete, LongRunningOperation(L('Deleting resource group'), L('Resource group deleted'))), - AutoCommandDefinition(ResourceGroupsOperations.get, 'ResourceGroup', 'show'), - AutoCommandDefinition(ResourceGroupsOperations.check_existence, 'Bool', 'exists'), + CommandDefinition(ResourceGroupsOperations.get, 'ResourceGroup', 'show'), + CommandDefinition(ResourceGroupsOperations.check_existence, 'Bool', 'exists'), ], command_table, _patch_aliases({ @@ -35,8 +35,8 @@ def _patch_aliases(alias_items): build_operation( 'resource group', None, ConvenienceResourceGroupCommands, [ - AutoCommandDefinition(ConvenienceResourceGroupCommands.list, '[ResourceGroup]'), - AutoCommandDefinition(ConvenienceResourceGroupCommands.create, 'ResourceGroup'), + CommandDefinition(ConvenienceResourceGroupCommands.list, '[ResourceGroup]'), + CommandDefinition(ConvenienceResourceGroupCommands.create, 'ResourceGroup'), ], command_table, _patch_aliases({ @@ -46,8 +46,8 @@ def _patch_aliases(alias_items): build_operation( 'resource', None, ConvenienceResourceCommands, [ - AutoCommandDefinition(ConvenienceResourceCommands.list, '[Resource]'), - AutoCommandDefinition(ConvenienceResourceCommands.show, 'Resource'), + CommandDefinition(ConvenienceResourceCommands.list, '[Resource]'), + CommandDefinition(ConvenienceResourceCommands.show, 'Resource'), ], command_table, _patch_aliases({ @@ -57,11 +57,11 @@ def _patch_aliases(alias_items): build_operation( 'tag', 'tags', _resource_client_factory, [ - AutoCommandDefinition(TagsOperations.list, '[Tag]'), - AutoCommandDefinition(TagsOperations.create_or_update, 'Tag', 'create'), - AutoCommandDefinition(TagsOperations.delete, None, 'delete'), - AutoCommandDefinition(TagsOperations.create_or_update_value, 'Tag', 'add-value'), - AutoCommandDefinition(TagsOperations.delete_value, None, 'remove-value'), + CommandDefinition(TagsOperations.list, '[Tag]'), + CommandDefinition(TagsOperations.create_or_update, 'Tag', 'create'), + CommandDefinition(TagsOperations.delete, None, 'delete'), + CommandDefinition(TagsOperations.create_or_update_value, 'Tag', 'add-value'), + CommandDefinition(TagsOperations.delete_value, None, 'remove-value'), ], command_table, _patch_aliases({ @@ -72,13 +72,13 @@ def _patch_aliases(alias_items): build_operation( 'resource group deployment', 'deployments', _resource_client_factory, [ - AutoCommandDefinition(DeploymentsOperations.list, '[Deployment]'), - AutoCommandDefinition(DeploymentsOperations.get, 'Deployment', 'show'), - #AutoCommandDefinition(DeploymentsOperations.validate, 'Object'), - #AutoCommandDefinition(DeploymentsOperations.delete, 'Object'), - AutoCommandDefinition(DeploymentsOperations.check_existence, 'Bool', 'exists'), - #AutoCommandDefinition(DeploymentsOperations.cancel, 'Object'), - #AutoCommandDefinition(DeploymentsOperations.create_or_update, 'Object', 'create'), + CommandDefinition(DeploymentsOperations.list, '[Deployment]'), + CommandDefinition(DeploymentsOperations.get, 'Deployment', 'show'), + #CommandDefinition(DeploymentsOperations.validate, 'Object'), + #CommandDefinition(DeploymentsOperations.delete, 'Object'), + CommandDefinition(DeploymentsOperations.check_existence, 'Bool', 'exists'), + #CommandDefinition(DeploymentsOperations.cancel, 'Object'), + #CommandDefinition(DeploymentsOperations.create_or_update, 'Object', 'create'), ], command_table, _patch_aliases({ @@ -88,8 +88,8 @@ def _patch_aliases(alias_items): build_operation( 'resource group deployment operation', 'deployment_operations', _resource_client_factory, [ - AutoCommandDefinition(DeploymentOperationsOperations.list, '[DeploymentOperations]'), - AutoCommandDefinition(DeploymentOperationsOperations.get, 'DeploymentOperations', 'show') + CommandDefinition(DeploymentOperationsOperations.list, '[DeploymentOperations]'), + CommandDefinition(DeploymentOperationsOperations.get, 'DeploymentOperations', 'show') ], command_table, _patch_aliases({ diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py index 71c51fb2cbb..61d99a8f331 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py @@ -1,7 +1,7 @@ from __future__ import print_function from azure.cli.commands import CommandTable, LongRunningOperation -from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition +from azure.cli.commands._auto_command import build_operation, CommandDefinition from azure.mgmt.storage.operations import StorageAccountsOperations from azure.storage.blob import BlockBlobService @@ -28,29 +28,29 @@ def _patch_aliases(alias_items): build_operation( 'storage account', 'storage_accounts', storage_client_factory, [ - AutoCommandDefinition(StorageAccountsOperations.check_name_availability, - 'Result', 'check-name'), - AutoCommandDefinition(StorageAccountsOperations.delete, None), - AutoCommandDefinition(StorageAccountsOperations.get_properties, 'StorageAccount', 'show') + CommandDefinition(StorageAccountsOperations.check_name_availability, + 'Result', 'check-name'), + CommandDefinition(StorageAccountsOperations.delete, None), + CommandDefinition(StorageAccountsOperations.get_properties, 'StorageAccount', 'show') ], command_table, PARAMETER_ALIASES) build_operation( 'storage account', None, cloud_storage_account_service_factory, [ - AutoCommandDefinition(CloudStorageAccount.generate_shared_access_signature, - 'SAS', 'generate-sas') + CommandDefinition(CloudStorageAccount.generate_shared_access_signature, + 'SAS', 'generate-sas') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage account', None, ConvenienceStorageAccountCommands, [ - AutoCommandDefinition( + CommandDefinition( ConvenienceStorageAccountCommands.create, LongRunningOperation('Creating storage account', 'Storage account created')), - AutoCommandDefinition(ConvenienceStorageAccountCommands.list, '[StorageAccount]'), - AutoCommandDefinition(ConvenienceStorageAccountCommands.show_usage, 'Object'), - AutoCommandDefinition(ConvenienceStorageAccountCommands.set, 'Object'), - AutoCommandDefinition(ConvenienceStorageAccountCommands.connection_string, 'Object') + CommandDefinition(ConvenienceStorageAccountCommands.list, '[StorageAccount]'), + CommandDefinition(ConvenienceStorageAccountCommands.show_usage, 'Object'), + CommandDefinition(ConvenienceStorageAccountCommands.set, 'Object'), + CommandDefinition(ConvenienceStorageAccountCommands.connection_string, 'Object') ], command_table, _patch_aliases({ 'account_type': {'name': '--type'} })) @@ -58,13 +58,13 @@ def _patch_aliases(alias_items): build_operation( 'storage account keys', 'storage_accounts', storage_client_factory, [ - AutoCommandDefinition(StorageAccountsOperations.list_keys, '[StorageAccountKeys]', 'list') + CommandDefinition(StorageAccountsOperations.list_keys, '[StorageAccountKeys]', 'list') ], command_table, PARAMETER_ALIASES) build_operation( 'storage account keys', None, ConvenienceStorageAccountCommands, [ - AutoCommandDefinition(ConvenienceStorageAccountCommands.renew_keys, 'Object', 'renew') + CommandDefinition(ConvenienceStorageAccountCommands.renew_keys, 'Object', 'renew') ], command_table, PARAMETER_ALIASES) # BLOB SERVICE COMMANDS @@ -72,64 +72,64 @@ def _patch_aliases(alias_items): build_operation( 'storage container', None, blob_data_service_factory, [ - AutoCommandDefinition(BlockBlobService.list_containers, '[Container]', 'list'), - AutoCommandDefinition(BlockBlobService.delete_container, 'Bool', 'delete'), - AutoCommandDefinition(BlockBlobService.get_container_properties, - 'ContainerProperties', 'show'), - AutoCommandDefinition(BlockBlobService.create_container, 'Bool', 'create'), - AutoCommandDefinition(BlockBlobService.generate_container_shared_access_signature, - 'SAS', 'generate-sas') + CommandDefinition(BlockBlobService.list_containers, '[Container]', 'list'), + CommandDefinition(BlockBlobService.delete_container, 'Bool', 'delete'), + CommandDefinition(BlockBlobService.get_container_properties, + 'ContainerProperties', 'show'), + CommandDefinition(BlockBlobService.create_container, 'Bool', 'create'), + CommandDefinition(BlockBlobService.generate_container_shared_access_signature, + 'SAS', 'generate-sas') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage container', None, ConvenienceBlobServiceCommands, [ - AutoCommandDefinition(ConvenienceBlobServiceCommands.container_exists, 'Bool', 'exists') + CommandDefinition(ConvenienceBlobServiceCommands.container_exists, 'Bool', 'exists') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage container acl', None, blob_data_service_factory, [ - AutoCommandDefinition(BlockBlobService.set_container_acl, 'StoredAccessPolicy', 'set'), - AutoCommandDefinition(BlockBlobService.get_container_acl, '[StoredAccessPolicy]', 'show'), + CommandDefinition(BlockBlobService.set_container_acl, 'StoredAccessPolicy', 'set'), + CommandDefinition(BlockBlobService.get_container_acl, '[StoredAccessPolicy]', 'show'), ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage container metadata', None, blob_data_service_factory, [ - AutoCommandDefinition(BlockBlobService.set_container_metadata, 'Properties', 'set'), - AutoCommandDefinition(BlockBlobService.get_container_metadata, 'Metadata', 'show'), + CommandDefinition(BlockBlobService.set_container_metadata, 'Properties', 'set'), + CommandDefinition(BlockBlobService.get_container_metadata, 'Metadata', 'show'), ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage container lease', None, blob_data_service_factory, [ - AutoCommandDefinition(BlockBlobService.acquire_container_lease, 'LeaseID', 'acquire'), - AutoCommandDefinition(BlockBlobService.renew_container_lease, 'LeaseID', 'renew'), - AutoCommandDefinition(BlockBlobService.release_container_lease, None, 'release'), - AutoCommandDefinition(BlockBlobService.change_container_lease, None, 'change'), - AutoCommandDefinition(BlockBlobService.break_container_lease, 'Int', 'break') + CommandDefinition(BlockBlobService.acquire_container_lease, 'LeaseID', 'acquire'), + CommandDefinition(BlockBlobService.renew_container_lease, 'LeaseID', 'renew'), + CommandDefinition(BlockBlobService.release_container_lease, None, 'release'), + CommandDefinition(BlockBlobService.change_container_lease, None, 'change'), + CommandDefinition(BlockBlobService.break_container_lease, 'Int', 'break') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage blob', None, blob_data_service_factory, [ - AutoCommandDefinition(BlockBlobService.list_blobs, '[Blob]', 'list'), - AutoCommandDefinition(BlockBlobService.delete_blob, None, 'delete'), - AutoCommandDefinition(BlockBlobService.generate_blob_shared_access_signature, - 'SAS', 'generate-sas'), - AutoCommandDefinition(BlockBlobService.make_blob_url, 'URL', 'url'), - AutoCommandDefinition(BlockBlobService.snapshot_blob, 'SnapshotProperties', 'snapshot'), - AutoCommandDefinition(BlockBlobService.get_blob_properties, 'Properties', 'show'), - AutoCommandDefinition(BlockBlobService.set_blob_properties, 'Propeties', 'set') + CommandDefinition(BlockBlobService.list_blobs, '[Blob]', 'list'), + CommandDefinition(BlockBlobService.delete_blob, None, 'delete'), + CommandDefinition(BlockBlobService.generate_blob_shared_access_signature, + 'SAS', 'generate-sas'), + CommandDefinition(BlockBlobService.make_blob_url, 'URL', 'url'), + CommandDefinition(BlockBlobService.snapshot_blob, 'SnapshotProperties', 'snapshot'), + CommandDefinition(BlockBlobService.get_blob_properties, 'Properties', 'show'), + CommandDefinition(BlockBlobService.set_blob_properties, 'Propeties', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage blob', None, ConvenienceBlobServiceCommands, [ - AutoCommandDefinition(ConvenienceBlobServiceCommands.blob_exists, 'Bool', 'exists'), - AutoCommandDefinition(ConvenienceBlobServiceCommands.download, 'Object'), - AutoCommandDefinition(ConvenienceBlobServiceCommands.upload, 'Object') + CommandDefinition(ConvenienceBlobServiceCommands.blob_exists, 'Bool', 'exists'), + CommandDefinition(ConvenienceBlobServiceCommands.download, 'Object'), + CommandDefinition(ConvenienceBlobServiceCommands.upload, 'Object') ], command_table, _patch_aliases({ 'blob_type': {'name': '--type'} }), STORAGE_DATA_CLIENT_ARGS) @@ -137,34 +137,34 @@ def _patch_aliases(alias_items): build_operation( 'storage blob service-properties', None, blob_data_service_factory, [ - AutoCommandDefinition(BlockBlobService.get_blob_service_properties, - '[ServiceProperties]', 'show'), - AutoCommandDefinition(BlockBlobService.set_blob_service_properties, - 'ServiceProperties', 'set') + CommandDefinition(BlockBlobService.get_blob_service_properties, + '[ServiceProperties]', 'show'), + CommandDefinition(BlockBlobService.set_blob_service_properties, + 'ServiceProperties', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage blob metadata', None, blob_data_service_factory, [ - AutoCommandDefinition(BlockBlobService.get_blob_metadata, 'Metadata', 'show'), - AutoCommandDefinition(BlockBlobService.set_blob_metadata, 'Metadata', 'set') + CommandDefinition(BlockBlobService.get_blob_metadata, 'Metadata', 'show'), + CommandDefinition(BlockBlobService.set_blob_metadata, 'Metadata', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage blob lease', None, blob_data_service_factory, [ - AutoCommandDefinition(BlockBlobService.acquire_blob_lease, 'LeaseID', 'acquire'), - AutoCommandDefinition(BlockBlobService.renew_blob_lease, 'LeaseID', 'renew'), - AutoCommandDefinition(BlockBlobService.release_blob_lease, None, 'release'), - AutoCommandDefinition(BlockBlobService.change_blob_lease, None, 'change'), - AutoCommandDefinition(BlockBlobService.break_blob_lease, 'Int', 'break') + CommandDefinition(BlockBlobService.acquire_blob_lease, 'LeaseID', 'acquire'), + CommandDefinition(BlockBlobService.renew_blob_lease, 'LeaseID', 'renew'), + CommandDefinition(BlockBlobService.release_blob_lease, None, 'release'), + CommandDefinition(BlockBlobService.change_blob_lease, None, 'change'), + CommandDefinition(BlockBlobService.break_blob_lease, 'Int', 'break') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage blob copy', None, blob_data_service_factory, [ - AutoCommandDefinition(BlockBlobService.copy_blob, 'CopyOperationProperties', 'start'), - AutoCommandDefinition(BlockBlobService.abort_copy_blob, None, 'cancel'), + CommandDefinition(BlockBlobService.copy_blob, 'CopyOperationProperties', 'start'), + CommandDefinition(BlockBlobService.abort_copy_blob, None, 'cancel'), ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) # FILE SERVICE COMMANDS @@ -172,70 +172,70 @@ def _patch_aliases(alias_items): build_operation( 'storage share', None, file_data_service_factory, [ - AutoCommandDefinition(FileService.list_shares, '[Share]', 'list'), - AutoCommandDefinition(FileService.list_directories_and_files, - '[ShareContents]', 'contents'), - AutoCommandDefinition(FileService.create_share, 'Boolean', 'create'), - AutoCommandDefinition(FileService.delete_share, 'Boolean', 'delete'), - AutoCommandDefinition(FileService.generate_share_shared_access_signature, - 'SAS', 'generate-sas'), - AutoCommandDefinition(FileService.get_share_stats, 'ShareStats', 'stats'), - AutoCommandDefinition(FileService.get_share_properties, 'Properties', 'show'), - AutoCommandDefinition(FileService.set_share_properties, 'Properties', 'set') + CommandDefinition(FileService.list_shares, '[Share]', 'list'), + CommandDefinition(FileService.list_directories_and_files, + '[ShareContents]', 'contents'), + CommandDefinition(FileService.create_share, 'Boolean', 'create'), + CommandDefinition(FileService.delete_share, 'Boolean', 'delete'), + CommandDefinition(FileService.generate_share_shared_access_signature, + 'SAS', 'generate-sas'), + CommandDefinition(FileService.get_share_stats, 'ShareStats', 'stats'), + CommandDefinition(FileService.get_share_properties, 'Properties', 'show'), + CommandDefinition(FileService.set_share_properties, 'Properties', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage share', None, ConvenienceFileServiceCommands, [ - AutoCommandDefinition(ConvenienceFileServiceCommands.share_exists, 'Boolean', 'exists') + CommandDefinition(ConvenienceFileServiceCommands.share_exists, 'Boolean', 'exists') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage share metadata', None, file_data_service_factory, [ - AutoCommandDefinition(FileService.get_share_metadata, 'Metadata', 'show'), - AutoCommandDefinition(FileService.set_share_metadata, 'Metadata', 'set') + CommandDefinition(FileService.get_share_metadata, 'Metadata', 'show'), + CommandDefinition(FileService.set_share_metadata, 'Metadata', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage share acl', None, file_data_service_factory, [ - AutoCommandDefinition(FileService.set_share_acl, '[StoredAccessPolicy]', 'set'), - AutoCommandDefinition(FileService.get_share_acl, 'StoredAccessPolicy', 'show'), + CommandDefinition(FileService.set_share_acl, '[StoredAccessPolicy]', 'set'), + CommandDefinition(FileService.get_share_acl, 'StoredAccessPolicy', 'show'), ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage directory', None, file_data_service_factory, [ - AutoCommandDefinition(FileService.create_directory, 'Boolean', 'create'), - AutoCommandDefinition(FileService.delete_directory, 'Boolean', 'delete'), - AutoCommandDefinition(FileService.get_directory_properties, 'Properties', 'show') + CommandDefinition(FileService.create_directory, 'Boolean', 'create'), + CommandDefinition(FileService.delete_directory, 'Boolean', 'delete'), + CommandDefinition(FileService.get_directory_properties, 'Properties', 'show') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage directory', None, ConvenienceFileServiceCommands, [ - AutoCommandDefinition(ConvenienceFileServiceCommands.dir_exists, 'Bool', 'exists') + CommandDefinition(ConvenienceFileServiceCommands.dir_exists, 'Bool', 'exists') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage directory metadata', None, file_data_service_factory, [ - AutoCommandDefinition(FileService.get_directory_metadata, 'Metadata', 'show'), - AutoCommandDefinition(FileService.set_directory_metadata, 'Metadata', 'set') + CommandDefinition(FileService.get_directory_metadata, 'Metadata', 'show'), + CommandDefinition(FileService.set_directory_metadata, 'Metadata', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage file', None, file_data_service_factory, [ - AutoCommandDefinition(FileService.delete_file, 'Boolean', 'delete'), - AutoCommandDefinition(FileService.resize_file, 'Result', 'resize'), - AutoCommandDefinition(FileService.make_file_url, 'URL', 'url'), - AutoCommandDefinition(FileService.generate_file_shared_access_signature, - 'SAS', 'generate-sas'), - AutoCommandDefinition(FileService.get_file_properties, 'Properties', 'show'), - AutoCommandDefinition(FileService.set_file_properties, 'Properties', 'set') + CommandDefinition(FileService.delete_file, 'Boolean', 'delete'), + CommandDefinition(FileService.resize_file, 'Result', 'resize'), + CommandDefinition(FileService.make_file_url, 'URL', 'url'), + CommandDefinition(FileService.generate_file_shared_access_signature, + 'SAS', 'generate-sas'), + CommandDefinition(FileService.get_file_properties, 'Properties', 'show'), + CommandDefinition(FileService.set_file_properties, 'Properties', 'set') ], command_table, _patch_aliases({ 'directory_name': {'required': False} }), STORAGE_DATA_CLIENT_ARGS) @@ -243,16 +243,16 @@ def _patch_aliases(alias_items): build_operation( 'storage file', None, ConvenienceFileServiceCommands, [ - AutoCommandDefinition(ConvenienceFileServiceCommands.file_exists, 'Bool', 'exists'), - AutoCommandDefinition(ConvenienceFileServiceCommands.download, 'Object'), - AutoCommandDefinition(ConvenienceFileServiceCommands.upload, 'Object') + CommandDefinition(ConvenienceFileServiceCommands.file_exists, 'Bool', 'exists'), + CommandDefinition(ConvenienceFileServiceCommands.download, 'Object'), + CommandDefinition(ConvenienceFileServiceCommands.upload, 'Object') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage file metadata', None, file_data_service_factory, [ - AutoCommandDefinition(FileService.get_file_metadata, 'Metadata', 'show'), - AutoCommandDefinition(FileService.set_file_metadata, 'Metadata', 'set') + CommandDefinition(FileService.get_file_metadata, 'Metadata', 'show'), + CommandDefinition(FileService.set_file_metadata, 'Metadata', 'set') ], command_table, _patch_aliases({ 'directory_name': {'required': False} }), STORAGE_DATA_CLIENT_ARGS) @@ -261,13 +261,13 @@ def _patch_aliases(alias_items): build_operation( 'storage file service-properties', None, file_data_service_factory, [ - AutoCommandDefinition(FileService.get_file_service_properties, 'ServiceProperties', 'show'), - AutoCommandDefinition(FileService.set_file_service_properties, 'ServiceProperties', 'set') + CommandDefinition(FileService.get_file_service_properties, 'ServiceProperties', 'show'), + CommandDefinition(FileService.set_file_service_properties, 'ServiceProperties', 'set') ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) build_operation( 'storage file copy', None, file_data_service_factory, [ - AutoCommandDefinition(FileService.copy_file, 'CopyOperationPropeties', 'start'), - AutoCommandDefinition(FileService.abort_copy_file, None, 'cancel'), + CommandDefinition(FileService.copy_file, 'CopyOperationPropeties', 'start'), + CommandDefinition(FileService.abort_copy_file, None, 'cancel'), ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index c7ce5fd39c1..f80159fe045 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -8,7 +8,7 @@ VirtualMachineScaleSetsOperations, VirtualMachineScaleSetVMsOperations) -from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition +from azure.cli.commands._auto_command import build_operation, CommandDefinition from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli.commands import CommandTable, LongRunningOperation from azure.cli.command_modules.vm.mgmt.lib import (VMCreationClient as VMClient, @@ -32,10 +32,10 @@ def _patch_aliases(alias_items): build_operation( 'vm availset', 'availability_sets', _compute_client_factory, [ - AutoCommandDefinition(AvailabilitySetsOperations.delete, None), - AutoCommandDefinition(AvailabilitySetsOperations.get, 'AvailabilitySet', command_alias='show'), - AutoCommandDefinition(AvailabilitySetsOperations.list, '[AvailabilitySet]'), - AutoCommandDefinition(AvailabilitySetsOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes') + CommandDefinition(AvailabilitySetsOperations.delete, None), + CommandDefinition(AvailabilitySetsOperations.get, 'AvailabilitySet', command_alias='show'), + CommandDefinition(AvailabilitySetsOperations.list, '[AvailabilitySet]'), + CommandDefinition(AvailabilitySetsOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes') ], command_table, _patch_aliases({ @@ -45,26 +45,26 @@ def _patch_aliases(alias_items): build_operation( 'vm machine-extension-image', 'virtual_machine_extension_images', _compute_client_factory, [ - AutoCommandDefinition(VirtualMachineExtensionImagesOperations.get, 'VirtualMachineExtensionImage', command_alias='show'), - AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_types, '[VirtualMachineImageResource]'), - AutoCommandDefinition(VirtualMachineExtensionImagesOperations.list_versions, '[VirtualMachineImageResource]'), + CommandDefinition(VirtualMachineExtensionImagesOperations.get, 'VirtualMachineExtensionImage', command_alias='show'), + CommandDefinition(VirtualMachineExtensionImagesOperations.list_types, '[VirtualMachineImageResource]'), + CommandDefinition(VirtualMachineExtensionImagesOperations.list_versions, '[VirtualMachineImageResource]'), ], command_table, PARAMETER_ALIASES) build_operation( 'vm disk', None, ConvenienceVmCommands, [ - AutoCommandDefinition(ConvenienceVmCommands.attach_new_disk, 'Object', 'attach-new'), - AutoCommandDefinition(ConvenienceVmCommands.attach_existing_disk, 'Object', 'attach-existing'), - AutoCommandDefinition(ConvenienceVmCommands.detach_disk, 'Object', 'detach'), + CommandDefinition(ConvenienceVmCommands.attach_new_disk, 'Object', 'attach-new'), + CommandDefinition(ConvenienceVmCommands.attach_existing_disk, 'Object', 'attach-existing'), + CommandDefinition(ConvenienceVmCommands.detach_disk, 'Object', 'detach'), ], command_table, PARAMETER_ALIASES, VM_PATCH_EXTRA_PARAMETERS) build_operation( 'vm extension', 'virtual_machine_extensions', _compute_client_factory, [ - AutoCommandDefinition(VirtualMachineExtensionsOperations.delete, LongRunningOperation(L('Deleting VM extension'), L('VM extension deleted'))), - AutoCommandDefinition(VirtualMachineExtensionsOperations.get, 'VirtualMachineExtension', command_alias='show'), + CommandDefinition(VirtualMachineExtensionsOperations.delete, LongRunningOperation(L('Deleting VM extension'), L('VM extension deleted'))), + CommandDefinition(VirtualMachineExtensionsOperations.get, 'VirtualMachineExtension', command_alias='show'), ], command_table, _patch_aliases({ @@ -74,38 +74,38 @@ def _patch_aliases(alias_items): build_operation( 'vm image', 'virtual_machine_images', _compute_client_factory, [ - AutoCommandDefinition(VirtualMachineImagesOperations.get, 'VirtualMachineImage', command_alias='show'), - AutoCommandDefinition(VirtualMachineImagesOperations.list_offers, '[VirtualMachineImageResource]'), - AutoCommandDefinition(VirtualMachineImagesOperations.list_publishers, '[VirtualMachineImageResource]'), - AutoCommandDefinition(VirtualMachineImagesOperations.list_skus, '[VirtualMachineImageResource]'), + CommandDefinition(VirtualMachineImagesOperations.get, 'VirtualMachineImage', command_alias='show'), + CommandDefinition(VirtualMachineImagesOperations.list_offers, '[VirtualMachineImageResource]'), + CommandDefinition(VirtualMachineImagesOperations.list_publishers, '[VirtualMachineImageResource]'), + CommandDefinition(VirtualMachineImagesOperations.list_skus, '[VirtualMachineImageResource]'), ], command_table, PARAMETER_ALIASES) build_operation( 'vm usage', 'usage', _compute_client_factory, [ - AutoCommandDefinition(UsageOperations.list, '[Usage]'), + CommandDefinition(UsageOperations.list, '[Usage]'), ], command_table, PARAMETER_ALIASES) build_operation( 'vm size', 'virtual_machine_sizes', _compute_client_factory, [ - AutoCommandDefinition(VirtualMachineSizesOperations.list, '[VirtualMachineSize]'), + CommandDefinition(VirtualMachineSizesOperations.list, '[VirtualMachineSize]'), ], command_table, PARAMETER_ALIASES) build_operation( 'vm', 'virtual_machines', _compute_client_factory, [ - AutoCommandDefinition(VirtualMachinesOperations.delete, LongRunningOperation(L('Deleting VM'), L('VM Deleted'))), - AutoCommandDefinition(VirtualMachinesOperations.deallocate, LongRunningOperation(L('Deallocating VM'), L('VM Deallocated'))), - AutoCommandDefinition(VirtualMachinesOperations.generalize, None), - AutoCommandDefinition(VirtualMachinesOperations.get, 'VirtualMachine', command_alias='show'), - AutoCommandDefinition(VirtualMachinesOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes'), - AutoCommandDefinition(VirtualMachinesOperations.power_off, LongRunningOperation(L('Powering off VM'), L('VM powered off'))), - AutoCommandDefinition(VirtualMachinesOperations.restart, LongRunningOperation(L('Restarting VM'), L('VM Restarted'))), - AutoCommandDefinition(VirtualMachinesOperations.start, LongRunningOperation(L('Starting VM'), L('VM Started'))), + CommandDefinition(VirtualMachinesOperations.delete, LongRunningOperation(L('Deleting VM'), L('VM Deleted'))), + CommandDefinition(VirtualMachinesOperations.deallocate, LongRunningOperation(L('Deallocating VM'), L('VM Deallocated'))), + CommandDefinition(VirtualMachinesOperations.generalize, None), + CommandDefinition(VirtualMachinesOperations.get, 'VirtualMachine', command_alias='show'), + CommandDefinition(VirtualMachinesOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes'), + CommandDefinition(VirtualMachinesOperations.power_off, LongRunningOperation(L('Powering off VM'), L('VM powered off'))), + CommandDefinition(VirtualMachinesOperations.restart, LongRunningOperation(L('Restarting VM'), L('VM Restarted'))), + CommandDefinition(VirtualMachinesOperations.start, LongRunningOperation(L('Starting VM'), L('VM Started'))), ], command_table, _patch_aliases({ @@ -115,18 +115,18 @@ def _patch_aliases(alias_items): build_operation( 'vm scaleset', 'virtual_machine_scale_sets', _compute_client_factory, [ - AutoCommandDefinition(VirtualMachineScaleSetsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set'), L('VM scale set deallocated'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete, LongRunningOperation(L('Deleting VM scale set'), L('VM scale set deleted'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.get, 'VirtualMachineScaleSet', command_alias='show'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.delete_instances, LongRunningOperation(L('Deleting VM scale set instances'), L('VM scale set instances deleted'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.get_instance_view, 'VirtualMachineScaleSetInstanceView'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.list, '[VirtualMachineScaleSet]'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_all, '[VirtualMachineScaleSet]'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.list_skus, '[VirtualMachineScaleSet]'), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.power_off, LongRunningOperation(L('Powering off VM scale set'), L('VM scale set powered off'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.restart, LongRunningOperation(L('Restarting VM scale set'), L('VM scale set restarted'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.start, LongRunningOperation(L('Starting VM scale set'), L('VM scale set started'))), - AutoCommandDefinition(VirtualMachineScaleSetsOperations.update_instances, LongRunningOperation(L('Updating VM scale set instances'), L('VM scale set instances updated'))), + CommandDefinition(VirtualMachineScaleSetsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set'), L('VM scale set deallocated'))), + CommandDefinition(VirtualMachineScaleSetsOperations.delete, LongRunningOperation(L('Deleting VM scale set'), L('VM scale set deleted'))), + CommandDefinition(VirtualMachineScaleSetsOperations.get, 'VirtualMachineScaleSet', command_alias='show'), + CommandDefinition(VirtualMachineScaleSetsOperations.delete_instances, LongRunningOperation(L('Deleting VM scale set instances'), L('VM scale set instances deleted'))), + CommandDefinition(VirtualMachineScaleSetsOperations.get_instance_view, 'VirtualMachineScaleSetInstanceView'), + CommandDefinition(VirtualMachineScaleSetsOperations.list, '[VirtualMachineScaleSet]'), + CommandDefinition(VirtualMachineScaleSetsOperations.list_all, '[VirtualMachineScaleSet]'), + CommandDefinition(VirtualMachineScaleSetsOperations.list_skus, '[VirtualMachineScaleSet]'), + CommandDefinition(VirtualMachineScaleSetsOperations.power_off, LongRunningOperation(L('Powering off VM scale set'), L('VM scale set powered off'))), + CommandDefinition(VirtualMachineScaleSetsOperations.restart, LongRunningOperation(L('Restarting VM scale set'), L('VM scale set restarted'))), + CommandDefinition(VirtualMachineScaleSetsOperations.start, LongRunningOperation(L('Starting VM scale set'), L('VM scale set started'))), + CommandDefinition(VirtualMachineScaleSetsOperations.update_instances, LongRunningOperation(L('Updating VM scale set instances'), L('VM scale set instances updated'))), ], command_table, _patch_aliases({ @@ -136,14 +136,14 @@ def _patch_aliases(alias_items): build_operation( 'vm scaleset-vm', 'virtual_machine_scale_set_vms', _compute_client_factory, [ - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set VMs'), L('VM scale set VMs deallocated'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.delete, LongRunningOperation(L('Deleting VM scale set VMs'), L('VM scale set VMs deleted'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get, 'VirtualMachineScaleSetVM', command_alias='show'), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.get_instance_view, 'VirtualMachineScaleSetVMInstanceView'), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.list, '[VirtualMachineScaleSetVM]'), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.power_off, LongRunningOperation(L('Powering off VM scale set VMs'), L('VM scale set VMs powered off'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.restart, LongRunningOperation(L('Restarting VM scale set VMs'), L('VM scale set VMs restarted'))), - AutoCommandDefinition(VirtualMachineScaleSetVMsOperations.start, LongRunningOperation(L('Starting VM scale set VMs'), L('VM scale set VMs started'))), + CommandDefinition(VirtualMachineScaleSetVMsOperations.deallocate, LongRunningOperation(L('Deallocating VM scale set VMs'), L('VM scale set VMs deallocated'))), + CommandDefinition(VirtualMachineScaleSetVMsOperations.delete, LongRunningOperation(L('Deleting VM scale set VMs'), L('VM scale set VMs deleted'))), + CommandDefinition(VirtualMachineScaleSetVMsOperations.get, 'VirtualMachineScaleSetVM', command_alias='show'), + CommandDefinition(VirtualMachineScaleSetVMsOperations.get_instance_view, 'VirtualMachineScaleSetVMInstanceView'), + CommandDefinition(VirtualMachineScaleSetVMsOperations.list, '[VirtualMachineScaleSetVM]'), + CommandDefinition(VirtualMachineScaleSetVMsOperations.power_off, LongRunningOperation(L('Powering off VM scale set VMs'), L('VM scale set VMs powered off'))), + CommandDefinition(VirtualMachineScaleSetVMsOperations.restart, LongRunningOperation(L('Restarting VM scale set VMs'), L('VM scale set VMs restarted'))), + CommandDefinition(VirtualMachineScaleSetVMsOperations.start, LongRunningOperation(L('Starting VM scale set VMs'), L('VM scale set VMs started'))), ], command_table, _patch_aliases({ @@ -153,15 +153,15 @@ def _patch_aliases(alias_items): build_operation( 'vm', None, ConvenienceVmCommands, [ - AutoCommandDefinition(ConvenienceVmCommands.list_ip_addresses, 'object'), - AutoCommandDefinition(ConvenienceVmCommands.list, '[VirtualMachine]') + CommandDefinition(ConvenienceVmCommands.list_ip_addresses, 'object'), + CommandDefinition(ConvenienceVmCommands.list, '[VirtualMachine]') ], command_table, PARAMETER_ALIASES) build_operation( 'vm', 'vm', lambda **_: get_mgmt_service_client(VMClient, VMClientConfig), [ - AutoCommandDefinition( + CommandDefinition( VMOperations.create_or_update, LongRunningOperation(L('Creating virtual machine'), L('Virtual machine created')), 'create') @@ -171,7 +171,7 @@ def _patch_aliases(alias_items): build_operation( 'vm image', None, ConvenienceVmCommands, [ - AutoCommandDefinition(ConvenienceVmCommands.list_vm_images, 'object', 'list') + CommandDefinition(ConvenienceVmCommands.list_vm_images, 'object', 'list') ], command_table, _patch_aliases({ 'image_location': {'name': '--location -l'} From b05dd0c8937345389323e3a3ebb2c67d7ef90b94 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Fri, 6 May 2016 11:33:24 -0700 Subject: [PATCH 11/27] Convert component package to semi-auto --- .../cli/command_modules/component/__init__.py | 155 +----------------- .../cli/command_modules/component/_params.py | 30 ++++ .../cli/command_modules/component/custom.py | 115 +++++++++++++ .../command_modules/component/generated.py | 39 +++++ .../cli/command_modules/storage/__init__.py | 7 +- 5 files changed, 188 insertions(+), 158 deletions(-) create mode 100644 src/command_modules/azure-cli-component/azure/cli/command_modules/component/_params.py create mode 100644 src/command_modules/azure-cli-component/azure/cli/command_modules/component/custom.py create mode 100644 src/command_modules/azure-cli-component/azure/cli/command_modules/component/generated.py diff --git a/src/command_modules/azure-cli-component/azure/cli/command_modules/component/__init__.py b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/__init__.py index bb68a0b1c80..c4578d074f0 100644 --- a/src/command_modules/azure-cli-component/azure/cli/command_modules/component/__init__.py +++ b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/__init__.py @@ -1,153 +1,2 @@ -from __future__ import print_function -import os -import pip -from six.moves import input #pylint: disable=redefined-builtin - -from azure.cli.parser import IncorrectUsageError -from azure.cli.commands import CommandTable -from azure.cli._locale import L - -from azure.cli.utils.update_checker import check_for_component_update - -CLI_PACKAGE_NAME = 'azure-cli' -COMPONENT_PREFIX = 'azure-cli-' - -PRIVATE_PYPI_URL_ENV_NAME = 'AZURE_CLI_PRIVATE_PYPI_URL' -PRIVATE_PYPI_URL = os.environ.get(PRIVATE_PYPI_URL_ENV_NAME) -PRIVATE_PYPI_HOST_ENV_NAME = 'AZURE_CLI_PRIVATE_PYPI_HOST' -PRIVATE_PYPI_HOST = os.environ.get(PRIVATE_PYPI_HOST_ENV_NAME) - -command_table = CommandTable() - -@command_table.command('component list') -@command_table.description(L('List the installed components.')) -def list_components(args): #pylint: disable=unused-argument - return sorted([{'name': dist.key.replace(COMPONENT_PREFIX, ''), 'version': dist.version} - for dist in pip.get_installed_distributions(local_only=True) - if dist.key.startswith(COMPONENT_PREFIX)], key=lambda x: x['name']) - -def _install_or_update(component_name, version, link, private, upgrade=False): - if not component_name: - raise IncorrectUsageError(L('Specify a component name.')) - found = bool([dist for dist in pip.get_installed_distributions(local_only=True) - if dist.key == COMPONENT_PREFIX + component_name]) - if found and not upgrade: - raise RuntimeError("Component already installed.") - else: - version_no = '==' + version if version else '' - options = ['--quiet', '--isolated', '--disable-pip-version-check'] - if upgrade: - options.append('--upgrade') - pkg_index_options = [] - if link: - pkg_index_options += ['--find-links', link] - if private: - if not PRIVATE_PYPI_URL: - raise RuntimeError('{} environment variable not set.' - .format(PRIVATE_PYPI_URL_ENV_NAME)) - if not PRIVATE_PYPI_HOST: - raise RuntimeError('{} environment variable not set.' - .format(PRIVATE_PYPI_HOST_ENV_NAME)) - pkg_index_options += ['--extra-index-url', PRIVATE_PYPI_URL, - '--trusted-host', PRIVATE_PYPI_HOST] - pip.main(['install'] + options + [COMPONENT_PREFIX + component_name+version_no] - + pkg_index_options) - -@command_table.command('component install') -@command_table.description(L('Install a component')) -@command_table.option('--name -n', help=L('Name of component to install'), required=True) -@command_table.option('--version', help=L('Component version (otherwise latest)')) -@command_table.option('--link -l', help=L("If a url or path to an html file, then parse \ -for links to archives. If a local path or \ -file:// url that's a directory,then look for \ -archives in the directory listing.")) -@command_table.option('--private -p', action='store_true', - help=L('Get from the project private PyPI server')) -def install_component(args): - _install_or_update(args.get('name'), args.get('version'), args.get('link'), - args.get('private'), upgrade=False) - -@command_table.command('component update') -@command_table.description(L('Update a component')) -@command_table.option('--name -n', help=L('Name of component to install'), required=True) -@command_table.option('--link -l', help=L("If a url or path to an html file, then parse \ -for links to archives. If a local path or \ -file:// url that's a directory,then look for \ -archives in the directory listing.")) -@command_table.option('--private -p', action='store_true', - help=L('Get from the project private PyPI server')) -def update_component(args): - _install_or_update(args.get('name'), None, args.get('link'), args.get('private'), upgrade=True) - -@command_table.command('component update-self') -@command_table.description(L('Update the CLI')) -@command_table.option('--private -p', action='store_true', - help=L('Get from the project private PyPI server')) -def update_self(args): - pkg_index_options = [] - if args.get('private'): - if not PRIVATE_PYPI_URL: - raise RuntimeError('{} environment variable not set.' - .format(PRIVATE_PYPI_URL_ENV_NAME)) - if not PRIVATE_PYPI_HOST: - raise RuntimeError('{} environment variable not set.' - .format(PRIVATE_PYPI_HOST_ENV_NAME)) - pkg_index_options += ['--extra-index-url', PRIVATE_PYPI_URL, - '--trusted-host', PRIVATE_PYPI_HOST] - pip.main(['install', '--quiet', '--isolated', '--disable-pip-version-check', '--upgrade'] - + [CLI_PACKAGE_NAME] + pkg_index_options) - -@command_table.command('component update-all') -@command_table.description(L('Update all components')) -@command_table.option('--link -l', help=L("If a url or path to an html file, then parse \ -for links to archives. If a local path or \ -file:// url that's a directory,then look for \ -archives in the directory listing.")) -@command_table.option('--private -p', action='store_true', - help=L('Get from the project private PyPI server')) -def update_all_components(args): - component_names = [dist.key.replace(COMPONENT_PREFIX, '') - for dist in pip.get_installed_distributions(local_only=True) - if dist.key.startswith(COMPONENT_PREFIX)] - for component_name in component_names: - _install_or_update(component_name, None, args.get('link'), - args.get('private'), upgrade=True) - -@command_table.command('component check') -@command_table.description(L('Check a component for an update')) -@command_table.option('--name -n', help=L('Name of component to remove'), required=True) -@command_table.option('--private -p', action='store_true', - help=L('Look for updates from the project private PyPI server')) -def check_component(args): - component_name = args.get('name') - private = args.get('private') - found = bool([dist for dist in pip.get_installed_distributions(local_only=True) - if dist.key == COMPONENT_PREFIX+component_name]) - if not found: - raise RuntimeError(L("Component not installed.")) - update_status = check_for_component_update(component_name, private) - result = {} - result['currentVersion'] = str(update_status['current_version']) - result['latestVersion'] = str(update_status['latest_version']) - result['updateAvailable'] = update_status['update_available'] - return result - -@command_table.command('component remove') -@command_table.description(L('Remove a component')) -@command_table.option('--name -n', help=L('Name of component to remove'), required=True) -@command_table.option('--force -f', action='store_true', - help=L('supress delete confirmation prompt')) -def remove_component(args): - component_name = args.get('name') - prompt_for_delete = args.get('force') is None - found = bool([dist for dist in pip.get_installed_distributions(local_only=True) - if dist.key == COMPONENT_PREFIX+component_name]) - if found: - if prompt_for_delete: - ans = input("Really delete '{}'? [y/N] ".format(component_name)) - if not ans or ans[0].lower() != 'y': - return - pip.main(['uninstall', '--quiet', '--isolated', '--yes', - '--disable-pip-version-check', COMPONENT_PREFIX+component_name]) - else: - raise RuntimeError(L("Component not installed.")) +# pylint: disable=unused-import +from .generated import command_table diff --git a/src/command_modules/azure-cli-component/azure/cli/command_modules/component/_params.py b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/_params.py new file mode 100644 index 00000000000..2c19386e9a7 --- /dev/null +++ b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/_params.py @@ -0,0 +1,30 @@ +from azure.cli._locale import L + +# BASIC PARAMETER CONFIGURATION + +PARAMETER_ALIASES = { + 'component_name': { + 'name': '--name -n', + 'help': L('Name of component'), + }, + 'force': { + 'name': '--force -f', + 'help': L('Suppress delete confirmation prompt'), + 'action': 'store_true' + }, + 'link': { + 'name': '--link -l', + 'help': L('If a url or path to an html file, the parse for links to archives. If local ' + \ + 'path or file:// url that\'s a directory, then look for archives in the ' + \ + 'directory listing.') + }, + 'private': { + 'name': '--private -p', + 'action': 'store_true', + 'help': L('Get from the project PyPI server') + }, + 'version': { + 'name': '--version', + 'help': L('Component version (otherwise latest)') + } +} diff --git a/src/command_modules/azure-cli-component/azure/cli/command_modules/component/custom.py b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/custom.py new file mode 100644 index 00000000000..948d6ee3826 --- /dev/null +++ b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/custom.py @@ -0,0 +1,115 @@ +# pylint: disable=no-self-use +from __future__ import print_function +import os +import pip +from six.moves import input #pylint: disable=redefined-builtin + +from azure.cli.parser import IncorrectUsageError +from azure.cli._locale import L + +from azure.cli.utils.update_checker import check_for_component_update + +CLI_PACKAGE_NAME = 'azure-cli' +COMPONENT_PREFIX = 'azure-cli-' + +PRIVATE_PYPI_URL_ENV_NAME = 'AZURE_CLI_PRIVATE_PYPI_URL' +PRIVATE_PYPI_URL = os.environ.get(PRIVATE_PYPI_URL_ENV_NAME) +PRIVATE_PYPI_HOST_ENV_NAME = 'AZURE_CLI_PRIVATE_PYPI_HOST' +PRIVATE_PYPI_HOST = os.environ.get(PRIVATE_PYPI_HOST_ENV_NAME) + +def _install_or_update(component_name, version, link, private, upgrade=False): + if not component_name: + raise IncorrectUsageError(L('Specify a component name.')) + found = bool([dist for dist in pip.get_installed_distributions(local_only=True) + if dist.key == COMPONENT_PREFIX + component_name]) + if found and not upgrade: + raise RuntimeError("Component already installed.") + else: + version_no = '==' + version if version else '' + options = ['--quiet', '--isolated', '--disable-pip-version-check'] + if upgrade: + options.append('--upgrade') + pkg_index_options = [] + if link: + pkg_index_options += ['--find-links', link] + if private: + if not PRIVATE_PYPI_URL: + raise RuntimeError('{} environment variable not set.' + .format(PRIVATE_PYPI_URL_ENV_NAME)) + if not PRIVATE_PYPI_HOST: + raise RuntimeError('{} environment variable not set.' + .format(PRIVATE_PYPI_HOST_ENV_NAME)) + pkg_index_options += ['--extra-index-url', PRIVATE_PYPI_URL, + '--trusted-host', PRIVATE_PYPI_HOST] + pip.main(['install'] + options + [COMPONENT_PREFIX + component_name+version_no] + + pkg_index_options) + +class ComponentCommands(object): + + def __init__(self, **_): + pass + + def list(self): + ''' List the installed components.''' + return sorted([{'name': dist.key.replace(COMPONENT_PREFIX, ''), 'version': dist.version} + for dist in pip.get_installed_distributions(local_only=True) + if dist.key.startswith(COMPONENT_PREFIX)], key=lambda x: x['name']) + + def install(self, component_name, link, private=False, version=None): + ''' Install a component''' + _install_or_update(component_name, version, link, private, upgrade=False) + + def update(self, component_name, link, private=False): + ''' Update a component''' + _install_or_update(component_name, None, link, private, upgrade=True) + + def update_self(self, private=False): + ''' Update the CLI''' + pkg_index_options = [] + if private: + if not PRIVATE_PYPI_URL: + raise RuntimeError('{} environment variable not set.' + .format(PRIVATE_PYPI_URL_ENV_NAME)) + if not PRIVATE_PYPI_HOST: + raise RuntimeError('{} environment variable not set.' + .format(PRIVATE_PYPI_HOST_ENV_NAME)) + pkg_index_options += ['--extra-index-url', PRIVATE_PYPI_URL, + '--trusted-host', PRIVATE_PYPI_HOST] + pip.main(['install', '--quiet', '--isolated', '--disable-pip-version-check', '--upgrade'] + + [CLI_PACKAGE_NAME] + pkg_index_options) + + def update_all(self, link, private=False): + ''' Update all components''' + component_names = [dist.key.replace(COMPONENT_PREFIX, '') + for dist in pip.get_installed_distributions(local_only=True) + if dist.key.startswith(COMPONENT_PREFIX)] + for name in component_names: + _install_or_update(name, None, link, private, upgrade=True) + + def check_component(self, component_name, private=False): + ''' Check a component for an update''' + found = bool([dist for dist in pip.get_installed_distributions(local_only=True) + if dist.key == COMPONENT_PREFIX + component_name]) + if not found: + raise RuntimeError(L("Component not installed.")) + update_status = check_for_component_update(component_name, private) + result = {} + result['currentVersion'] = str(update_status['current_version']) + result['latestVersion'] = str(update_status['latest_version']) + result['updateAvailable'] = update_status['update_available'] + return result + + def remove(self, component_name, force=False): + ''' Remove a component''' + prompt_for_delete = force is None + found = bool([dist for dist in pip.get_installed_distributions(local_only=True) + if dist.key == COMPONENT_PREFIX + component_name]) + if found: + if prompt_for_delete: + ans = input("Really delete '{}'? [y/N] ".format(component_name)) + if not ans or ans[0].lower() != 'y': + return + pip.main(['uninstall', '--quiet', '--isolated', '--yes', + '--disable-pip-version-check', COMPONENT_PREFIX + component_name]) + else: + raise RuntimeError(L("Component not installed.")) diff --git a/src/command_modules/azure-cli-component/azure/cli/command_modules/component/generated.py b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/generated.py new file mode 100644 index 00000000000..9006ef6aa1f --- /dev/null +++ b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/generated.py @@ -0,0 +1,39 @@ +from __future__ import print_function + +from azure.cli.commands import CommandTable +from azure.cli.commands._auto_command import build_operation, CommandDefinition + +from ._params import PARAMETER_ALIASES +from .custom import ComponentCommands + +command_table = CommandTable() + +# HELPER METHODS + +def _patch_aliases(alias_items): + aliases = PARAMETER_ALIASES.copy() + aliases.update(alias_items) + return aliases + +build_operation( + 'component', None, ComponentCommands, + [ + CommandDefinition(ComponentCommands.list, '[Component]'), + CommandDefinition(ComponentCommands.install, 'Result'), + CommandDefinition(ComponentCommands.update, 'Result'), + CommandDefinition(ComponentCommands.update_all, 'Result'), + CommandDefinition(ComponentCommands.update_self, 'Result'), + CommandDefinition(ComponentCommands.remove, 'Result'), + CommandDefinition(ComponentCommands.check_component, 'Result', 'check') + ], command_table, PARAMETER_ALIASES) + +#@command_table.option('--name -n', help=L('Name of component to install'), required=True) +#@command_table.option('--name -n', help=L('Name of component to install'), required=True) +#@command_table.option('--name -n', help=L('Name of component to remove'), required=True) +#@command_table.option('--name -n', help=L('Name of component to remove'), required=True) + +#@command_table.option('--private -p', action='store_true', +# help=L('Look for updates from the project private PyPI server')) + +#@command_table.option('--version', help=L('Component version (otherwise latest)')) + diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/__init__.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/__init__.py index 69553b3401f..c4578d074f0 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/__init__.py +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/__init__.py @@ -1,5 +1,2 @@ -from .generated import command_table as generated_command_table -from .custom import command_table as convenience_command_table - -command_table = generated_command_table -command_table.update(convenience_command_table) +# pylint: disable=unused-import +from .generated import command_table From 4652170f7f5e7723184b26f991e7d371692e7428 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Fri, 6 May 2016 13:37:07 -0700 Subject: [PATCH 12/27] Fix import error. --- .../azure-cli-vm/azure/cli/command_modules/vm/custom.py | 1 + testall.bat | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index 9bf30b7d8be..302f020b85b 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -12,6 +12,7 @@ from azure.mgmt.compute.models.compute_management_client_enums import DiskCreateOptionTypes from azure.cli.commands import CommandTable, LongRunningOperation from azure.cli.commands._command_creation import get_mgmt_service_client +from azure.cli._util import CLIError from ._params import _compute_client_factory diff --git a/testall.bat b/testall.bat index 9b9e522a1b6..198c584060e 100644 --- a/testall.bat +++ b/testall.bat @@ -1,4 +1,4 @@ @echo off cls -python -m unittest discover -s src/azure/cli/tests +python -m unittest discover -s src/azure/cli/tests --buffer python scripts/command_modules/test.py \ No newline at end of file From c87b0048546284c88172b6b1d3f0ca228e023850 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Fri, 6 May 2016 14:20:50 -0700 Subject: [PATCH 13/27] Convert profile package. --- .../cli/command_modules/profile/__init__.py | 8 +-- .../cli/command_modules/profile/_params.py | 30 +++++++++ .../cli/command_modules/profile/account.py | 43 ------------- .../command_modules/profile/command_tables.py | 10 --- .../cli/command_modules/profile/custom.py | 64 +++++++++++++++++++ .../cli/command_modules/profile/generated.py | 38 +++++++++++ .../cli/command_modules/profile/login.py | 50 --------------- .../cli/command_modules/profile/logout.py | 18 ------ 8 files changed, 134 insertions(+), 127 deletions(-) create mode 100644 src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/_params.py delete mode 100644 src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/account.py delete mode 100644 src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/command_tables.py create mode 100644 src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/custom.py create mode 100644 src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/generated.py delete mode 100644 src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/login.py delete mode 100644 src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/logout.py diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/__init__.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/__init__.py index 73f6919d352..c4578d074f0 100644 --- a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/__init__.py +++ b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/__init__.py @@ -1,6 +1,2 @@ -import azure.cli.command_modules.profile.account #pylint: disable=unused-import -import azure.cli.command_modules.profile.login #pylint: disable=unused-import -import azure.cli.command_modules.profile.logout #pylint: disable=unused-import -from azure.cli.command_modules.profile.command_tables import generate_command_table - -command_table = generate_command_table() +# pylint: disable=unused-import +from .generated import command_table diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/_params.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/_params.py new file mode 100644 index 00000000000..9f8f2c78ab7 --- /dev/null +++ b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/_params.py @@ -0,0 +1,30 @@ +from azure.cli.commands import COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS +from azure.cli._locale import L + +# BASIC PARAMETER CONFIGURATION + +PARAMETER_ALIASES = GLOBAL_COMMON_PARAMETERS.copy() +PARAMETER_ALIASES.update({ + 'password': { + 'name': '--name -n', + 'help': L('User password or client secret. Will prompt if not given.'), + }, + 'service_principal': { + 'name': '--service-principal', + 'action': 'store_true', + 'help': L('The credential representing a service principal.') + }, + 'subscription_name_or_id': { + 'name': '--subscription-name-or-id -n', + 'metavar': 'SUBSCRIPTION_NAME_OR_ID', + 'help': L('Subscription id. Unique name also works.') + }, + 'tenant': { + 'name': '--tenant -t', + 'help': L('The tenant associated with the service principal.') + }, + 'username': { + 'name': '--username -u', + 'help': L('Organization Id or service principal.') + } +}) diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/account.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/account.py deleted file mode 100644 index 2cf12b2dc9b..00000000000 --- a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/account.py +++ /dev/null @@ -1,43 +0,0 @@ -from azure.cli._profile import Profile -from azure.cli.commands import CommandTable -from azure.cli._locale import L -from azure.cli._util import CLIError -from .command_tables import COMMAND_TABLES -import azure.cli._logging as _logging - -logger = _logging.get_az_logger(__name__) - -command_table = CommandTable() - -COMMAND_TABLES.append(command_table) - -@command_table.command('account list', description=L('List the imported subscriptions.')) -def list_subscriptions(_): - profile = Profile() - subscriptions = profile.load_cached_subscriptions() - if not subscriptions: - logger.warning('Please run "az login" to access your accounts.') - return subscriptions - -@command_table.command('account set') -@command_table.description(L('Set the current subscription')) -@command_table.option('--subscription-name-or-id -n', - metavar='SUBSCRIPTION_NAME_OR_ID', - dest='subscription_name_or_id', - help=L('Subscription Id, unique name also works.'), - required=True) -def set_active_subscription(args): - subscription_name_or_id = args.get('subscription-name-or-id') - if not id: - raise CLIError(L('Please provide subscription id or unique name.')) - - profile = Profile() - profile.set_active_subscription(subscription_name_or_id) - -@command_table.command('account clear') -@command_table.description(L('Clear all stored subscriptions. ' - 'To clear individual, use "logout".')) -def clear(_): - profile = Profile() - profile.logout_all() - diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/command_tables.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/command_tables.py deleted file mode 100644 index beb5d169c87..00000000000 --- a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/command_tables.py +++ /dev/null @@ -1,10 +0,0 @@ -from azure.cli.commands import CommandTable - -COMMAND_TABLES = [] - -def generate_command_table(): - '''Combine the command tables to produce a single command table''' - command_table = CommandTable() - for ct in COMMAND_TABLES: - command_table.update(ct) - return command_table diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/custom.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/custom.py new file mode 100644 index 00000000000..8fc1bdad4f8 --- /dev/null +++ b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/custom.py @@ -0,0 +1,64 @@ +# pylint: disable=too-few-public-methods,too-many-arguments,no-self-use +#TODO: update adal-python to support it +#from azure.cli._debug import should_disable_connection_verify +from adal.adal_error import AdalError + +from azure.cli._profile import Profile +from azure.cli._util import CLIError +import azure.cli._logging as _logging +from azure.cli._locale import L + +logger = _logging.get_az_logger(__name__) + +class ProfileCommands(object): + + def __init__(self, **_): + pass + + def list_subscriptions(self): + '''List the imported subscriptions.''' + profile = Profile() + subscriptions = profile.load_cached_subscriptions() + if not subscriptions: + logger.warning('Please run "az login" to access your accounts.') + return subscriptions + + def set_active_subscription(self, subscription_name_or_id): + '''Set the current subscription''' + if not id: + raise CLIError(L('Please provide subscription id or unique name.')) + profile = Profile() + profile.set_active_subscription(subscription_name_or_id) + + def account_clear(self): + '''Clear all stored subscriptions. To clear individual, use \'logout\'''' + profile = Profile() + profile.logout_all() + + def login(self, username=None, password=None, service_principal=None, tenant=None): + '''Log in to an Azure subscription using Active Directory Organization Id''' + interactive = False + + if username: + if not password: + import getpass + password = getpass.getpass(L('Password: ')) + else: + interactive = True + + profile = Profile() + try: + subscriptions = profile.find_subscriptions_on_login( + interactive, + username, + password, + service_principal, + tenant) + except AdalError as err: + raise CLIError(err) + return list(subscriptions) + + def logout(self, username): + '''Log out from Azure subscription using Active Directory.''' + profile = Profile() + profile.logout(username) diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/generated.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/generated.py new file mode 100644 index 00000000000..fb599faea2f --- /dev/null +++ b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/generated.py @@ -0,0 +1,38 @@ +from __future__ import print_function + +from azure.cli.commands import CommandTable +from azure.cli.commands._auto_command import build_operation, CommandDefinition + +from ._params import PARAMETER_ALIASES +from .custom import ProfileCommands + +command_table = CommandTable() + +# HELPER METHODS + +def _patch_aliases(alias_items): + aliases = PARAMETER_ALIASES.copy() + aliases.update(alias_items) + return aliases + +# PROFILE COMMANDS + +build_operation( + '', None, ProfileCommands, + [ + CommandDefinition(ProfileCommands.login, 'Result'), + ], command_table, PARAMETER_ALIASES) + +build_operation( + '', None, ProfileCommands, + [ + CommandDefinition(ProfileCommands.logout, 'Result'), + ], command_table, PARAMETER_ALIASES) + +build_operation( + 'account', None, ProfileCommands, + [ + CommandDefinition(ProfileCommands.list_subscriptions, '[Subscription]', 'list'), + CommandDefinition(ProfileCommands.set_active_subscription, 'Result', 'set'), + CommandDefinition(ProfileCommands.account_clear, 'Result', 'clear'), + ], command_table, PARAMETER_ALIASES) diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/login.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/login.py deleted file mode 100644 index 99fa0b2106c..00000000000 --- a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/login.py +++ /dev/null @@ -1,50 +0,0 @@ -from adal.adal_error import AdalError -from azure.cli._profile import Profile -from azure.cli.commands import CommandTable -from azure.cli._locale import L -#TODO: update adal-python to support it -#from azure.cli._debug import should_disable_connection_verify -from azure.cli._util import CLIError -from .command_tables import COMMAND_TABLES - -command_table = CommandTable() - -COMMAND_TABLES.append(command_table) - -@command_table.command('login') -@command_table.description(L('log in to an Azure subscription using Active Directory Organization Id')) # pylint: disable=line-too-long -@command_table.option('--username -u', - help=L('organization Id or service principal. Microsoft Account is not yet supported.')) # pylint: disable=line-too-long -@command_table.option('--password -p', - help=L('user password or client secret, will prompt if not given.')) -@command_table.option('--service-principal', - action='store_true', - help=L('the credential represents a service principal.')) -@command_table.option('--tenant -t', help=L('the tenant associated with the service principal.')) -def login(args): - interactive = False - - username = args.get('username') - password = None - if username: - password = args.get('password') - if not password: - import getpass - password = getpass.getpass(L('Password: ')) - else: - interactive = True - - is_service_principal = args.get('service_principal') - tenant = args.get('tenant') - - profile = Profile() - try: - subscriptions = profile.find_subscriptions_on_login( - interactive, - username, - password, - is_service_principal, - tenant) - except AdalError as err: - raise CLIError(err) - return list(subscriptions) diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/logout.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/logout.py deleted file mode 100644 index 3bce32d9a96..00000000000 --- a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/logout.py +++ /dev/null @@ -1,18 +0,0 @@ -from azure.cli._profile import Profile -from azure.cli.commands import CommandTable -from azure.cli._locale import L - -from .command_tables import COMMAND_TABLES - -command_table = CommandTable() - -COMMAND_TABLES.append(command_table) - -@command_table.command('logout', - description=L('Log out from Azure subscription using Active Directory.')) -@command_table.option('--username -u', - help=L('User name used to log out from Azure Active Directory.'), - required=True) -def logout(args): - profile = Profile() - profile.logout(args['username']) From 4521a41cf4cbf1863cce5f42607e70e16e8375e6 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Fri, 6 May 2016 16:12:47 -0700 Subject: [PATCH 14/27] Convert task help and clean up. --- azure-cli.pyproj | 22 ++++++-- src/azure/cli/commands/__init__.py | 14 ++--- src/azure/cli/commands/_auto_command.py | 51 ++++++++++--------- .../cli/command_modules/component/custom.py | 45 +++++++++++++--- .../cli/command_modules/profile/generated.py | 7 --- .../cli/command_modules/resource/_params.py | 5 +- .../cli/command_modules/resource/generated.py | 25 +++------ .../cli/command_modules/storage/_params.py | 6 +-- .../cli/command_modules/storage/generated.py | 17 ++----- .../cli/command_modules/taskhelp/__init__.py | 24 +-------- .../cli/command_modules/taskhelp/custom.py | 24 +++++++++ .../cli/command_modules/taskhelp/generated.py | 14 +++++ .../azure/cli/command_modules/vm/_params.py | 6 +-- .../azure/cli/command_modules/vm/custom.py | 1 - .../azure/cli/command_modules/vm/generated.py | 24 +++------ 15 files changed, 157 insertions(+), 128 deletions(-) create mode 100644 src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/custom.py create mode 100644 src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/generated.py diff --git a/azure-cli.pyproj b/azure-cli.pyproj index 927849a23ab..f8e25b4cb91 100644 --- a/azure-cli.pyproj +++ b/azure-cli.pyproj @@ -41,6 +41,9 @@ + + + Code @@ -71,6 +74,15 @@ Code + + Code + + + Code + + + Code + @@ -87,6 +99,12 @@ + + Code + + + Code + @@ -132,10 +150,6 @@ - - - - diff --git a/src/azure/cli/commands/__init__.py b/src/azure/cli/commands/__init__.py index 19a058a6819..955fd787229 100644 --- a/src/azure/cli/commands/__init__.py +++ b/src/azure/cli/commands/__init__.py @@ -20,8 +20,6 @@ logger.info('Installed command modules %s', INSTALLED_COMMAND_MODULES) -RESOURCE_GROUP_ARG_NAME = 'resource_group_name' - COMMON_PARAMETERS = { 'deployment_name': { 'name': '--deployment-name', @@ -36,7 +34,6 @@ }, 'resource_group_name': { 'name': '--resource-group -g', - 'dest': RESOURCE_GROUP_ARG_NAME, 'metavar': 'RESOURCEGROUP', 'help': 'The name of the resource group', }, @@ -55,9 +52,14 @@ } def extend_parameter(parameter_metadata, **kwargs): - modified_parameter_metadata = parameter_metadata.copy() - modified_parameter_metadata.update(kwargs) - return modified_parameter_metadata + extended_param = parameter_metadata.copy() + extended_param.update(kwargs) + return extended_param + +def patch_aliases(aliases, patch): + patched_aliases = aliases.copy() + patched_aliases.update(patch) + return patched_aliases class LongRunningOperation(object): #pylint: disable=too-few-public-methods diff --git a/src/azure/cli/commands/_auto_command.py b/src/azure/cli/commands/_auto_command.py index c119538416c..064b3f8e6a3 100644 --- a/src/azure/cli/commands/_auto_command.py +++ b/src/azure/cli/commands/_auto_command.py @@ -59,32 +59,33 @@ def call_client(args): def _option_descriptions(operation): """Pull out parameter help from doccomments of the command """ - lines = inspect.getdoc(operation).splitlines() option_descs = {} - index = 0 - while index < len(lines): - l = lines[index] - regex = r'\s*(:param)\s+(.+)\s*:(.*)' - match = re.search(regex, l) - if match: - # 'arg name' portion might have type info, we don't need it - arg_name = str.split(match.group(2))[-1] - arg_desc = match.group(3).strip() - #look for more descriptions on subsequent lines - index += 1 - while index < len(lines): - temp = lines[index].strip() - if temp.startswith(':'): - break - else: - if temp: - arg_desc += (' ' + temp) - index += 1 - - option_descs[arg_name] = arg_desc - else: - index += 1 - + lines = inspect.getdoc(operation) + if lines: + lines = lines.splitlines() + index = 0 + while index < len(lines): + l = lines[index] + regex = r'\s*(:param)\s+(.+)\s*:(.*)' + match = re.search(regex, l) + if match: + # 'arg name' portion might have type info, we don't need it + arg_name = str.split(match.group(2))[-1] + arg_desc = match.group(3).strip() + #look for more descriptions on subsequent lines + index += 1 + while index < len(lines): + temp = lines[index].strip() + if temp.startswith(':'): + break + else: + if temp: + arg_desc += (' ' + temp) + index += 1 + + option_descs[arg_name] = arg_desc + else: + index += 1 return option_descs diff --git a/src/command_modules/azure-cli-component/azure/cli/command_modules/component/custom.py b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/custom.py index 948d6ee3826..c682aa02319 100644 --- a/src/command_modules/azure-cli-component/azure/cli/command_modules/component/custom.py +++ b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/custom.py @@ -6,6 +6,7 @@ from azure.cli.parser import IncorrectUsageError from azure.cli._locale import L +from azure.cli._help_files import helps from azure.cli.utils.update_checker import check_for_component_update @@ -49,22 +50,38 @@ class ComponentCommands(object): def __init__(self, **_): pass + helps['component list'] = """ + short-summary: List the installed components + """ def list(self): - ''' List the installed components.''' return sorted([{'name': dist.key.replace(COMPONENT_PREFIX, ''), 'version': dist.version} for dist in pip.get_installed_distributions(local_only=True) if dist.key.startswith(COMPONENT_PREFIX)], key=lambda x: x['name']) + helps['component install'] = """ + short-summary: Install a component + parameters: + - name: --name -n + short-summary: The component name to install. + required: True + """ def install(self, component_name, link, private=False, version=None): - ''' Install a component''' _install_or_update(component_name, version, link, private, upgrade=False) + helps['component update'] = """ + short-summary: Update a component + parameters: + - name: --name -n + short-summary: The component name to update. + required: True + """ def update(self, component_name, link, private=False): - ''' Update a component''' _install_or_update(component_name, None, link, private, upgrade=True) + helps['component update-self'] = """ + short-summary: Update the CLI + """ def update_self(self, private=False): - ''' Update the CLI''' pkg_index_options = [] if private: if not PRIVATE_PYPI_URL: @@ -78,16 +95,24 @@ def update_self(self, private=False): pip.main(['install', '--quiet', '--isolated', '--disable-pip-version-check', '--upgrade'] + [CLI_PACKAGE_NAME] + pkg_index_options) + helps['component update-all'] = """ + short-summary: Update all components + """ def update_all(self, link, private=False): - ''' Update all components''' component_names = [dist.key.replace(COMPONENT_PREFIX, '') for dist in pip.get_installed_distributions(local_only=True) if dist.key.startswith(COMPONENT_PREFIX)] for name in component_names: _install_or_update(name, None, link, private, upgrade=True) + helps['component check'] = """ + short-summary: Check a component for an update + parameters: + - name: --name -n + short-summary: The component name to check. + required: True + """ def check_component(self, component_name, private=False): - ''' Check a component for an update''' found = bool([dist for dist in pip.get_installed_distributions(local_only=True) if dist.key == COMPONENT_PREFIX + component_name]) if not found: @@ -99,8 +124,14 @@ def check_component(self, component_name, private=False): result['updateAvailable'] = update_status['update_available'] return result + helps['component remove'] = """ + short-summary: Remove a component + parameters: + - name: --name -n + short-summary: The component name to remove. + required: True + """ def remove(self, component_name, force=False): - ''' Remove a component''' prompt_for_delete = force is None found = bool([dist for dist in pip.get_installed_distributions(local_only=True) if dist.key == COMPONENT_PREFIX + component_name]) diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/generated.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/generated.py index fb599faea2f..21f06e0015b 100644 --- a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/generated.py +++ b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/generated.py @@ -8,13 +8,6 @@ command_table = CommandTable() -# HELPER METHODS - -def _patch_aliases(alias_items): - aliases = PARAMETER_ALIASES.copy() - aliases.update(alias_items) - return aliases - # PROFILE COMMANDS build_operation( diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py index 18f866f7743..c07fbf8e14b 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py @@ -1,7 +1,7 @@ from azure.mgmt.resource.resources import (ResourceManagementClient, ResourceManagementClientConfiguration) -from azure.cli.commands import COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS +from azure.cli.commands import COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, patch_aliases from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli._locale import L @@ -14,8 +14,7 @@ def _resource_client_factory(_): # BASIC PARAMETER CONFIGURATION -PARAMETER_ALIASES = GLOBAL_COMMON_PARAMETERS.copy() -PARAMETER_ALIASES.update({ +PARAMETER_ALIASES = patch_aliases(GLOBAL_COMMON_PARAMETERS, { 'resource_type': { 'name': '--resource-type', 'help': L('the resource type in / format'), diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py index a7be16291ad..11697a247fe 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py @@ -5,7 +5,7 @@ from azure.mgmt.resource.resources.operations.deployment_operations_operations \ import DeploymentOperationsOperations from azure.cli.commands._auto_command import build_operation, CommandDefinition -from azure.cli.commands import CommandTable, LongRunningOperation +from azure.cli.commands import CommandTable, LongRunningOperation, patch_aliases from azure.cli._locale import L from ._params import PARAMETER_ALIASES, _resource_client_factory @@ -13,11 +13,6 @@ command_table = CommandTable() -def _patch_aliases(alias_items): - aliases = PARAMETER_ALIASES.copy() - aliases.update(alias_items) - return aliases - build_operation( 'resource group', 'resource_groups', _resource_client_factory, [ @@ -27,8 +22,7 @@ def _patch_aliases(alias_items): CommandDefinition(ResourceGroupsOperations.get, 'ResourceGroup', 'show'), CommandDefinition(ResourceGroupsOperations.check_existence, 'Bool', 'exists'), ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'resource_group_name': {'name': '--name -n'} })) @@ -38,8 +32,7 @@ def _patch_aliases(alias_items): CommandDefinition(ConvenienceResourceGroupCommands.list, '[ResourceGroup]'), CommandDefinition(ConvenienceResourceGroupCommands.create, 'ResourceGroup'), ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'resource_group_name': {'name': '--name -n'} })) @@ -49,8 +42,7 @@ def _patch_aliases(alias_items): CommandDefinition(ConvenienceResourceCommands.list, '[Resource]'), CommandDefinition(ConvenienceResourceCommands.show, 'Resource'), ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'resource_name': {'name': '--name -n'} })) @@ -63,8 +55,7 @@ def _patch_aliases(alias_items): CommandDefinition(TagsOperations.create_or_update_value, 'Tag', 'add-value'), CommandDefinition(TagsOperations.delete_value, None, 'remove-value'), ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'tag_name': {'name': '--name -n'}, 'tag_value': {'name': '--value'} })) @@ -80,8 +71,7 @@ def _patch_aliases(alias_items): #CommandDefinition(DeploymentsOperations.cancel, 'Object'), #CommandDefinition(DeploymentsOperations.create_or_update, 'Object', 'create'), ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'deployment_name': {'name': '--name -n', 'required': True} })) @@ -91,7 +81,6 @@ def _patch_aliases(alias_items): CommandDefinition(DeploymentOperationsOperations.list, '[DeploymentOperations]'), CommandDefinition(DeploymentOperationsOperations.get, 'DeploymentOperations', 'show') ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'deployment_name': {'name': '--name -n', 'required': True} })) 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 e53cf65b199..b8f8b8a8564 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 @@ -1,6 +1,7 @@ from os import environ -from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter) +from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter, + patch_aliases) from azure.cli.commands._command_creation import get_mgmt_service_client, get_data_service_client from azure.cli.commands._validators import validate_key_value_pairs from azure.cli._locale import L @@ -91,8 +92,7 @@ def get_sas_token(string): # BASIC PARAMETER CONFIGURATION -PARAMETER_ALIASES = GLOBAL_COMMON_PARAMETERS.copy() -PARAMETER_ALIASES.update({ +PARAMETER_ALIASES = patch_aliases(GLOBAL_COMMON_PARAMETERS, { 'account_key': { 'name': '--account-key -k', 'help': L('the storage account key'), diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py index 61d99a8f331..73a2c2e8e83 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py @@ -1,6 +1,6 @@ from __future__ import print_function -from azure.cli.commands import CommandTable, LongRunningOperation +from azure.cli.commands import CommandTable, LongRunningOperation, patch_aliases from azure.cli.commands._auto_command import build_operation, CommandDefinition from azure.mgmt.storage.operations import StorageAccountsOperations @@ -16,13 +16,6 @@ command_table = CommandTable() -# HELPER METHODS - -def _patch_aliases(alias_items): - aliases = PARAMETER_ALIASES.copy() - aliases.update(alias_items) - return aliases - # STORAGE ACCOUNT COMMANDS build_operation( @@ -51,7 +44,7 @@ def _patch_aliases(alias_items): CommandDefinition(ConvenienceStorageAccountCommands.show_usage, 'Object'), CommandDefinition(ConvenienceStorageAccountCommands.set, 'Object'), CommandDefinition(ConvenienceStorageAccountCommands.connection_string, 'Object') - ], command_table, _patch_aliases({ + ], command_table, patch_aliases(PARAMETER_ALIASES, { 'account_type': {'name': '--type'} })) @@ -130,7 +123,7 @@ def _patch_aliases(alias_items): CommandDefinition(ConvenienceBlobServiceCommands.blob_exists, 'Bool', 'exists'), CommandDefinition(ConvenienceBlobServiceCommands.download, 'Object'), CommandDefinition(ConvenienceBlobServiceCommands.upload, 'Object') - ], command_table, _patch_aliases({ + ], command_table, patch_aliases(PARAMETER_ALIASES, { 'blob_type': {'name': '--type'} }), STORAGE_DATA_CLIENT_ARGS) @@ -236,7 +229,7 @@ def _patch_aliases(alias_items): 'SAS', 'generate-sas'), CommandDefinition(FileService.get_file_properties, 'Properties', 'show'), CommandDefinition(FileService.set_file_properties, 'Properties', 'set') - ], command_table, _patch_aliases({ + ], command_table, patch_aliases(PARAMETER_ALIASES, { 'directory_name': {'required': False} }), STORAGE_DATA_CLIENT_ARGS) @@ -253,7 +246,7 @@ def _patch_aliases(alias_items): [ CommandDefinition(FileService.get_file_metadata, 'Metadata', 'show'), CommandDefinition(FileService.set_file_metadata, 'Metadata', 'set') - ], command_table, _patch_aliases({ + ], command_table, patch_aliases(PARAMETER_ALIASES, { 'directory_name': {'required': False} }), STORAGE_DATA_CLIENT_ARGS) diff --git a/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/__init__.py b/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/__init__.py index 35db0f485be..c4578d074f0 100644 --- a/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/__init__.py +++ b/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/__init__.py @@ -1,22 +1,2 @@ -from __future__ import print_function -from azure.cli.commands import CommandTable -from azure.cli._locale import L - -command_table = CommandTable() - -@command_table.command('taskhelp deploy-arm-template') -@command_table.description(L('How to deploy and ARM template using Azure CLI.')) -def deploy_template_help(args): #pylint: disable=unused-argument - print(L(""" -*********************** -ARM Template Deployment -*********************** - -Could this be helpful? Let us know! -==================================== - -1. First Step -2. Second Step - -And you're done! -""")) +# pylint: disable=unused-import +from .generated import command_table diff --git a/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/custom.py b/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/custom.py new file mode 100644 index 00000000000..dd335959ede --- /dev/null +++ b/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/custom.py @@ -0,0 +1,24 @@ +# pylint: disable=no-self-use,too-few-public-methods +from __future__ import print_function +from azure.cli._locale import L + +class TaskHelpCommands(object): + + def __init__(self, **_): + pass + + def deploy_arm_template(self): + '''How to deploy an ARM template using Azure CLI.''' + print(L(""" +*********************** +ARM Template Deployment +*********************** + +Could this be helpful? Let us know! +==================================== + +1. First Step +2. Second Step + +And you're done! + """)) diff --git a/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/generated.py b/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/generated.py new file mode 100644 index 00000000000..049b5ec43ea --- /dev/null +++ b/src/command_modules/azure-cli-taskhelp/azure/cli/command_modules/taskhelp/generated.py @@ -0,0 +1,14 @@ +from __future__ import print_function + +from azure.cli.commands import CommandTable +from azure.cli.commands._auto_command import build_operation, CommandDefinition + +from .custom import TaskHelpCommands + +command_table = CommandTable() + +build_operation( + 'taskhelp', None, TaskHelpCommands, + [ + CommandDefinition(TaskHelpCommands.deploy_arm_template, 'Help'), + ], command_table) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py index ff929bfe93a..7b517888836 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py @@ -3,7 +3,8 @@ from azure.mgmt.compute import ComputeManagementClient, ComputeManagementClientConfiguration from azure.mgmt.compute.models import VirtualHardDisk -from azure.cli.commands import COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter +from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter, + patch_aliases) from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli.command_modules.vm._validators import MinMaxValue from azure.cli.command_modules.vm._actions import VMImageFieldAction, VMSSHFieldAction @@ -17,8 +18,7 @@ def _compute_client_factory(**_): # BASIC PARAMETER CONFIGURATION -PARAMETER_ALIASES = GLOBAL_COMMON_PARAMETERS.copy() -PARAMETER_ALIASES.update({ +PARAMETER_ALIASES = patch_aliases(GLOBAL_COMMON_PARAMETERS, { 'diskname': { 'name': '--name -n', 'help': L('Disk name'), diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index 302f020b85b..b80ebf32379 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -1,5 +1,4 @@ # pylint: disable=no-self-use,too-many-arguments - import json import re diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index f80159fe045..f27b3ee2b67 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -10,7 +10,7 @@ from azure.cli.commands._auto_command import build_operation, CommandDefinition from azure.cli.commands._command_creation import get_mgmt_service_client -from azure.cli.commands import CommandTable, LongRunningOperation +from azure.cli.commands import CommandTable, LongRunningOperation, patch_aliases from azure.cli.command_modules.vm.mgmt.lib import (VMCreationClient as VMClient, VMCreationClientConfiguration as VMClientConfig) @@ -23,11 +23,6 @@ command_table = CommandTable() -def _patch_aliases(alias_items): - aliases = PARAMETER_ALIASES.copy() - aliases.update(alias_items) - return aliases - # pylint: disable=line-too-long build_operation( 'vm availset', 'availability_sets', _compute_client_factory, @@ -37,8 +32,7 @@ def _patch_aliases(alias_items): CommandDefinition(AvailabilitySetsOperations.list, '[AvailabilitySet]'), CommandDefinition(AvailabilitySetsOperations.list_available_sizes, '[VirtualMachineSize]', 'list-sizes') ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'availability_set_name': {'name': '--name -n'} })) @@ -66,8 +60,7 @@ def _patch_aliases(alias_items): CommandDefinition(VirtualMachineExtensionsOperations.delete, LongRunningOperation(L('Deleting VM extension'), L('VM extension deleted'))), CommandDefinition(VirtualMachineExtensionsOperations.get, 'VirtualMachineExtension', command_alias='show'), ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'vm_extension_name': {'name': '--name -n'} })) @@ -107,8 +100,7 @@ def _patch_aliases(alias_items): CommandDefinition(VirtualMachinesOperations.restart, LongRunningOperation(L('Restarting VM'), L('VM Restarted'))), CommandDefinition(VirtualMachinesOperations.start, LongRunningOperation(L('Starting VM'), L('VM Started'))), ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'vm_name': {'name': '--name -n'} })) @@ -128,8 +120,7 @@ def _patch_aliases(alias_items): CommandDefinition(VirtualMachineScaleSetsOperations.start, LongRunningOperation(L('Starting VM scale set'), L('VM scale set started'))), CommandDefinition(VirtualMachineScaleSetsOperations.update_instances, LongRunningOperation(L('Updating VM scale set instances'), L('VM scale set instances updated'))), ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'vm_scale_set_name': {'name': '--name -n'} })) @@ -145,8 +136,7 @@ def _patch_aliases(alias_items): CommandDefinition(VirtualMachineScaleSetVMsOperations.restart, LongRunningOperation(L('Restarting VM scale set VMs'), L('VM scale set VMs restarted'))), CommandDefinition(VirtualMachineScaleSetVMsOperations.start, LongRunningOperation(L('Starting VM scale set VMs'), L('VM scale set VMs started'))), ], - command_table, - _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'vm_scale_set_name': {'name': '--name -n'} })) @@ -173,6 +163,6 @@ def _patch_aliases(alias_items): [ CommandDefinition(ConvenienceVmCommands.list_vm_images, 'object', 'list') ], - command_table, _patch_aliases({ + command_table, patch_aliases(PARAMETER_ALIASES, { 'image_location': {'name': '--location -l'} })) From 4f60b0d19c1c5ea651f7bfdd0d88546e0050112a Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 9 May 2016 10:06:35 -0700 Subject: [PATCH 15/27] Progress on resource group scenario tests and test framework enhancements. --- azure-cli.pyproj | 3 + src/azure/cli/tests/test_test_script.py | 45 ++++++++++ src/azure/cli/utils/command_test_script.py | 64 ++++++++----- .../cli/command_modules/resource/_params.py | 2 +- .../cli/command_modules/resource/custom.py | 12 +-- .../resource/tests/command_specs.py | 33 ++++++- .../tests/recordings/expected_results.res | 1 + .../recordings/test_resource_group_list.yaml | 89 ------------------- 8 files changed, 131 insertions(+), 118 deletions(-) create mode 100644 src/azure/cli/tests/test_test_script.py delete mode 100644 src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml diff --git a/azure-cli.pyproj b/azure-cli.pyproj index df2f3e1cc2b..27e97ae947d 100644 --- a/azure-cli.pyproj +++ b/azure-cli.pyproj @@ -39,6 +39,9 @@ + + Code + diff --git a/src/azure/cli/tests/test_test_script.py b/src/azure/cli/tests/test_test_script.py new file mode 100644 index 00000000000..66279927fc9 --- /dev/null +++ b/src/azure/cli/tests/test_test_script.py @@ -0,0 +1,45 @@ +import json +import unittest +from six import StringIO + +from azure.cli.utils.command_test_script import _check_json as check_json + +class Test_test_script_checks(unittest.TestCase): + + @classmethod + def setUpClass(cls): + pass + + @classmethod + def tearDownClass(cls): + pass + + def setUp(self): + self.io = StringIO() + + def tearDown(self): + self.io.close() + + def test_json_string(self): + ''' Verify a simple string value can be used to match a property on a source object. ''' + source = json.loads(json.dumps({'a': 'b', 'c': 'd'})) + check = {'c': 'd'} + check_json(source, check) + + def test_json_dict(self): + ''' Verify a dict can be used to search within child objects without having to match the + child object exactly.''' + source = json.loads(json.dumps({'a': {'foo': 'bar', 'fizz': 'buzz'}})) + check = {'a': {'fizz': 'buzz'}} + check_json(source, check) + + def test_json_list(self): + ''' Verify that if the source is a list, the check need only pass for any element of the + list. ''' + source = json.loads(json.dumps([{'a': {'b': 1, 'c': 2}}, {'a': {'b': 3, 'c': 5}}])) + check = {'a': {'c': 5}} + check_json(source, check) + + +if __name__ == '__main__': + unittest.main() diff --git a/src/azure/cli/utils/command_test_script.py b/src/azure/cli/utils/command_test_script.py index 8eaab50dd6e..fbce56fcc83 100644 --- a/src/azure/cli/utils/command_test_script.py +++ b/src/azure/cli/utils/command_test_script.py @@ -9,12 +9,32 @@ from azure.cli.main import main as cli from azure.cli.parser import IncorrectUsageError +def _check_json(source, checks): + + def _check_json_child(item, checks): + for check in checks.keys(): + if isinstance(checks[check], dict) and check in item: + return _check_json_child(item[check], checks[check]) + else: + return item[check] == checks[check] + + if not isinstance(source, list): + source = [source] + passed = False + for item in source: + passed = _check_json_child(item, checks) + if passed: + break + return passed + + class CommandTestScript(object): #pylint: disable=too-many-instance-attributes def __init__(self, set_up, test_body, tear_down): self._display = StringIO() self._raw = StringIO() self.display_result = '' + self.debug = False self.raw_result = '' self.auto = True self.fail = False @@ -46,6 +66,8 @@ def rec(self, command): save the output to a display file so you can see the command, followed by its output in order to determine if the output is acceptable. Invoking this command in a script turns off the flag that signals the test is fully automatic. ''' + if self.debug: + print('RECORDING: {}'.format(command)) self.auto = False output = StringIO() cli(command.split(), file=output) @@ -58,6 +80,8 @@ def rec(self, command): def run(self, command): #pylint: disable=no-self-use ''' Run a command without recording the output as part of expected results. Useful if you need to run a command for branching logic or just to reset back to a known condition. ''' + if self.debug: + print('RUNNING: {}'.format(command)) output = StringIO() cli(command.split(), file=output) result = output.getvalue().strip() @@ -68,31 +92,31 @@ def test(self, command, checks): ''' Runs a command with the json output format and validates the input against the provided checks. Multiple JSON properties can be submitted as a dictionary and are treated as an AND condition. ''' - def _check_json(source, checks): - for check in checks.keys(): - if isinstance(checks[check], dict) and check in source: - _check_json(source[check], checks[check]) - else: - assert source[check] == checks[check] - #print('RUNNING: {}'.format(command)) + if self.debug: + print('TESTING: {}'.format(command)) output = StringIO() command += ' -o json' cli(command.split(), file=output) result = output.getvalue().strip() self._raw.write(result) - if isinstance(checks, bool): - result_val = str(result).lower().replace('"', '') - bool_val = result_val in ('yes', 'true', 't', '1') - assert bool_val == checks - elif isinstance(checks, str): - assert result.replace('"', '') == checks - elif isinstance(checks, dict): - json_val = json.loads(result) - _check_json(json_val, checks) - elif checks is None: - assert result is None or result == '' - else: - raise IncorrectUsageError('unsupported type \'{}\' in test'.format(type(checks))) + try: + if isinstance(checks, bool): + result_val = str(result).lower().replace('"', '') + result = result_val in ('yes', 'true', 't', '1') + assert result == checks + elif isinstance(checks, str): + assert result.replace('"', '') == checks + elif isinstance(checks, dict): + json_val = json.loads(result) + result = _check_json(json_val, checks) + assert result == True + elif checks is None: + assert result is None or result == '' + else: + raise IncorrectUsageError('unsupported type \'{}\' in test'.format(type(checks))) + except AssertionError: + if self.debug: + print('\tFAILED! RESULT: {} CHECKS: {}'.format(result, checks)) def set_env(self, key, val): #pylint: disable=no-self-use os.environ[key] = val diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py index c07fbf8e14b..5a67de8b664 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py @@ -9,7 +9,7 @@ # FACTORIES -def _resource_client_factory(_): +def _resource_client_factory(**_): return get_mgmt_service_client(ResourceManagementClient, ResourceManagementClientConfiguration) # BASIC PARAMETER CONFIGURATION diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py index 770ee205a7c..ee5a7e25a2d 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py @@ -69,11 +69,11 @@ def list(self, tag=None): # pylint: disable=no-self-use ''' List resource groups, optionally filtered by a tag. :param str tag:tag to filter by in 'key[=value]' format ''' - rcf = _resource_client_factory(None) + rcf = _resource_client_factory() filters = [] if tag: - key = tag.keys()[0] + key = list(tag.keys())[0] filters.append("tagname eq '{}'".format(key)) filters.append("tagvalue eq '{}'".format(tag[key])) @@ -88,7 +88,7 @@ def create(self, resource_group_name, location, tags=None): :param str location:the resource group location :param str tags:tags in 'a=b;c' format ''' - rcf = _resource_client_factory(None) + rcf = _resource_client_factory() if rcf.resource_groups.check_existence(resource_group_name): raise CLIError('resource group {} already exists'.format(resource_group_name)) @@ -110,7 +110,7 @@ def show(self, resource_group, resource_name, resource_type, api_version=None, p :param str resource-type:the resource type in format: / :param str api-version:the API version of the resource provider :param str parent:the name of the parent resource (if needed) in / format''' - rcf = _resource_client_factory(None) + rcf = _resource_client_factory() api_version = _resolve_api_version(rcf, resource_type, parent) \ if not api_version else api_version @@ -140,7 +140,7 @@ def list(self, location=None, resource_type=None, tag=None, name=None): :param str tag:filter by tag in 'a=b;c' format :param str name:filter by resource name ''' - rcf = _resource_client_factory(None) - odata_filter = _list_resources_odata_filter_builder(location, resource_type, tag, name) + rcf = _resource_client_factory() + odata_filter = _list_resources_odata_filter_builder(location, resource_type, str(tag), name) resources = rcf.resources.list(filter=odata_filter) return list(resources) diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/command_specs.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/command_specs.py index 3f93dad5e21..bcd553f705b 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/command_specs.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/command_specs.py @@ -1,11 +1,40 @@ # AZURE CLI RESOURCE TEST DEFINITIONS +from azure.cli.utils.command_test_script import CommandTestScript + +#pylint: disable=method-hidden +class ResourceGroupScenarioTest(CommandTestScript): + + def set_up(self): + self.resource_group = 'travistestrg' + if self.run('resource group exists -n {}'.format(self.resource_group)): + self.run('resource group delete -n {}'.format(self.resource_group)) + + def test_body(self): + s = self + rg = self.resource_group + s.test('resource group create -n {} -l westus --tag a=b;c'.format(rg), + {'name':'{}'.format(rg), 'tags': {'a':'b', 'c':''}}) + s.test('resource group exists -n {}'.format(rg), True) + s.test('resource group show -n {}'.format(rg), + {'name': rg, 'tags': {'a':'b', 'c':''}}) + s.test('resource group list --tag a=b', {'name': rg, 'tags': {'a':'b', 'c':''}}) + s.run('resource group delete -n {}'.format(rg)) + s.test('resource group exists -n {}'.format(rg), None) + + def tear_down(self): + if self.run('resource group exists -n {}'.format(self.resource_group)): + self.run('resource group delete -n {}'.format(self.resource_group)) + + def __init__(self): + super(ResourceGroupScenarioTest, self).__init__(self.set_up, self.test_body, self.tear_down) + ENV_VAR = {} TEST_DEF = [ { - 'test_name': 'resource_group_list', - 'command': 'resource group list --output json' + 'test_name': 'resource_group_scenario', + 'script': ResourceGroupScenarioTest() }, { 'test_name': 'resource_show_under_group', diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res index 35834b8b6bd..b283ab770a9 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/expected_results.res @@ -1,4 +1,5 @@ { "test_resource_group_list": "[\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1116\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1116\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1131\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1215\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1397\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1397\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1530\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1530\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1691\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1691\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1804\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1804\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup1982\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup1982\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2315\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2315\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2316\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2316\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup2732\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup2732\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3187\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3187\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup32\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup32\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3313\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3313\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup3661\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup3661\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup381\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup381\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4175\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4175\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4834\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4834\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup4978\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup4978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5350\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5350\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5458\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5458\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5584\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5584\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5637\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5637\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup5835\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup5835\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup6020\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup6020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7062\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7062\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7154\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7154\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7265\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7265\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7648\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7648\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7681\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7681\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup7917\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup7917\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8241\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup8275\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup8275\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup867\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9079\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9079\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup922\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup922\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9343\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9343\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9345\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9345\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9369\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9469\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9469\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/armclistorageGroup9576\",\n \"location\": \"westus\",\n \"name\": \"armclistorageGroup9576\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/availrg\",\n \"location\": \"westus\",\n \"name\": \"availrg\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTeleBenchRG\",\n \"location\": \"westus\",\n \"name\": \"cliTeleBenchRG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses\",\n \"location\": \"westus\",\n \"name\": \"cliTestRg_VmListIpAddresses\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658\",\n \"location\": \"westus\",\n \"name\": \"clutst10658\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst10658Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst10658Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst11617\",\n \"location\": \"westus\",\n \"name\": \"clutst11617\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst12131\",\n \"location\": \"westus\",\n \"name\": \"clutst12131\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst14273\",\n \"location\": \"westus\",\n \"name\": \"clutst14273\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst15898\",\n \"location\": \"westus\",\n \"name\": \"clutst15898\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16319\",\n \"location\": \"westus\",\n \"name\": \"clutst16319\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16367\",\n \"location\": \"westus\",\n \"name\": \"clutst16367\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16424\",\n \"location\": \"westus\",\n \"name\": \"clutst16424\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst16599\",\n \"location\": \"westus\",\n \"name\": \"clutst16599\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18253\",\n \"location\": \"westus\",\n \"name\": \"clutst18253\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst18832\",\n \"location\": \"westus\",\n \"name\": \"clutst18832\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19840\",\n \"location\": \"westus\",\n \"name\": \"clutst19840\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19876\",\n \"location\": \"westus\",\n \"name\": \"clutst19876\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst19910\",\n \"location\": \"westus\",\n \"name\": \"clutst19910\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst20217\",\n \"location\": \"westus\",\n \"name\": \"clutst20217\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst22301\",\n \"location\": \"westus\",\n \"name\": \"clutst22301\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst24285\",\n \"location\": \"westus\",\n \"name\": \"clutst24285\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492\",\n \"location\": \"westus\",\n \"name\": \"clutst25492\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst25492Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst25492Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28055\",\n \"location\": \"westus\",\n \"name\": \"clutst28055\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28400\",\n \"location\": \"westus\",\n \"name\": \"clutst28400\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst28769\",\n \"location\": \"westus\",\n \"name\": \"clutst28769\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29085\",\n \"location\": \"westus\",\n \"name\": \"clutst29085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29333\",\n \"location\": \"westus\",\n \"name\": \"clutst29333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst30089\",\n \"location\": \"westus\",\n \"name\": \"clutst30089\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31207\",\n \"location\": \"westus\",\n \"name\": \"clutst31207\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst31335\",\n \"location\": \"westus\",\n \"name\": \"clutst31335\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst32303\",\n \"location\": \"westus\",\n \"name\": \"clutst32303\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst34632\",\n \"location\": \"westus\",\n \"name\": \"clutst34632\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst37223\",\n \"location\": \"westus\",\n \"name\": \"clutst37223\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst38483\",\n \"location\": \"westus\",\n \"name\": \"clutst38483\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst39112\",\n \"location\": \"westus\",\n \"name\": \"clutst39112\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst40026\",\n \"location\": \"westus\",\n \"name\": \"clutst40026\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst41390\",\n \"location\": \"westus\",\n \"name\": \"clutst41390\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144\",\n \"location\": \"westus\",\n \"name\": \"clutst42144\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst42144Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst42144Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43083\",\n \"location\": \"westus\",\n \"name\": \"clutst43083\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43810\",\n \"location\": \"westus\",\n \"name\": \"clutst43810\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst43963\",\n \"location\": \"westus\",\n \"name\": \"clutst43963\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44249\",\n \"location\": \"westus\",\n \"name\": \"clutst44249\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst44935\",\n \"location\": \"westus\",\n \"name\": \"clutst44935\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst45773\",\n \"location\": \"westus\",\n \"name\": \"clutst45773\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst47034\",\n \"location\": \"westus\",\n \"name\": \"clutst47034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst48178\",\n \"location\": \"westus\",\n \"name\": \"clutst48178\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50877\",\n \"location\": \"westus\",\n \"name\": \"clutst50877\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst50926\",\n \"location\": \"westus\",\n \"name\": \"clutst50926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst52016\",\n \"location\": \"westus\",\n \"name\": \"clutst52016\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst53369\",\n \"location\": \"westus\",\n \"name\": \"clutst53369\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst54011\",\n \"location\": \"westus\",\n \"name\": \"clutst54011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"testtag\": \"testval\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55339\",\n \"location\": \"westus\",\n \"name\": \"clutst55339\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst55642\",\n \"location\": \"westus\",\n \"name\": \"clutst55642\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010\",\n \"location\": \"westus\",\n \"name\": \"clutst56010\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst56010Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst56010Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst57974\",\n \"location\": \"westus\",\n \"name\": \"clutst57974\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59108\",\n \"location\": \"westus\",\n \"name\": \"clutst59108\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst59926\",\n \"location\": \"westus\",\n \"name\": \"clutst59926\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst60612\",\n \"location\": \"westus\",\n \"name\": \"clutst60612\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62393\",\n \"location\": \"westus\",\n \"name\": \"clutst62393\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst62671\",\n \"location\": \"westus\",\n \"name\": \"clutst62671\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst63961\",\n \"location\": \"westus\",\n \"name\": \"clutst63961\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64118\",\n \"location\": \"westus\",\n \"name\": \"clutst64118\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst64902\",\n \"location\": \"westus\",\n \"name\": \"clutst64902\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65563\",\n \"location\": \"westus\",\n \"name\": \"clutst65563\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst65944\",\n \"location\": \"westus\",\n \"name\": \"clutst65944\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst68622\",\n \"location\": \"westus\",\n \"name\": \"clutst68622\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst69042\",\n \"location\": \"westus\",\n \"name\": \"clutst69042\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72034\",\n \"location\": \"westus\",\n \"name\": \"clutst72034\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst72937\",\n \"location\": \"westus\",\n \"name\": \"clutst72937\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73017\",\n \"location\": \"westus\",\n \"name\": \"clutst73017\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73226\",\n \"location\": \"westus\",\n \"name\": \"clutst73226\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst73623\",\n \"location\": \"westus\",\n \"name\": \"clutst73623\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74333\",\n \"location\": \"westus\",\n \"name\": \"clutst74333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74607\",\n \"location\": \"westus\",\n \"name\": \"clutst74607\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst75011\",\n \"location\": \"westus\",\n \"name\": \"clutst75011\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76021\",\n \"location\": \"westus\",\n \"name\": \"clutst76021\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst76811\",\n \"location\": \"westus\",\n \"name\": \"clutst76811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst77155\",\n \"location\": \"westus\",\n \"name\": \"clutst77155\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst78595\",\n \"location\": \"westus\",\n \"name\": \"clutst78595\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst81406\",\n \"location\": \"westus\",\n \"name\": \"clutst81406\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82639\",\n \"location\": \"westus\",\n \"name\": \"clutst82639\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst82782\",\n \"location\": \"westus\",\n \"name\": \"clutst82782\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst83830\",\n \"location\": \"westus\",\n \"name\": \"clutst83830\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84001\",\n \"location\": \"westus\",\n \"name\": \"clutst84001\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84215\",\n \"location\": \"westus\",\n \"name\": \"clutst84215\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst84761\",\n \"location\": \"westus\",\n \"name\": \"clutst84761\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst85399\",\n \"location\": \"westus\",\n \"name\": \"clutst85399\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86517\",\n \"location\": \"westus\",\n \"name\": \"clutst86517\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86564\",\n \"location\": \"westus\",\n \"name\": \"clutst86564\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86711\",\n \"location\": \"westus\",\n \"name\": \"clutst86711\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88326\",\n \"location\": \"westus\",\n \"name\": \"clutst88326\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88434\",\n \"location\": \"westus\",\n \"name\": \"clutst88434\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst88867\",\n \"location\": \"westus\",\n \"name\": \"clutst88867\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058\",\n \"location\": \"westus\",\n \"name\": \"clutst89058\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89058Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89058Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757\",\n \"location\": \"westus\",\n \"name\": \"clutst89757\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst89757Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst89757Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450\",\n \"location\": \"westus\",\n \"name\": \"clutst90450\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst90450Destination\",\n \"location\": \"westus\",\n \"name\": \"clutst90450Destination\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92020\",\n \"location\": \"westus\",\n \"name\": \"clutst92020\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst92142\",\n \"location\": \"westus\",\n \"name\": \"clutst92142\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst93247\",\n \"location\": \"westus\",\n \"name\": \"clutst93247\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst95104\",\n \"location\": \"westus\",\n \"name\": \"clutst95104\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96863\",\n \"location\": \"westus\",\n \"name\": \"clutst96863\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst96978\",\n \"location\": \"westus\",\n \"name\": \"clutst96978\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst97385\",\n \"location\": \"westus\",\n \"name\": \"clutst97385\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98032\",\n \"location\": \"westus\",\n \"name\": \"clutst98032\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98129\",\n \"location\": \"westus\",\n \"name\": \"clutst98129\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst98581\",\n \"location\": \"westus\",\n \"name\": \"clutst98581\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ApplicationInsights-CentralUS\",\n \"location\": \"centralus\",\n \"name\": \"Default-ApplicationInsights-CentralUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Networking\",\n \"location\": \"westus\",\n \"name\": \"Default-Networking\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-NotificationHubs-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-NotificationHubs-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-ServiceBus-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-ServiceBus-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-SQL-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-SQL-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Storage-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Storage-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/Default-Web-WestUS\",\n \"location\": \"westus\",\n \"name\": \"Default-Web-WestUS\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1233333\",\n \"location\": \"westus\",\n \"name\": \"destanko-test1233333\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ecvm1458938841925RG\",\n \"location\": \"southeastasia\",\n \"name\": \"ecvm1458938841925RG\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/foozap01\",\n \"location\": \"westus\",\n \"name\": \"foozap01\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/myvms\",\n \"location\": \"westus\",\n \"name\": \"myvms\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ppppp2\",\n \"location\": \"southcentralus\",\n \"name\": \"ppppp2\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/pppppp\",\n \"location\": \"westus\",\n \"name\": \"pppppp\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/r1\",\n \"location\": \"westus\",\n \"name\": \"r1\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg15109\",\n \"location\": \"westus\",\n \"name\": \"testrg15109\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg16663\",\n \"location\": \"westus\",\n \"name\": \"testrg16663\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg18579\",\n \"location\": \"westus\",\n \"name\": \"testrg18579\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/testrg8559\",\n \"location\": \"westus\",\n \"name\": \"testrg8559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/TravisTestResourceGroup\",\n \"location\": \"westus\",\n \"name\": \"TravisTestResourceGroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": null\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestADE1370\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestADE1370\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestADE6431\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestADE6431\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplattestadla7278\",\n \"location\": \"southcentralus\",\n \"name\": \"xplattestadla7278\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate1218\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate1218\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreate3656\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreate3656\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDisk2502\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGCreateDisk2502\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-disk-attachnew-detach-tests\": \"2016-04-29T12:01:11.054Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns2167\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns2167\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateDns7046\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateDns7046\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGCreateLbNat3\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGCreateLbNat3\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExpressRoute3509\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGExpressRoute3509\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension5940\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGExtension5940\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-02-29T08:05:18.907Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestGExtension9085\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-extension-tests\": \"2016-01-21T23:38:57.711Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGroupGatewayCon7412\",\n \"location\": \"westus\",\n \"name\": \"xplatTestGroupGatewayCon7412\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGSz6241\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGSz6241\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-sizes-tests\": \"2016-02-02T13:11:46.487Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker2951\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker2951\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-18T16:05:48.920Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGVMDocker6705\",\n \"location\": \"eastus\",\n \"name\": \"xplatTestGVMDocker6705\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vm-docker-tests\": \"2016-02-29T12:20:36.945Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestVMSSCreate2308\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatTestVMSSCreate2308\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"arm-cli-vmss-create-tests\": \"2016-05-03T08:27:30.109Z\"\n }\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1531\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1531\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource1730\",\n \"location\": \"westus\",\n \"name\": \"xTestResource1730\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource194\",\n \"location\": \"westus\",\n \"name\": \"xTestResource194\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2039\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2039\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2660\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2660\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource2807\",\n \"location\": \"westus\",\n \"name\": \"xTestResource2807\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource318\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource318\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3362\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3362\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource3559\",\n \"location\": \"westus\",\n \"name\": \"xTestResource3559\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource411\",\n \"location\": \"westus\",\n \"name\": \"xTestResource411\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource4219\",\n \"location\": \"westus\",\n \"name\": \"xTestResource4219\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource475\",\n \"location\": \"westus\",\n \"name\": \"xTestResource475\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5203\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5203\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource5515\",\n \"location\": \"westus\",\n \"name\": \"xTestResource5515\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource723\",\n \"location\": \"southcentralus\",\n \"name\": \"xTestResource723\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7252\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7252\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource757\",\n \"location\": \"westus\",\n \"name\": \"xTestResource757\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource7909\",\n \"location\": \"westus\",\n \"name\": \"xTestResource7909\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource811\",\n \"location\": \"westus\",\n \"name\": \"xTestResource811\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9256\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9256\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9262\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9262\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9641\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9641\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xTestResource9737\",\n \"location\": \"westus\",\n \"name\": \"xTestResource9737\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ygvmgroup\",\n \"location\": \"westus\",\n \"name\": \"ygvmgroup\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw\",\n \"location\": \"westus\",\n \"name\": \"yugangw\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw2\",\n \"location\": \"westus\",\n \"name\": \"yugangw2\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n },\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw3\",\n \"location\": \"westus\",\n \"name\": \"yugangw3\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {}\n }\n]\n", + "test_resource_group_scenario": "{\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestrg\",\n \"location\": \"westus\",\n \"name\": \"travistestrg\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"a\": \"b\",\n \"c\": \"\"\n }\n}true{\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestrg\",\n \"location\": \"westus\",\n \"name\": \"travistestrg\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"a\": \"b\",\n \"c\": \"\"\n }\n}[\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestrg\",\n \"location\": \"westus\",\n \"name\": \"travistestrg\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\"\n },\n \"tags\": {\n \"a\": \"b\",\n \"c\": \"\"\n }\n }\n]true", "test_resource_show_under_group": "{\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/XPLATTESTGEXTENSION9085/providers/Microsoft.Compute/virtualMachines/xplatvmExt1314\",\n \"location\": \"southeastasia\",\n \"name\": \"xplatvmExt1314\",\n \"plan\": null,\n \"properties\": {\n \"diagnosticsProfile\": {\n \"bootDiagnostics\": {\n \"enabled\": true,\n \"storageUri\": \"https://xplatstoragext4633.blob.core.windows.net/\"\n }\n },\n \"hardwareProfile\": {\n \"vmSize\": \"Standard_A1\"\n },\n \"networkProfile\": {\n \"networkInterfaces\": [\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085/providers/Microsoft.Network/networkInterfaces/xplatnicExt4843\",\n \"properties\": {},\n \"resourceGroup\": \"xplatTestGExtension9085\"\n }\n ]\n },\n \"osProfile\": {\n \"adminUsername\": \"azureuser\",\n \"computerName\": \"xplatvmExt1314\",\n \"secrets\": [],\n \"windowsConfiguration\": {\n \"enableAutomaticUpdates\": true,\n \"provisionVMAgent\": true\n }\n },\n \"provisioningState\": \"Succeeded\",\n \"storageProfile\": {\n \"dataDisks\": [],\n \"imageReference\": {\n \"offer\": \"WindowsServerEssentials\",\n \"publisher\": \"MicrosoftWindowsServerEssentials\",\n \"sku\": \"WindowsServerEssentials\",\n \"version\": \"1.0.20131018\"\n },\n \"osDisk\": {\n \"caching\": \"ReadWrite\",\n \"createOption\": \"FromImage\",\n \"name\": \"cli1eaed78b36def353-os-1453419539945\",\n \"osType\": \"Windows\",\n \"vhd\": {\n \"uri\": \"https://xplatstoragext4633.blob.core.windows.net/xplatstoragecntext1789/cli1eaed78b36def353-os-1453419539945.vhd\"\n }\n }\n },\n \"vmId\": \"0a46768d-a544-4d4c-afdc-92651103ee16\"\n },\n \"resourceGroup\": \"XPLATTESTGEXTENSION9085\",\n \"tags\": {},\n \"type\": \"Microsoft.Compute/virtualMachines\"\n}\n" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml deleted file mode 100644 index bcf47ebf33d..00000000000 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml +++ /dev/null @@ -1,89 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 resourcemanagementclient/2015-11-01 - Azure-SDK-For-Python AZURECLI_0.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups?api-version=2015-11-01 - response: - body: - string: !!binary | - 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 - PCHO+OSbxPn7v+T/AdOoC/rfoQAA - headers: - Cache-Control: [no-cache] - Content-Encoding: [gzip] - Content-Length: ['3441'] - Content-Type: [application/json; charset=utf-8] - Date: ['Thu, 05 May 2016 23:24:21 GMT'] - Expires: ['-1'] - Pragma: [no-cache] - Strict-Transport-Security: [max-age=31536000; includeSubDomains] - Vary: [Accept-Encoding] - status: {code: 200, message: OK} -version: 1 From 949fc75fde4af83ffddb9b2bd8c41b2c8397e42f Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 9 May 2016 13:06:58 -0700 Subject: [PATCH 16/27] Merge Yugang's changes to VM --- azure-cli.pyproj | 1 - .../azure/cli/command_modules/vm/_actions.py | 11 ++- .../azure/cli/command_modules/vm/_params.py | 2 +- .../azure/cli/command_modules/vm/custom.py | 87 ++++++++++++++----- .../cli/command_modules/vm/tests/__init__.py | 2 - .../command_modules/vm/tests/test_vm_image.py | 10 ++- 6 files changed, 85 insertions(+), 28 deletions(-) diff --git a/azure-cli.pyproj b/azure-cli.pyproj index 27e97ae947d..f4a1a551151 100644 --- a/azure-cli.pyproj +++ b/azure-cli.pyproj @@ -118,7 +118,6 @@ - diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py index 0fa524d4ae0..bb452795438 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py @@ -16,7 +16,16 @@ def __call__(self, parser, namespace, values, option_string=None): namespace.os_sku = match.group(3) namespace.os_version = match.group(4) else: - namespace.os_type = image + images = load_images_from_aliases_doc(None, None, None) + matched = next((x for x in images if x['urn alias'].lower() == image.lower()), None) + if matched is None: + raise CLIError('Invalid image "{}". Please pick one from {}'.format( + image, [x['urn alias'] for x in images])) + namespace.os_type = 'Custom' + namespace.os_publisher = matched['publisher'] + namespace.os_offer = matched['offer'] + namespace.os_sku = matched['sku'] + namespace.os_version = matched['version'] class VMSSHFieldAction(argparse.Action): #pylint: disable=too-few-public-methods def __call__(self, parser, namespace, values, option_string=None): diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py index 991ba1696b1..6e06e65129f 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py @@ -121,7 +121,7 @@ def _compute_client_factory(**_): required: false short-summary: OS image (Common, URN or URI). long-summary: | - Common OS types: Win2012R2Datacenter, Win2012Datacenter, Win2008SP1, or Offer from 'az vm image list' + Common OS types: Win2012R2Datacenter, Win2012Datacenter, Win2008SP1. For other values please run 'az vm image list' Example URN: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Example URI: http://.blob.core.windows.net/vhds/osdiskimage.vhd populator-commands: diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index 43748b4db56..2989eadac29 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -1,6 +1,8 @@ # pylint: disable=no-self-use,too-many-arguments +import argparse import json import re + from six.moves.urllib.request import urlopen #pylint: disable=import-error from azure.mgmt.compute.models import DataDisk @@ -32,7 +34,16 @@ def _vm_set(instance, start_msg, end_msg): parameters=instance) return LongRunningOperation(start_msg, end_msg)(poller) -def _load_images_from_aliases_doc(publisher, offer, sku): +def _parse_rg_name(strid): + '''From an ID, extract the contained (resource group, name) tuple + ''' + parts = re.split('/', strid) + if parts[3] != 'resourceGroups': + raise KeyError() + + return (parts[4], parts[8]) + +def load_images_from_aliases_doc(publisher, offer, sku): target_url = ('https://raw.githubusercontent.com/Azure/azure-rest-api-specs/' 'master/arm-compute/quickstart-templates/aliases.json') txt = urlopen(target_url).read() @@ -41,8 +52,9 @@ def _load_images_from_aliases_doc(publisher, offer, sku): all_images = [] result = (dic['outputs']['aliases']['value']) for v in result.values(): #loop around os - for vv in v.values(): #loop around distros + for alias, vv in v.items(): #loop around distros all_images.append({ + 'urn alias': alias, 'publisher': vv['publisher'], 'offer': vv['offer'], 'sku': vv['sku'], @@ -56,7 +68,7 @@ def _load_images_from_aliases_doc(publisher, offer, sku): except KeyError: raise CLIError('Could not retrieve image list from {}'.format(target_url)) -def _load_images_thru_services(publisher, offer, sku, location): +def load_images_thru_services(publisher, offer, sku, location): from concurrent.futures import ThreadPoolExecutor all_images = [] @@ -107,19 +119,6 @@ def _create_image_instance(publisher, offer, sku, version): 'version': version } -# -# Composite convenience commands for the CLI -# -def _parse_rg_name(strid): - '''From an ID, extract the contained (resource group, name) tuple - ''' - parts = re.split('/', strid) - if parts[3] != 'resourceGroups': - raise KeyError() - - return (parts[4], parts[8]) - - class ConvenienceVmCommands(object): # pylint: disable=too-few-public-methods def __init__(self, **kwargs): @@ -145,12 +144,12 @@ def list_vm_images(self, image_location=None, publisher=None, offer=None, sku=No raise CLIError('Argument of --location/-l is required to use with --all flag') if load_thru_services: - all_images = _load_images_thru_services(publisher, - offer, - sku, - image_location) + all_images = load_images_thru_services(publisher, + offer, + sku, + image_location) else: - all_images = _load_images_from_aliases_doc(publisher, offer, sku) + all_images = load_images_from_aliases_doc(publisher, offer, sku) for i in all_images: i['urn'] = ':'.join([i['publisher'], i['offer'], i['sku'], i['version']]) @@ -240,3 +239,49 @@ def detach_disk(self, diskname): except StopIteration: raise CLIError("No disk with the name '{}' found".format(diskname)) _vm_set(self.vm, 'Detaching disk', 'Disk detached') + +# CUSTOM ACTIONS ############### + +class VMImageFieldAction(argparse.Action): #pylint: disable=too-few-public-methods + def __call__(self, parser, namespace, values, option_string=None): + image = values + match = re.match('([^:]*):([^:]*):([^:]*):([^:]*)', image) + + if image.lower().endswith('.vhd'): + namespace.os_disk_uri = image + elif match: + namespace.os_type = 'Custom' + namespace.os_publisher = match.group(1) + namespace.os_offer = match.group(2) + namespace.os_sku = match.group(3) + namespace.os_version = match.group(4) + else: + images = load_images_from_aliases_doc(None, None, None) + matched = next((x for x in images if x['urn alias'].lower() == image.lower()), None) + if matched is None: + raise CLIError('Invalid image "{}". Please pick one from {}'.format( + image, [x['urn alias'] for x in images])) + namespace.os_type = 'Custom' + namespace.os_publisher = matched['publisher'] + namespace.os_offer = matched['offer'] + namespace.os_sku = matched['sku'] + namespace.os_version = matched['version'] + +class VMSSHFieldAction(argparse.Action): #pylint: disable=too-few-public-methods + def __call__(self, parser, namespace, values, option_string=None): + ssh_value = values + + if os.path.exists(ssh_value): + with open(ssh_value, 'r') as f: + namespace.ssh_key_value = f.read() + else: + namespace.ssh_key_value = ssh_value + +class VMDNSNameAction(argparse.Action): #pylint: disable=too-few-public-methods + def __call__(self, parser, namespace, values, option_string=None): + dns_value = values + + if dns_value: + namespace.dns_name_type = 'new' + + namespace.dns_name_for_public_ip = dns_value diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/__init__.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/__init__.py index 139597f9cb0..e69de29bb2d 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/__init__.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/__init__.py @@ -1,2 +0,0 @@ - - diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/test_vm_image.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/test_vm_image.py index 9a6b15a956d..ded79324f4e 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/test_vm_image.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/test_vm_image.py @@ -2,7 +2,7 @@ import unittest import mock -from azure.cli.command_modules.vm.custom import _load_images_from_aliases_doc +from azure.cli.command_modules.vm.generated import ConvenienceVmCommands class TestVMImage(unittest.TestCase): @mock.patch('azure.cli.command_modules.vm.custom.urlopen', autospec=True) @@ -17,7 +17,7 @@ def test_read_images_from_alias_doc(self, mock_urlopen): mock_urlopen.return_value = mock_read #action - images = _load_images_from_aliases_doc(None, None, None) + images = ConvenienceVmCommands().list_vm_images() #assert win_images = [i for i in images if i['publisher'] == 'MicrosoftWindowsServer'] @@ -25,6 +25,12 @@ def test_read_images_from_alias_doc(self, mock_urlopen): ubuntu_image = next(i for i in images if i['publisher'] == 'Canonical') self.assertEqual(ubuntu_image['publisher'], 'Canonical') self.assertEqual(ubuntu_image['offer'], 'UbuntuServer') + self.assertEqual(ubuntu_image['urn alias'], 'UbuntuLTS') + parts = ubuntu_image['urn'].split(':') + self.assertEqual(parts[0], ubuntu_image['publisher']) + self.assertEqual(parts[1], ubuntu_image['offer']) + self.assertEqual(parts[2], ubuntu_image['sku']) + self.assertEqual(parts[3], ubuntu_image['version']) if __name__ == '__main__': unittest.main() From ec1ca8b4a40aa05770212c973c6277266186af85 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 9 May 2016 13:21:01 -0700 Subject: [PATCH 17/27] Post merge fixes. --- .../azure/cli/command_modules/vm/_actions.py | 83 +++++++++++ .../azure/cli/command_modules/vm/_factory.py | 5 + .../azure/cli/command_modules/vm/_params.py | 7 - .../azure/cli/command_modules/vm/custom.py | 131 +----------------- .../azure/cli/command_modules/vm/generated.py | 3 +- 5 files changed, 94 insertions(+), 135 deletions(-) create mode 100644 src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_factory.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py index bb452795438..7c965aeb3d3 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py @@ -1,7 +1,14 @@ import argparse +import json import os import re +from azure.cli._util import CLIError + +from six.moves.urllib.request import urlopen #pylint: disable=import-error + +from ._factory import _compute_client_factory + class VMImageFieldAction(argparse.Action): #pylint: disable=too-few-public-methods def __call__(self, parser, namespace, values, option_string=None): image = values @@ -45,3 +52,79 @@ def __call__(self, parser, namespace, values, option_string=None): namespace.dns_name_type = 'new' namespace.dns_name_for_public_ip = dns_value + +def load_images_from_aliases_doc(publisher, offer, sku): + target_url = ('https://raw.githubusercontent.com/Azure/azure-rest-api-specs/' + 'master/arm-compute/quickstart-templates/aliases.json') + txt = urlopen(target_url).read() + dic = json.loads(txt.decode()) + try: + all_images = [] + result = (dic['outputs']['aliases']['value']) + for v in result.values(): #loop around os + for alias, vv in v.items(): #loop around distros + all_images.append({ + 'urn alias': alias, + 'publisher': vv['publisher'], + 'offer': vv['offer'], + 'sku': vv['sku'], + 'version': vv['version'] + }) + + all_images = [i for i in all_images if (_partial_matched(publisher, i['publisher']) and + _partial_matched(offer, i['offer']) and + _partial_matched(sku, i['sku']))] + return all_images + except KeyError: + raise CLIError('Could not retrieve image list from {}'.format(target_url)) + +def load_images_thru_services(publisher, offer, sku, location): + from concurrent.futures import ThreadPoolExecutor + + all_images = [] + client = _compute_client_factory() + + def _load_images_from_publisher(publisher): + offers = client.virtual_machine_images.list_offers(location, publisher) + if offer: + offers = [o for o in offers if _partial_matched(offer, o.name)] + for o in offers: + skus = client.virtual_machine_images.list_skus(location, publisher, o.name) + if sku: + skus = [s for s in skus if _partial_matched(sku, s.name)] + for s in skus: + images = client.virtual_machine_images.list(location, publisher, o.name, s.name) + for i in images: + all_images.append({ + 'publisher': publisher, + 'offer': o.name, + 'sku': s.name, + 'version': i.name}) + + publishers = client.virtual_machine_images.list_publishers(location) + if publisher: + publishers = [p for p in publishers if _partial_matched(publisher, p.name)] + + publisher_num = len(publishers) + if publisher_num > 1: + with ThreadPoolExecutor(max_workers=40) as executor: + for p in publishers: + executor.submit(_load_images_from_publisher, p.name) + elif publisher_num == 1: + _load_images_from_publisher(publishers[0].name) + + return all_images + +def _partial_matched(pattern, string): + if not pattern: + return True # empty pattern means wildcard-match + pattern = r'.*' + pattern + return re.match(pattern, string, re.I) + +def _create_image_instance(publisher, offer, sku, version): + return { + 'publisher': publisher, + 'offer': offer, + 'sku': sku, + 'version': version + } diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_factory.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_factory.py new file mode 100644 index 00000000000..ac2dc431983 --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_factory.py @@ -0,0 +1,5 @@ +from azure.cli.commands._command_creation import get_mgmt_service_client +from azure.mgmt.compute import ComputeManagementClient, ComputeManagementClientConfiguration + +def _compute_client_factory(**_): + return get_mgmt_service_client(ComputeManagementClient, ComputeManagementClientConfiguration) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py index 6e06e65129f..6a26dd407a9 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py @@ -1,22 +1,15 @@ import argparse -from azure.mgmt.compute import ComputeManagementClient, ComputeManagementClientConfiguration from azure.mgmt.compute.models import VirtualHardDisk from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter, patch_aliases) -from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli.command_modules.vm._validators import MinMaxValue from azure.cli.command_modules.vm._actions import (VMImageFieldAction, VMSSHFieldAction, VMDNSNameAction) from azure.cli._help_files import helps from azure.cli._locale import L -# FACTORIES - -def _compute_client_factory(**_): - return get_mgmt_service_client(ComputeManagementClient, ComputeManagementClientConfiguration) - # BASIC PARAMETER CONFIGURATION PARAMETER_ALIASES = patch_aliases(GLOBAL_COMMON_PARAMETERS, { diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index 2989eadac29..ff630b2ddb5 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -1,17 +1,16 @@ # pylint: disable=no-self-use,too-many-arguments -import argparse -import json import re -from six.moves.urllib.request import urlopen #pylint: disable=import-error - from azure.mgmt.compute.models import DataDisk from azure.mgmt.compute.models.compute_management_client_enums import DiskCreateOptionTypes from azure.cli.commands import CommandTable, LongRunningOperation from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli._util import CLIError -from ._params import _compute_client_factory +from ._actions import load_images_from_aliases_doc, load_images_thru_services +from ._factory import _compute_client_factory + +from six.moves.urllib.request import urlopen #pylint: disable=import-error command_table = CommandTable() @@ -43,82 +42,6 @@ def _parse_rg_name(strid): return (parts[4], parts[8]) -def load_images_from_aliases_doc(publisher, offer, sku): - target_url = ('https://raw.githubusercontent.com/Azure/azure-rest-api-specs/' - 'master/arm-compute/quickstart-templates/aliases.json') - txt = urlopen(target_url).read() - dic = json.loads(txt.decode()) - try: - all_images = [] - result = (dic['outputs']['aliases']['value']) - for v in result.values(): #loop around os - for alias, vv in v.items(): #loop around distros - all_images.append({ - 'urn alias': alias, - 'publisher': vv['publisher'], - 'offer': vv['offer'], - 'sku': vv['sku'], - 'version': vv['version'] - }) - - all_images = [i for i in all_images if (_partial_matched(publisher, i['publisher']) and - _partial_matched(offer, i['offer']) and - _partial_matched(sku, i['sku']))] - return all_images - except KeyError: - raise CLIError('Could not retrieve image list from {}'.format(target_url)) - -def load_images_thru_services(publisher, offer, sku, location): - from concurrent.futures import ThreadPoolExecutor - - all_images = [] - client = _compute_client_factory() - - def _load_images_from_publisher(publisher): - offers = client.virtual_machine_images.list_offers(location, publisher) - if offer: - offers = [o for o in offers if _partial_matched(offer, o.name)] - for o in offers: - skus = client.virtual_machine_images.list_skus(location, publisher, o.name) - if sku: - skus = [s for s in skus if _partial_matched(sku, s.name)] - for s in skus: - images = client.virtual_machine_images.list(location, publisher, o.name, s.name) - for i in images: - all_images.append({ - 'publisher': publisher, - 'offer': o.name, - 'sku': s.name, - 'version': i.name}) - - publishers = client.virtual_machine_images.list_publishers(location) - if publisher: - publishers = [p for p in publishers if _partial_matched(publisher, p.name)] - - publisher_num = len(publishers) - if publisher_num > 1: - with ThreadPoolExecutor(max_workers=40) as executor: - for p in publishers: - executor.submit(_load_images_from_publisher, p.name) - elif publisher_num == 1: - _load_images_from_publisher(publishers[0].name) - - return all_images - -def _partial_matched(pattern, string): - if not pattern: - return True # empty pattern means wildcard-match - pattern = r'.*' + pattern - return re.match(pattern, string, re.I) - -def _create_image_instance(publisher, offer, sku, version): - return { - 'publisher': publisher, - 'offer': offer, - 'sku': sku, - 'version': version - } - class ConvenienceVmCommands(object): # pylint: disable=too-few-public-methods def __init__(self, **kwargs): @@ -239,49 +162,3 @@ def detach_disk(self, diskname): except StopIteration: raise CLIError("No disk with the name '{}' found".format(diskname)) _vm_set(self.vm, 'Detaching disk', 'Disk detached') - -# CUSTOM ACTIONS ############### - -class VMImageFieldAction(argparse.Action): #pylint: disable=too-few-public-methods - def __call__(self, parser, namespace, values, option_string=None): - image = values - match = re.match('([^:]*):([^:]*):([^:]*):([^:]*)', image) - - if image.lower().endswith('.vhd'): - namespace.os_disk_uri = image - elif match: - namespace.os_type = 'Custom' - namespace.os_publisher = match.group(1) - namespace.os_offer = match.group(2) - namespace.os_sku = match.group(3) - namespace.os_version = match.group(4) - else: - images = load_images_from_aliases_doc(None, None, None) - matched = next((x for x in images if x['urn alias'].lower() == image.lower()), None) - if matched is None: - raise CLIError('Invalid image "{}". Please pick one from {}'.format( - image, [x['urn alias'] for x in images])) - namespace.os_type = 'Custom' - namespace.os_publisher = matched['publisher'] - namespace.os_offer = matched['offer'] - namespace.os_sku = matched['sku'] - namespace.os_version = matched['version'] - -class VMSSHFieldAction(argparse.Action): #pylint: disable=too-few-public-methods - def __call__(self, parser, namespace, values, option_string=None): - ssh_value = values - - if os.path.exists(ssh_value): - with open(ssh_value, 'r') as f: - namespace.ssh_key_value = f.read() - else: - namespace.ssh_key_value = ssh_value - -class VMDNSNameAction(argparse.Action): #pylint: disable=too-few-public-methods - def __call__(self, parser, namespace, values, option_string=None): - dns_value = values - - if dns_value: - namespace.dns_name_type = 'new' - - namespace.dns_name_for_public_ip = dns_value diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index a67c0457f5b..bb631960cf4 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -18,7 +18,8 @@ from azure.cli._locale import L from ._params import (PARAMETER_ALIASES, VM_CREATE_EXTRA_PARAMETERS, VM_CREATE_PARAMETER_ALIASES, - VM_PATCH_EXTRA_PARAMETERS, _compute_client_factory) + VM_PATCH_EXTRA_PARAMETERS) +from ._factory import _compute_client_factory from .custom import ConvenienceVmCommands command_table = CommandTable() From d3308a27cd20ab96bca3a761a10e6ba7377d57b9 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 9 May 2016 13:28:40 -0700 Subject: [PATCH 18/27] Pylint fixes. --- .../azure-cli-vm/azure/cli/command_modules/vm/custom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index ff630b2ddb5..c44da3aea3f 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -10,7 +10,7 @@ from ._actions import load_images_from_aliases_doc, load_images_thru_services from ._factory import _compute_client_factory -from six.moves.urllib.request import urlopen #pylint: disable=import-error +from six.moves.urllib.request import urlopen #pylint: disable=import-error,unused-import command_table = CommandTable() From 81cb3252c95a2e6a9e8769161aab90db1a43cbb5 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 9 May 2016 14:11:18 -0700 Subject: [PATCH 19/27] Make storage tests fully automatic. --- .../storage/tests/command_specs.py | 62 +- .../tests/recordings/expected_results.res | 6 +- .../recordings/test_storage_account.yaml | 92 +-- .../tests/recordings/test_storage_blob.yaml | 538 +++++++++--------- .../tests/recordings/test_storage_file.yaml | 456 +++++++-------- 5 files changed, 595 insertions(+), 559 deletions(-) diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/command_specs.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/command_specs.py index f3d9ddbb1ef..bc092603509 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/command_specs.py +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/command_specs.py @@ -60,14 +60,26 @@ def test_body(self): s.test('storage account check-name --name teststorageomega', {'nameAvailable': True}) s.test('storage account check-name --name {}'.format(account), {'nameAvailable': False, 'reason': 'AlreadyExists'}) - s.rec('storage account list -g {}'.format(rg)) + s.test('storage account list -g {}'.format(rg), + {'name': account, 'accountType': 'Standard_LRS', 'location': 'westus', 'resourceGroup': rg}) s.test('storage account show --resource-group {} --account-name {}'.format(rg, account), {'name': account, 'accountType': 'Standard_LRS', 'location': 'westus', 'resourceGroup': rg}) - s.rec('storage account show-usage') - s.rec('storage account connection-string -g {} --account-name {} --use-http'.format(rg, account)) - s.rec('storage account keys list -g {} --account-name {}'.format(rg, account)) - s.rec('storage account keys renew -g {} --account-name {}'.format(rg, account)) - s.rec('storage account keys renew -g {} --account-name {} --key key2'.format(rg, account)) + s.test('storage account show-usage', {'name': {'value': 'StorageAccounts'}}) + cs = s.run('storage account connection-string -g {} --account-name {} --use-http'.format(rg, account)) + assert 'https' not in cs + assert account in cs + keys = json.loads(s.run('storage account keys list -g {} --account-name {} -o json'.format(rg, account))) + key1 = keys['key1'] + key2 = keys['key2'] + assert key1 and key2 + keys = json.loads(s.run('storage account keys renew -g {} --account-name {} -o json'.format(rg, account))) + assert key1 != keys['key1'] + key1 = keys['key1'] + assert key2 != keys['key2'] + key2 = keys['key2'] + keys = json.loads(s.run('storage account keys renew -g {} --account-name {} --key key2 -o json'.format(rg, account))) + assert key1 == keys['key1'] + assert key2 != keys['key2'] s.test('storage account set -g {} -n {} --tags foo=bar;cat'.format(rg, account), {'tags': {'cat':'', 'foo':'bar'}}) # TODO: This should work like other tag commands--no value to clear @@ -110,7 +122,12 @@ def _storage_blob_scenario(self): new_lease_id = s.new_lease_id date = s.date - s.rec('storage blob service-properties show') + s.test('storage blob service-properties show', { + 'cors': [], + 'hourMetrics': {'enabled': True}, + 'logging': {'delete': False}, + 'minuteMetrics': {'enabled': False} + }) # test block blob upload s.run('storage blob upload -b {} -c {} --type block --upload-from {}'.format(block_blob, container, os.path.join(TEST_DIR, 'testfile.rst'))) @@ -133,7 +150,11 @@ def _storage_blob_scenario(self): s.run('storage blob metadata set -b {} -c {}'.format(blob, container)) s.test('storage blob metadata show -b {} -c {}'.format(blob, container), None) - s.rec('storage blob list --container-name {}'.format(container)) + res = json.loads(s.run('storage blob list --container-name {} -o json'.format(container)))['items'] + blob_list = [block_blob, append_blob, page_blob] + for item in res: + assert item['name'] in blob_list + s.test('storage blob show --container-name {} --blob-name {}'.format(container, block_blob), {'name': block_blob, 'properties': {'blobType': 'BlockBlob'}}) s.run('storage blob download -b {} -c {} --download-to {}'.format(blob, container, dest_file)) @@ -173,8 +194,11 @@ def test_body(self): date = s.date s.test('storage container create --container-name {} --fail-on-exist'.format(container), True) s.test('storage container exists --container-name {}'.format(container), True) + s.test('storage container show --container-name {}'.format(container), {'name': container}) - s.rec('storage container list') + res = json.loads(s.run('storage container list -o json'))['items'] + assert container in [x['name'] for x in res] + s.run('storage container metadata set -c {} --metadata foo=bar;moo=bak;'.format(container)) s.test('storage container metadata show -c {}'.format(container), {'foo': 'bar', 'moo': 'bak'}) s.run('storage container metadata set -c {}'.format(container)) # reset metadata @@ -271,7 +295,9 @@ def _storage_file_scenario(self, share): file_url = 'https://{}.file.core.windows.net/{}/{}'.format(STORAGE_ACCOUNT_NAME, share, filename) s.test('storage file url -s {} --file-name {}'.format(share, filename), file_url) - s.rec('storage share contents --share-name {}'.format(share)) + res = [x['name'] for x in json.loads(s.run('storage share contents --share-name {} -o json'.format(share)))['items']] + assert filename in res + s.run('storage file delete --share-name {} --file-name {}'.format(share, filename)) s.test('storage file exists --share-name {} --file-name {}'.format(share, filename), False) @@ -289,7 +315,10 @@ def _storage_file_in_subdir_scenario(self, share, dir): os.remove(dest_file) else: io.print_('\nDownload failed. Test failed!') - s.rec('storage share contents --share-name {} --directory-name {}'.format(share, dir)) + + res = [x['name'] for x in json.loads(s.run('storage share contents --share-name {} --directory-name {} -o json'.format(share, dir)))['items']] + assert filename in res + s.test('storage share stats -s {}'.format(share), "1") s.run('storage file delete --share-name {} --directory-name {} --file-name {}'.format(share, dir, filename)) s.test('storage file exists --share-name {} --file-name {}'.format(share, filename), False) @@ -302,7 +331,9 @@ def test_body(self): s.test('storage share create --share-name {} --fail-on-exist --metadata foo=bar;cat=hat'.format(share2), True) s.test('storage share exists --share-name {}'.format(share1), True) s.test('storage share metadata show --share-name {}'.format(share2), {'cat': 'hat', 'foo': 'bar'}) - s.rec('storage share list') + res = [x['name'] for x in json.loads(s.run('storage share list -o json'))['items']] + assert share1 in res + assert share2 in res # verify metadata can be set, queried, and cleared s.run('storage share metadata set --share-name {} --metadata a=b;c=d'.format(share1)) @@ -316,7 +347,12 @@ def test_body(self): self._storage_file_scenario(share1) self._storage_directory_scenario(share1) - s.rec('storage file service-properties show') + s.test('storage file service-properties show', { + 'cors': [], + 'hourMetrics': {'enabled': True}, + 'minuteMetrics': {'enabled': False} + }) + def tear_down(self): self.run('storage share delete --share-name {} --fail-not-exist'.format(self.share1)) diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res index 4d0216f3ed9..7c93628f114 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/expected_results.res @@ -1,6 +1,6 @@ { - "test_storage_account": "{\n \"message\": null,\n \"nameAvailable\": true,\n \"reason\": null\n}{\n \"message\": \"The storage account named travistestresourcegr3014 is already taken.\",\n \"nameAvailable\": false,\n \"reason\": \"AlreadyExists\"\n}Account Type : Standard_LRS\nCreation Time : 2016-04-06T21:44:48.400791+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/teststorageaccount02\nLast Geo Failover Time : None\nLocation : westus\nName : teststorageaccount02\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://teststorageaccount02.blob.core.windows.net/\n File : https://teststorageaccount02.file.core.windows.net/\n Queue : https://teststorageaccount02.queue.core.windows.net/\n Table : https://teststorageaccount02.table.core.windows.net/\nTags :\n Cat : \n Foo : bar\n\nAccount Type : Standard_LRS\nCreation Time : 2016-04-26T00:00:45.729978+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\nLast Geo Failover Time : None\nLocation : westus\nName : travistestresourcegr3014\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://travistestresourcegr3014.blob.core.windows.net/\n File : https://travistestresourcegr3014.file.core.windows.net/\n Queue : https://travistestresourcegr3014.queue.core.windows.net/\n Table : https://travistestresourcegr3014.table.core.windows.net/\nTags :\n None : \n\nAccount Type : Standard_LRS\nCreation Time : 2016-05-05T20:54:21.465033+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstoragegtcmyygd2kyk2\nLast Geo Failover Time : None\nLocation : westus\nName : vhdstoragegtcmyygd2kyk2\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://vhdstoragegtcmyygd2kyk2.blob.core.windows.net/\n File : https://vhdstoragegtcmyygd2kyk2.file.core.windows.net/\n Queue : https://vhdstoragegtcmyygd2kyk2.queue.core.windows.net/\n Table : https://vhdstoragegtcmyygd2kyk2.table.core.windows.net/\nTags :\n Display Name : StorageAccount\n\nAccount Type : Standard_LRS\nCreation Time : 2016-05-05T21:11:56.050903+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstorageo42yswfrhfzia\nLast Geo Failover Time : None\nLocation : westus\nName : vhdstorageo42yswfrhfzia\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://vhdstorageo42yswfrhfzia.blob.core.windows.net/\n File : https://vhdstorageo42yswfrhfzia.file.core.windows.net/\n Queue : https://vhdstorageo42yswfrhfzia.queue.core.windows.net/\n Table : https://vhdstorageo42yswfrhfzia.table.core.windows.net/\nTags :\n Display Name : StorageAccount\n\nAccount Type : Standard_LRS\nCreation Time : 2016-05-05T20:52:49.494803+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstoragermjmr5zat626k\nLast Geo Failover Time : None\nLocation : westus\nName : vhdstoragermjmr5zat626k\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://vhdstoragermjmr5zat626k.blob.core.windows.net/\n File : https://vhdstoragermjmr5zat626k.file.core.windows.net/\n Queue : https://vhdstoragermjmr5zat626k.queue.core.windows.net/\n Table : https://vhdstoragermjmr5zat626k.table.core.windows.net/\nTags :\n Display Name : StorageAccount\n\nAccount Type : Standard_LRS\nCreation Time : 2016-05-05T21:43:48.273135+00:00\nCustom Domain : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstorages67e6ressiqoy\nLast Geo Failover Time : None\nLocation : westus\nName : vhdstorages67e6ressiqoy\nPrimary Location : westus\nProvisioning State : Succeeded\nResource Group : travistestresourcegroup\nSecondary Endpoints : None\nSecondary Location : None\nStatus Of Primary : Available\nStatus Of Secondary : None\nType : Microsoft.Storage/storageAccounts\nPrimary Endpoints :\n Blob : https://vhdstorages67e6ressiqoy.blob.core.windows.net/\n File : https://vhdstorages67e6ressiqoy.file.core.windows.net/\n Queue : https://vhdstorages67e6ressiqoy.queue.core.windows.net/\n Table : https://vhdstorages67e6ressiqoy.table.core.windows.net/\nTags :\n Display Name : StorageAccount{\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-04-26T00:00:45.729978+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"travistestresourcegr3014\",\n \"primaryEndpoints\": {\n \"blob\": \"https://travistestresourcegr3014.blob.core.windows.net/\",\n \"file\": \"https://travistestresourcegr3014.file.core.windows.net/\",\n \"queue\": \"https://travistestresourcegr3014.queue.core.windows.net/\",\n \"table\": \"https://travistestresourcegr3014.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n}Current Value : 46\nLimit : 100\nUnit : Count\nName :\n Localized Value : Storage Accounts\n Value : StorageAccountsConnection String : DefaultEndpointsProtocol=http;AccountName=travistestresourcegr3014;AccountKey=wg2FxOdgK5ixrOpEkKnBYhOU6m+B1eQX8GIav9i5dG7pVqmBhEYnYz+TnQXUD9VaIfOFjPMHjM8QQsPjcRAI5w==Key1 : wg2FxOdgK5ixrOpEkKnBYhOU6m+B1eQX8GIav9i5dG7pVqmBhEYnYz+TnQXUD9VaIfOFjPMHjM8QQsPjcRAI5w==\nKey2 : 98FwoBTWu8bz4yGG8p4k3EEG/n7RZpF32/kyrrfdmZH1XNIhgLpJPoe/jVr0BgtErhq6L1yaFuQ7HnbKxddwbA==Key1 : gtIN+RrNEcuLNTiWmrTNtX+MyrhmAeWJL2huqqE+OdWKmIwRJt1LPccl7tSf2QkyfoJgOVIbevqULD+gMg4Y2g==\nKey2 : ejVUyO6mlQZnHhRiciEkuMv/TVxHo9ei6L+jqRQdqmwBYldYLX9wpGhJUOvILdta5KNgJm3UAVrU54SG1ReNsw==Key1 : gtIN+RrNEcuLNTiWmrTNtX+MyrhmAeWJL2huqqE+OdWKmIwRJt1LPccl7tSf2QkyfoJgOVIbevqULD+gMg4Y2g==\nKey2 : uGnC+SOuCrsqW9sJLVu9c0QcP6yI2QsDfqboNmDDbXGyJjDpAypvFOt7YzkuhsMg2NHyQAZHpsgG0F7mNs4FZg=={\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"cat\": \"\",\n \"foo\": \"bar\"\n },\n \"type\": null\n}{\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": null\n}{\n \"accountType\": \"Standard_GRS\",\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": null,\n \"type\": null\n}", + "test_storage_account": "{\n \"message\": null,\n \"nameAvailable\": true,\n \"reason\": null\n}{\n \"message\": \"The storage account named travistestresourcegr3014 is already taken.\",\n \"nameAvailable\": false,\n \"reason\": \"AlreadyExists\"\n}[\n {\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-04-06T21:44:48.400791+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/teststorageaccount02\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"teststorageaccount02\",\n \"primaryEndpoints\": {\n \"blob\": \"https://teststorageaccount02.blob.core.windows.net/\",\n \"file\": \"https://teststorageaccount02.file.core.windows.net/\",\n \"queue\": \"https://teststorageaccount02.queue.core.windows.net/\",\n \"table\": \"https://teststorageaccount02.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"cat\": \"\",\n \"foo\": \"bar\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n },\n {\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-04-26T00:00:45.729978+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"travistestresourcegr3014\",\n \"primaryEndpoints\": {\n \"blob\": \"https://travistestresourcegr3014.blob.core.windows.net/\",\n \"file\": \"https://travistestresourcegr3014.file.core.windows.net/\",\n \"queue\": \"https://travistestresourcegr3014.queue.core.windows.net/\",\n \"table\": \"https://travistestresourcegr3014.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n },\n {\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-05-05T20:54:21.465033+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstoragegtcmyygd2kyk2\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"vhdstoragegtcmyygd2kyk2\",\n \"primaryEndpoints\": {\n \"blob\": \"https://vhdstoragegtcmyygd2kyk2.blob.core.windows.net/\",\n \"file\": \"https://vhdstoragegtcmyygd2kyk2.file.core.windows.net/\",\n \"queue\": \"https://vhdstoragegtcmyygd2kyk2.queue.core.windows.net/\",\n \"table\": \"https://vhdstoragegtcmyygd2kyk2.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"displayName\": \"StorageAccount\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n },\n {\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-05-05T21:11:56.050903+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstorageo42yswfrhfzia\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"vhdstorageo42yswfrhfzia\",\n \"primaryEndpoints\": {\n \"blob\": \"https://vhdstorageo42yswfrhfzia.blob.core.windows.net/\",\n \"file\": \"https://vhdstorageo42yswfrhfzia.file.core.windows.net/\",\n \"queue\": \"https://vhdstorageo42yswfrhfzia.queue.core.windows.net/\",\n \"table\": \"https://vhdstorageo42yswfrhfzia.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"displayName\": \"StorageAccount\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n },\n {\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-05-05T20:52:49.494803+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstoragermjmr5zat626k\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"vhdstoragermjmr5zat626k\",\n \"primaryEndpoints\": {\n \"blob\": \"https://vhdstoragermjmr5zat626k.blob.core.windows.net/\",\n \"file\": \"https://vhdstoragermjmr5zat626k.file.core.windows.net/\",\n \"queue\": \"https://vhdstoragermjmr5zat626k.queue.core.windows.net/\",\n \"table\": \"https://vhdstoragermjmr5zat626k.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"displayName\": \"StorageAccount\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n },\n {\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-05-05T21:43:48.273135+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/vhdstorages67e6ressiqoy\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"vhdstorages67e6ressiqoy\",\n \"primaryEndpoints\": {\n \"blob\": \"https://vhdstorages67e6ressiqoy.blob.core.windows.net/\",\n \"file\": \"https://vhdstorages67e6ressiqoy.file.core.windows.net/\",\n \"queue\": \"https://vhdstorages67e6ressiqoy.queue.core.windows.net/\",\n \"table\": \"https://vhdstorages67e6ressiqoy.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"displayName\": \"StorageAccount\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n }\n]{\n \"accountType\": \"Standard_LRS\",\n \"creationTime\": \"2016-04-26T00:00:45.729978+00:00\",\n \"customDomain\": null,\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014\",\n \"lastGeoFailoverTime\": null,\n \"location\": \"westus\",\n \"name\": \"travistestresourcegr3014\",\n \"primaryEndpoints\": {\n \"blob\": \"https://travistestresourcegr3014.blob.core.windows.net/\",\n \"file\": \"https://travistestresourcegr3014.file.core.windows.net/\",\n \"queue\": \"https://travistestresourcegr3014.queue.core.windows.net/\",\n \"table\": \"https://travistestresourcegr3014.table.core.windows.net/\"\n },\n \"primaryLocation\": \"westus\",\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"travistestresourcegroup\",\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": \"Available\",\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": \"Microsoft.Storage/storageAccounts\"\n}{\n \"currentValue\": 44,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Storage Accounts\",\n \"value\": \"StorageAccounts\"\n },\n \"unit\": \"Count\"\n}{\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"cat\": \"\",\n \"foo\": \"bar\"\n },\n \"type\": null\n}{\n \"accountType\": null,\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": {\n \"none\": \"\"\n },\n \"type\": null\n}{\n \"accountType\": \"Standard_GRS\",\n \"creationTime\": null,\n \"customDomain\": null,\n \"id\": null,\n \"lastGeoFailoverTime\": null,\n \"location\": null,\n \"name\": null,\n \"primaryEndpoints\": null,\n \"primaryLocation\": null,\n \"provisioningState\": null,\n \"secondaryEndpoints\": null,\n \"secondaryLocation\": null,\n \"statusOfPrimary\": null,\n \"statusOfSecondary\": null,\n \"tags\": null,\n \"type\": null\n}", "test_storage_account_create_and_delete": "{\n \"message\": \"The storage account named testcreatedelete is already taken.\",\n \"nameAvailable\": false,\n \"reason\": \"AlreadyExists\"\n}{\n \"message\": null,\n \"nameAvailable\": true,\n \"reason\": null\n}", - "test_storage_blob": "truetrue{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8D926878\\\"\",\n \"lastModified\": \"2016-05-05T23:25:32+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}Next Marker : \nItems :\n Metadata : None\n Name : bootdiagnostics-linuxtest-f6c88058-8d96-4f6a-a090-9fb5411151d0\n Properties :\n Etag : \"0x8D36E19CE91BE4A\"\n Last Modified : 2016-04-26T21:29:10+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : bootdiagnostics-windowste-2006bcb8-19b1-48c0-9822-da025cd5a5f4\n Properties :\n Etag : \"0x8D36E114D516083\"\n Last Modified : 2016-04-26T20:28:18+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : testcontainer01\n Properties :\n Etag : \"0x8D3753C8D926878\"\n Last Modified : 2016-05-05T23:25:32+00:00\n Lease Duration : None\n Lease State : available\n Lease Status : unlocked\n Lease :\n Duration : None\n State : None\n Status : None\n Metadata : None\n Name : vhds\n Properties :\n Etag : \"0x8D36E0F38BB034E\"\n Last Modified : 2016-04-26T20:13:24+00:00\n Lease Duration : infinite\n Lease State : leased\n Lease Status : locked\n Lease :\n Duration : None\n State : None\n Status : None{\n \"foo\": \"bar\",\n \"moo\": \"bak\"\n}Cors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nLogging :\n Delete : False\n Read : False\n Version : 1.0\n Write : False\n Retention Policy :\n Days : None\n Enabled : False\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : Falsetruetruetrue\"https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob\"{\n \"a\": \"b\",\n \"c\": \"d\"\n}Next Marker : \nItems :\n Content : None\n Metadata : None\n Name : testappendblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : AppendBlob\n Content Length : 156\n Etag : 0x8D3753C8FAEB631\n Last Modified : 2016-05-05T23:25:35+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testblockblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : BlockBlob\n Content Length : 78\n Etag : 0x8D3753C910E2185\n Last Modified : 2016-05-05T23:25:38+00:00\n Page Blob Sequence Number : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : zeGiTMG1TdAobIHawzap3A==\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked\n Content : None\n Metadata : None\n Name : testpageblob\n Snapshot : None\n Properties :\n Append Blob Committed Block Count : None\n Blob Type : PageBlob\n Content Length : 512\n Etag : 0x8D3753C8F4506B3\n Last Modified : 2016-05-05T23:25:35+00:00\n Page Blob Sequence Number : None\n Sequence Number : 0\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : application/octet-stream\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None\n Lease :\n Duration : None\n State : available\n Status : unlocked{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C910E2185\\\"\",\n \"lastModified\": \"2016-05-05T23:25:38+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}true{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8E6BE520\\\"\",\n \"lastModified\": \"2016-05-05T23:25:33+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8E6BE520\\\"\",\n \"lastModified\": \"2016-05-05T23:25:33+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8E6BE520\\\"\",\n \"lastModified\": \"2016-05-05T23:25:33+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C8E6BE520\\\"\",\n \"lastModified\": \"2016-05-05T23:25:33+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}true", - "test_storage_file": "truetruetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}Next Marker : None\nItems :\n Metadata : None\n Name : testshare\n Properties :\n Etag : \"0x8D36E189FD7EB3F\"\n Last Modified : 2016-04-26T21:20:42+00:00\n Quota : 5120\n Metadata : None\n Name : testshare01\n Properties :\n Etag : \"0x8D3753C9D7FA7F1\"\n Last Modified : 2016-05-05T23:25:59+00:00\n Quota : 5120\n Metadata : None\n Name : testshare02\n Properties :\n Etag : \"0x8D3753C9DBA4664\"\n Last Modified : 2016-05-05T23:25:59+00:00\n Quota : 5120{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {},\n \"name\": \"testshare01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753C9EFCBFA3\\\"\",\n \"lastModified\": \"2016-05-05T23:26:01+00:00\",\n \"quota\": 3\n }\n}true{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testfile.rst\",\n \"properties\": {\n \"contentLength\": 1234,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": null,\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3753C9F7797F3\\\"\",\n \"lastModified\": \"2016-05-05T23:26:02+00:00\"\n }\n}{\n \"a\": \"b\",\n \"c\": \"d\"\n}\"https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst\"Next Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 1234\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : Nonetruetrue{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {\n \"a\": \"b\",\n \"c\": \"d\"\n },\n \"name\": \"testdir01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3753CA1EADCB0\\\"\",\n \"lastModified\": \"2016-05-05T23:26:06+00:00\"\n }\n}trueNext Marker : None\nItems :\n Content : None\n Metadata : None\n Name : testfile.rst\n Properties :\n Content Length : 78\n Etag : None\n Last Modified : None\n Content Settings :\n Cache Control : None\n Content Disposition : None\n Content Encoding : None\n Content Language : None\n Content Md5 : None\n Content Type : None\n Copy :\n Completion Time : None\n Id : None\n Progress : None\n Source : None\n Status : None\n Status Description : None1truetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}trueCors :\n None\nHour Metrics :\n Enabled : True\n Include Apis : True\n Version : 1.0\n Retention Policy :\n Days : 7\n Enabled : True\nMinute Metrics :\n Enabled : False\n Include Apis : None\n Version : 1.0\n Retention Policy :\n Days : None\n Enabled : False" + "test_storage_blob": "truetrue{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3784C58F8286E\\\"\",\n \"lastModified\": \"2016-05-09T20:56:09+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}{\n \"foo\": \"bar\",\n \"moo\": \"bak\"\n}{\n \"cors\": [],\n \"hourMetrics\": {\n \"enabled\": true,\n \"includeApis\": true,\n \"retentionPolicy\": {\n \"days\": 7,\n \"enabled\": true\n },\n \"version\": \"1.0\"\n },\n \"logging\": {\n \"delete\": false,\n \"read\": false,\n \"retentionPolicy\": {\n \"days\": null,\n \"enabled\": false\n },\n \"version\": \"1.0\",\n \"write\": false\n },\n \"minuteMetrics\": {\n \"enabled\": false,\n \"includeApis\": null,\n \"retentionPolicy\": {\n \"days\": null,\n \"enabled\": false\n },\n \"version\": \"1.0\"\n }\n}truetruetrue\"https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob\"{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3784C5C77A0CA\\\"\",\n \"lastModified\": \"2016-05-09T20:56:15+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3784C5C77A0CA\\\"\",\n \"lastModified\": \"2016-05-09T20:56:15+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3784C5C77A0CA\\\"\",\n \"lastModified\": \"2016-05-09T20:56:15+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3784C5C77A0CA\\\"\",\n \"lastModified\": \"2016-05-09T20:56:15+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testblockblob\",\n \"properties\": {\n \"appendBlobCommittedBlockCount\": null,\n \"blobType\": \"BlockBlob\",\n \"contentLength\": 78,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": \"zeGiTMG1TdAobIHawzap3A==\",\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3784C5C77A0CA\\\"\",\n \"lastModified\": \"2016-05-09T20:56:15+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n },\n \"pageBlobSequenceNumber\": null\n },\n \"snapshot\": null\n}true{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3784C5952847C\\\"\",\n \"lastModified\": \"2016-05-09T20:56:10+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3784C5952847C\\\"\",\n \"lastModified\": \"2016-05-09T20:56:10+00:00\",\n \"lease\": {\n \"duration\": \"fixed\",\n \"state\": \"leased\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3784C5952847C\\\"\",\n \"lastModified\": \"2016-05-09T20:56:10+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"breaking\",\n \"status\": \"locked\"\n }\n }\n}{\n \"metadata\": {},\n \"name\": \"testcontainer01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3784C5952847C\\\"\",\n \"lastModified\": \"2016-05-09T20:56:10+00:00\",\n \"lease\": {\n \"duration\": null,\n \"state\": \"available\",\n \"status\": \"unlocked\"\n }\n }\n}true", + "test_storage_file": "truetruetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {},\n \"name\": \"testshare01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3784DF4B748EF\\\"\",\n \"lastModified\": \"2016-05-09T21:07:40+00:00\",\n \"quota\": 3\n }\n}true{\n \"content\": null,\n \"metadata\": {},\n \"name\": \"testfile.rst\",\n \"properties\": {\n \"contentLength\": 1234,\n \"contentSettings\": {\n \"cacheControl\": null,\n \"contentDisposition\": null,\n \"contentEncoding\": null,\n \"contentLanguage\": null,\n \"contentMd5\": null,\n \"contentType\": \"application/octet-stream\"\n },\n \"copy\": {\n \"completionTime\": null,\n \"id\": null,\n \"progress\": null,\n \"source\": null,\n \"status\": null,\n \"statusDescription\": null\n },\n \"etag\": \"\\\"0x8D3784DF61DB5CB\\\"\",\n \"lastModified\": \"2016-05-09T21:07:42+00:00\"\n }\n}{\n \"a\": \"b\",\n \"c\": \"d\"\n}\"https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst\"truetrue{\n \"a\": \"b\",\n \"c\": \"d\"\n}{\n \"metadata\": {\n \"a\": \"b\",\n \"c\": \"d\"\n },\n \"name\": \"testdir01\",\n \"properties\": {\n \"etag\": \"\\\"0x8D3784DF7E781EE\\\"\",\n \"lastModified\": \"2016-05-09T21:07:45+00:00\"\n }\n}true1truetrue{\n \"cat\": \"hat\",\n \"foo\": \"bar\"\n}true{\n \"cors\": [],\n \"hourMetrics\": {\n \"enabled\": true,\n \"includeApis\": true,\n \"retentionPolicy\": {\n \"days\": 7,\n \"enabled\": true\n },\n \"version\": \"1.0\"\n },\n \"minuteMetrics\": {\n \"enabled\": false,\n \"includeApis\": null,\n \"retentionPolicy\": {\n \"days\": null,\n \"enabled\": false\n },\n \"version\": \"1.0\"\n }\n}" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml index fd22c3fa858..57c881582bd 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_account.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: '{"name": "teststorageomega", "type": "Microsoft.Storage/storageAccounts"}' + body: '{"type": "Microsoft.Storage/storageAccounts", "name": "teststorageomega"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -22,7 +22,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:32 GMT'] + Date: ['Mon, 09 May 2016 20:43:14 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -30,7 +30,7 @@ interactions: Vary: [Accept-Encoding] status: {code: 200, message: OK} - request: - body: '{"name": "travistestresourcegr3014", "type": "Microsoft.Storage/storageAccounts"}' + body: '{"type": "Microsoft.Storage/storageAccounts", "name": "travistestresourcegr3014"}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -53,7 +53,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:33 GMT'] + Date: ['Mon, 09 May 2016 20:43:14 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -96,7 +96,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:34 GMT'] + Date: ['Mon, 09 May 2016 20:43:15 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -131,7 +131,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:34 GMT'] + Date: ['Mon, 09 May 2016 20:43:15 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -155,14 +155,14 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/tf+q+KosFv7O7s+M+XGYL - tLOA6SPT50ev26rOLvLj6RSdNK4XalRW06wsfpDPTE+mdWqbm9a/RH7hH9//jZNf8v8AbWSuSdoA - AAA= + 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/t77uvymLB7+zu7LgPl9kC + 7Sxg+sj0+dHrtqqzi/x4OkUnjeuFGpXVNCuLH+Qz05NpndrmpvUvkV/4x/d/4+SX/D+gXdk42gAA + AA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:34 GMT'] + Date: ['Mon, 09 May 2016 20:43:16 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -187,21 +187,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn10dbH37N2Xs4vf637xrv5ydfr291o++X3mX3716eKTJ7v5T/zeB5+fZZcPi/uzzx+sfvIX - LZ7MT3+f5e/zg0/eLH/i9/7q6cOfzM7Ov3z20y+/+PZPf3HwEz/RvPzp6avjs/tXn3320Qg97FEP - Dw+eXVVP3nx3fTD5wf71558frPbf3js9/fzu8sGrn1o9u7d39+11XZ/PFj/17d3f+8XZ/OL56jsv - q/zuT/9kvfPkoj2t57/o0+e719mz9U88+PZy8nu9m82uJsfUwy9J/h/CXKiSxgAAAA== + 692PHn3U3n131s7K8qe/XNarN9+5KH5yv/q97307+4n7v8+yXu99+8sn1dmTn372+U//9Ovq1cnn + +y/yn/jyPPupX7S/e1ktfp96Mv29i5+6frlYfWfn88+nr3+v5cXuD+4fXH322Ucj9LBHPSwWbxf3 + Ht6fPHg+ffZ7T36vYvX04Oo7v/fD1c4nx/fP7+29+nL3F/3ez8/v/+T5xeLB7/VTL79bP89+rwfV + g+uD3+t6OvmJ7zz4vfMvjl+3P3h+9/d50lY/PT+/frh+3lxQD78k+X8AelHdYcYAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:35 GMT'] + Date: ['Mon, 09 May 2016 20:43:17 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null @@ -221,15 +221,15 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn10dbH37N2Xs4vf637xrv5ydfr291o++X3mX3716eKTJ7v5T/zeB5+fZZcPi/uzzx+sfvIX - LZ7MT3+f5e/zg0/eLH/i9/7q6cOfzM7Ov3z20y+/+PZPf3HwEz/RvPzp6avjs/tXn3320Qg97FEP - Dw+eXVVP3nx3fTD5wf71558frPbf3js9/fzu8sGrn1o9u7d39+11XZ/PFj/17d3f+8XZ/OL56jsv - q/zuT/9kvfPkoj2t57/o0+e719mz9U88+PZy8nu9m82uJsfUwy9J/h/CXKiSxgAAAA== + 692PHn3U3n131s7K8qe/XNarN9+5KH5yv/q97307+4n7v8+yXu99+8sn1dmTn372+U//9Ovq1cnn + +y/yn/jyPPupX7S/e1ktfp96Mv29i5+6frlYfWfn88+nr3+v5cXuD+4fXH322Ucj9LBHPSwWbxf3 + Ht6fPHg+ffZ7T36vYvX04Oo7v/fD1c4nx/fP7+29+nL3F/3ez8/v/+T5xeLB7/VTL79bP89+rwfV + g+uD3+t6OvmJ7zz4vfMvjl+3P3h+9/d50lY/PT+/frh+3lxQD78k+X8AelHdYcYAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:35 GMT'] + Date: ['Mon, 09 May 2016 20:43:17 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -255,15 +255,15 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 - +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9TDw4NnV9WT - N99dH0x+sH/9+ecHq/23905PP7+7fPDqp1bP7u3dfXtd1+ezxU99e/f3fnE2v3i++s7LKr/70z9Z - 7zy5aE/r+S/69PnudfZs/RMPvr2c/F7vZrOryTH18EuS/wfMAT1hxgAAAA== + 692PHn1UHpzs3l09ebEqv/qJb397uX5bffdh8eTFy2dv7r75fPLpg4v5Rf6TZ5/+Xp+8eds2Vz/1 + +eenP/GT629fNSc/9cX99uGrts32yunFT07vL48//0XtxYPm9369+3v/xGeffTRCD3vUw2LxdnHv + 4f3Jg+fTZ7/35PcqVk8Prr7zez9c7XxyfP/83t6rL3d/0e/9/Pz+T55fLB78Xj/18rv18+z3elA9 + uD74va6nk5/4zoPfO//i+HX7g+d3f58nbfXT8/Prh+vnzQX18EuS/weTAHPYxgAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:36 GMT'] + Date: ['Mon, 09 May 2016 20:43:18 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -289,21 +289,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 - +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9RD/tM/+dX1 - l58uyp/4qeW356+KaXH6dv3F5d03P/nu29XDvPj0+Sc//Yte/cTsFy2unvw+5ez3ef57P7xafT7/ - zldfXp49n7XZ/d/rxcV3Fve+Ov7J+qv7+68/332Vv2iuqIdfkvw/XeTW8MYAAAA= + 692PHn1UHpzs3l09ebEqv/qJb397uX5bffdh8eTFy2dv7r75fPLpg4v5Rf6TZ5/+Xp+8eds2Vz/1 + +eenP/GT629fNSc/9cX99uGrts32yunFT07vL48//0XtxYPm9369+3v/xGeffTRCD3vUQ/OyOXuz + /8l37v307/3mOw8P5uft853f+8uL3Z0f/GDyZPV7LV8+/Ymz3+f17mLx7qsf/KJPL57/Pj/xYtk+ + KJ+f58/u71aL7PL0i+ef/j51fX7/Oz91lS9Wi5Pf68XBBfXwS5L/Bw1s6yPGAAAA headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:39 GMT'] + Date: ['Mon, 09 May 2016 20:43:18 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: '{"keyName": "key2"}' @@ -323,24 +323,24 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 - +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9TD+vPlySev - v1yf1M0v+u7D5jvPf3L9cLrzE9OXn16f7f1E8/T8F02qF4unTye/9+fX3/npp6vj69Xlsy/bB7/P - D96u580XF3svvn39E8c/9e1Vc/H5zrMHixfN/rOfQg+/JPl/AEJAdpzGAAAA + 692PHn1UHpzs3l09ebEqv/qJb397uX5bffdh8eTFy2dv7r75fPLpg4v5Rf6TZ5/+Xp+8eds2Vz/1 + +eenP/GT629fNSc/9cX99uGrts32yunFT07vL48//0XtxYPm9369+3v/xGeffTRCD3vUw9VsefHJ + L7rKpp+vJ/ns04v1y2r5cvX5u53vHv/Uanl/sl7crX/q298pP335YvblefYTP3nvaVWcfveTZ5cv + P13vvyh+8tNmenF5cv9tfvbyxe9Vvnu6c//FTx5TD78k+X8A930DV8YAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:45 GMT'] + Date: ['Mon, 09 May 2016 20:43:21 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: - body: '{"tags": {"cat": "", "foo": "bar"}}' + body: '{"tags": {"foo": "bar", "cat": ""}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -357,18 +357,18 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR212 - 0Xz06Bd/NM3ajx599NHoo/Oqol8mWf3RL/kl/w8KtBWFHwAAAA== + 0Xz06Bd/dF5VHz36aJLVH40+mmYt/f7RL/kl/w/0s/SAHwAAAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:47 GMT'] + Date: ['Mon, 09 May 2016 20:43:22 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: '{"tags": {"none": ""}}' @@ -393,7 +393,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:47 GMT'] + Date: ['Mon, 09 May 2016 20:43:23 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -424,13 +424,13 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:47 GMT'] + Date: ['Mon, 09 May 2016 20:43:24 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: '{"properties": {"accountType": "Standard_LRS"}}' @@ -455,7 +455,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:24:48 GMT'] + Date: ['Mon, 09 May 2016 20:43:25 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml index 47550d6d6fa..5a2445b6f12 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_blob.yaml @@ -17,15 +17,15 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 - +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9TD+vPlySev - v1yf1M0v+u7D5jvPf3L9cLrzE9OXn16f7f1E8/T8F02qF4unTye/9+fX3/npp6vj69Xlsy/bB7/P - D96u580XF3svvn39E8c/9e1Vc/H5zrMHixfN/rOfQg+/JPl/AEJAdpzGAAAA + 692PHn1UHpzs3l09ebEqv/qJb397uX5bffdh8eTFy2dv7r75fPLpg4v5Rf6TZ5/+Xp+8eds2Vz/1 + +eenP/GT629fNSc/9cX99uGrts32yunFT07vL48//0XtxYPm9369+3v/xGeffTRCD3vUw9VsefHJ + L7rKpp+vJ/ns04v1y2r5cvX5u53vHv/Uanl/sl7crX/q298pP335YvblefYTP3nvaVWcfveTZ5cv + P13vvyh+8tNmenF5cv9tfvbyxe9Vvnu6c//FTx5TD78k+X8A930DV8YAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:25:30 GMT'] + Date: ['Mon, 09 May 2016 20:56:07 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -40,18 +40,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:31 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:08 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:87c8a1e4-0001-010c-4c25-a798d2000000\n\ - Time:2016-05-05T23:25:32.8837917Z"} + \ specified container does not exist.\nRequestId:23e7a166-0001-00fd-7735-aa0f14000000\n\ + Time:2016-05-09T20:56:09.1539637Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:25:32 GMT'] + Date: ['Mon, 09 May 2016 20:56:09 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -61,18 +61,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:31 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:08 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:c2e2ae81-0001-009d-8025-a74a36000000\n\ - Time:2016-05-05T23:25:32.2276146Z"} + \ specified container does not exist.\nRequestId:7c9a0996-0001-002b-2435-aa44ce000000\n\ + Time:2016-05-09T20:56:08.5967509Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:25:31 GMT'] + Date: ['Mon, 09 May 2016 20:56:07 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -83,16 +83,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:08 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:32 GMT'] - ETag: ['"0x8D3753C8D926878"'] - Last-Modified: ['Thu, 05 May 2016 23:25:32 GMT'] + Date: ['Mon, 09 May 2016 20:56:09 GMT'] + ETag: ['"0x8D3784C58F8286E"'] + Last-Modified: ['Mon, 09 May 2016 20:56:09 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -102,16 +102,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:08 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:32 GMT'] - ETag: ['"0x8D3753C8D926878"'] - Last-Modified: ['Thu, 05 May 2016 23:25:32 GMT'] + Date: ['Mon, 09 May 2016 20:56:09 GMT'] + ETag: ['"0x8D3784C58F8286E"'] + Last-Modified: ['Mon, 09 May 2016 20:56:09 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -123,16 +123,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:08 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:32 GMT'] - ETag: ['"0x8D3753C8D926878"'] - Last-Modified: ['Thu, 05 May 2016 23:25:32 GMT'] + Date: ['Mon, 09 May 2016 20:56:09 GMT'] + ETag: ['"0x8D3784C58F8286E"'] + Last-Modified: ['Mon, 09 May 2016 20:56:09 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -144,22 +144,22 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:09 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/?comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/?comp=list&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: "\uFEFFbootdiagnostics-linuxtest-f6c88058-8d96-4f6a-a090-9fb5411151d0Tue,\ \ 26 Apr 2016 21:29:10 GMT\"0x8D36E19CE91BE4A\"unlockedavailablebootdiagnostics-windowste-2006bcb8-19b1-48c0-9822-da025cd5a5f4Tue,\ - \ 26 Apr 2016 20:28:18 GMT\"0x8D36E114D516083\"unlockedavailabletestcontainer01Thu,\ - \ 05 May 2016 23:25:32 GMT\"0x8D3753C8D926878\"unlockedavailablevhdsTue,\ + \ 26 Apr 2016 20:28:18 GMT\"0x8D36E114D516083\"unlockedavailabletestcontainer01Mon,\ + \ 09 May 2016 20:56:09 GMT\"0x8D3784C58F8286E\"unlockedavailablevhdsTue,\ \ 26 Apr 2016 20:13:24 GMT\"0x8D36E0F38BB034E\"lockedleasedinfinite"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:25:32 GMT'] + Date: ['Mon, 09 May 2016 20:56:08 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -170,18 +170,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:32 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:09 GMT'] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:32 GMT'] - ETag: ['"0x8D3753C8E283BF3"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:08 GMT'] + ETag: ['"0x8D3784C5912F9D1"'] + Last-Modified: ['Mon, 09 May 2016 20:56:09 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -191,16 +191,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:09 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:33 GMT'] - ETag: ['"0x8D3753C8E283BF3"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:08 GMT'] + ETag: ['"0x8D3784C5912F9D1"'] + Last-Modified: ['Mon, 09 May 2016 20:56:09 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] @@ -213,16 +213,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:09 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:33 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:09 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -232,16 +232,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:09 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:33 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:10 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -251,16 +251,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:10 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/?restype=service&comp=properties&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/?restype=service&comp=properties&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:09 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -272,17 +272,17 @@ interactions: Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Thu, 05 May 2016 23:25:33 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:10 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 05 May 2016 23:25:33 GMT'] - ETag: ['"0x8D3753C8EF3518C"'] - Last-Modified: ['Thu, 05 May 2016 23:25:34 GMT'] + Date: ['Mon, 09 May 2016 20:56:10 GMT'] + ETag: ['"0x8D3784C5B332E9E"'] + Last-Modified: ['Mon, 09 May 2016 20:56:13 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -292,10 +292,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:10 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: @@ -303,9 +303,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:33 GMT'] - ETag: ['"0x8D3753C8EF3518C"'] - Last-Modified: ['Thu, 05 May 2016 23:25:34 GMT'] + Date: ['Mon, 09 May 2016 20:56:09 GMT'] + ETag: ['"0x8D3784C5B332E9E"'] + Last-Modified: ['Mon, 09 May 2016 20:56:13 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -322,16 +322,16 @@ interactions: User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-blob-content-length: ['512'] x-ms-blob-type: [PageBlob] - x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:10 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:34 GMT'] - ETag: ['"0x8D3753C8F3F38FF"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:11 GMT'] + ETag: ['"0x8D3784C5B6BB358"'] + Last-Modified: ['Mon, 09 May 2016 20:56:13 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -342,21 +342,21 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] Content-Length: ['512'] - If-Match: ['"0x8D3753C8F3F38FF"'] + If-Match: ['"0x8D3784C5B6BB358"'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:10 GMT'] x-ms-page-write: [update] x-ms-range: [bytes=0-511] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?comp=page&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?comp=page&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: Content-MD5: [JKbxCPFguN3PtJpiW3lCrQ==] - Date: ['Thu, 05 May 2016 23:25:34 GMT'] - ETag: ['"0x8D3753C8F4506B3"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:11 GMT'] + ETag: ['"0x8D3784C5B732F7F"'] + Last-Modified: ['Mon, 09 May 2016 20:56:13 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-sequence-number: ['0'] x-ms-version: ['2015-04-05'] @@ -367,19 +367,19 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:11 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testpageblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['512'] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:34 GMT'] - ETag: ['"0x8D3753C8F4506B3"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:10 GMT'] + ETag: ['"0x8D3784C5B732F7F"'] + Last-Modified: ['Mon, 09 May 2016 20:56:13 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-sequence-number: ['0'] x-ms-blob-type: [PageBlob] @@ -394,14 +394,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:11 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:34 GMT'] + Date: ['Mon, 09 May 2016 20:56:11 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified blob does not exist.} @@ -413,16 +413,16 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-blob-type: [AppendBlob] - x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:11 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:34 GMT'] - ETag: ['"0x8D3753C8F850490"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:11 GMT'] + ETag: ['"0x8D3784C5BB1D042"'] + Last-Modified: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -433,17 +433,17 @@ interactions: Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:34 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:11 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 05 May 2016 23:25:34 GMT'] - ETag: ['"0x8D3753C8F8AF95C"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:11 GMT'] + ETag: ['"0x8D3784C5BB8FE34"'] + Last-Modified: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-append-offset: ['0'] x-ms-blob-committed-block-count: ['1'] @@ -455,19 +455,19 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:35 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:11 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:35 GMT'] - ETag: ['"0x8D3753C8F8AF95C"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:11 GMT'] + ETag: ['"0x8D3784C5BB8FE34"'] + Last-Modified: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-committed-block-count: ['1'] x-ms-blob-type: [AppendBlob] @@ -483,17 +483,17 @@ interactions: Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:35 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:11 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=appendblock&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 05 May 2016 23:25:35 GMT'] - ETag: ['"0x8D3753C8FAEB631"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:11 GMT'] + ETag: ['"0x8D3784C5BFCA984"'] + Last-Modified: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-append-offset: ['78'] x-ms-blob-committed-block-count: ['2'] @@ -505,19 +505,19 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:35 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:11 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['156'] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:36 GMT'] - ETag: ['"0x8D3753C8FAEB631"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:12 GMT'] + ETag: ['"0x8D3784C5BFCA984"'] + Last-Modified: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-committed-block-count: ['2'] x-ms-blob-type: [AppendBlob] @@ -533,18 +533,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:12 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:37 GMT'] - ETag: ['"0x8D3753C90D4DBF3"'] - Last-Modified: ['Thu, 05 May 2016 23:25:37 GMT'] + Date: ['Mon, 09 May 2016 20:56:12 GMT'] + ETag: ['"0x8D3784C5C3E7F92"'] + Last-Modified: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -554,16 +554,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:12 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:37 GMT'] - ETag: ['"0x8D3753C90D4DBF3"'] - Last-Modified: ['Thu, 05 May 2016 23:25:37 GMT'] + Date: ['Mon, 09 May 2016 20:56:12 GMT'] + ETag: ['"0x8D3784C5C3E7F92"'] + Last-Modified: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -576,16 +576,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:12 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:36 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:13 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -595,16 +595,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:12 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=metadata&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:37 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:12 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -614,27 +614,27 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:12 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=list&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: "\uFEFFtestappendblobThu,\ - \ 05 May 2016 23:25:35 GMT0x8D3753C8FAEB631156application/octet-streamtestappendblobMon,\ + \ 09 May 2016 20:56:14 GMT0x8D3784C5BFCA984156application/octet-streamAppendBlobunlockedavailabletestblockblobThu,\ - \ 05 May 2016 23:25:38 GMT0x8D3753C910E218578application/octet-streamAppendBlobunlockedavailabletestblockblobMon,\ + \ 09 May 2016 20:56:15 GMT0x8D3784C5C77A0CA78application/octet-streamzeGiTMG1TdAobIHawzap3A==BlockBlobunlockedavailabletestpageblobThu,\ - \ 05 May 2016 23:25:35 GMT0x8D3753C8F4506B3512application/octet-streamBlockBlobunlockedavailabletestpageblobMon,\ + \ 09 May 2016 20:56:13 GMT0x8D3784C5B732F7F512application/octet-stream0PageBlobunlockedavailable"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:25:36 GMT'] + Date: ['Mon, 09 May 2016 20:56:12 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -644,10 +644,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:37 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:13 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: @@ -655,9 +655,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:38 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:12 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -671,11 +671,11 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:13 GMT'] x-ms-range: [bytes=None-] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE!} @@ -684,9 +684,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:38 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:13 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -702,19 +702,19 @@ interactions: Content-Length: ['0'] If-Modified-Since: ['Fri, 01 Apr 2016 12:00:00 GMT'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:13 GMT'] x-ms-lease-action: [acquire] x-ms-lease-duration: ['60'] x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:38 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:13 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-version: ['2015-04-05'] @@ -725,10 +725,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:13 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: @@ -736,9 +736,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:38 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:14 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-duration: [fixed] @@ -754,19 +754,19 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:13 GMT'] x-ms-lease-action: [change] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-proposed-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:38 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:14 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] @@ -778,18 +778,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:38 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:14 GMT'] x-ms-lease-action: [renew] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:38 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:14 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] @@ -800,10 +800,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:14 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: @@ -811,9 +811,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:38 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:14 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-duration: [fixed] @@ -829,18 +829,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:14 GMT'] x-ms-lease-action: [break] x-ms-lease-break-period: ['30'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:38 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:14 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-time: ['30'] x-ms-version: ['2015-04-05'] @@ -851,10 +851,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:14 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: @@ -862,9 +862,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:39 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:15 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [breaking] @@ -879,18 +879,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:14 GMT'] x-ms-lease-action: [release] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:38 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:15 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -900,10 +900,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:39 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:15 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: @@ -911,9 +911,9 @@ interactions: Content-Length: ['78'] Content-MD5: [zeGiTMG1TdAobIHawzap3A==] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:40 GMT'] - ETag: ['"0x8D3753C910E2185"'] - Last-Modified: ['Thu, 05 May 2016 23:25:38 GMT'] + Date: ['Mon, 09 May 2016 20:56:14 GMT'] + ETag: ['"0x8D3784C5C77A0CA"'] + Last-Modified: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] x-ms-lease-state: [available] @@ -928,18 +928,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:15 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=snapshot&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?comp=snapshot&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:40 GMT'] - ETag: ['"0x8D3753C8FAEB631"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:15 GMT'] + ETag: ['"0x8D3784C5BFCA984"'] + Last-Modified: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - x-ms-snapshot: ['2016-05-05T23:25:40.8456019Z'] + x-ms-snapshot: ['2016-05-09T20:56:18.1753599Z'] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} - request: @@ -948,19 +948,19 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:15 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?snapshot=2016-05-05T23%3A25%3A40.8456019Z&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testappendblob?snapshot=2016-05-09T20%3A56%3A18.1753599Z&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: Accept-Ranges: [bytes] Content-Length: ['156'] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:25:39 GMT'] - ETag: ['"0x8D3753C8FAEB631"'] - Last-Modified: ['Thu, 05 May 2016 23:25:35 GMT'] + Date: ['Mon, 09 May 2016 20:56:15 GMT'] + ETag: ['"0x8D3784C5BFCA984"'] + Last-Modified: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-committed-block-count: ['2'] x-ms-blob-type: [AppendBlob] @@ -974,14 +974,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:15 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:40 GMT'] + Date: ['Mon, 09 May 2016 20:56:15 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -991,14 +991,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:15 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01/testblockblob?sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:40 GMT'] + Date: ['Mon, 09 May 2016 20:56:14 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified blob does not exist.} @@ -1010,19 +1010,19 @@ interactions: Content-Length: ['0'] If-Modified-Since: ['Fri, 01 Apr 2016 12:00:00 GMT'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:40 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:16 GMT'] x-ms-lease-action: [acquire] x-ms-lease-duration: ['60'] x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:40 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:13 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-version: ['2015-04-05'] @@ -1033,16 +1033,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:16 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:40 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:21 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-duration: [fixed] x-ms-lease-state: [leased] @@ -1056,19 +1056,19 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:16 GMT'] x-ms-lease-action: [change] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] x-ms-proposed-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:41 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:16 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] @@ -1080,18 +1080,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:16 GMT'] x-ms-lease-action: [renew] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:41 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:17 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] @@ -1102,16 +1102,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:16 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:41 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:16 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-duration: [fixed] x-ms-lease-state: [leased] @@ -1125,18 +1125,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:41 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:17 GMT'] x-ms-lease-action: [break] x-ms-lease-break-period: ['30'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:42 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:17 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-time: ['30'] x-ms-version: ['2015-04-05'] @@ -1147,16 +1147,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:42 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:17 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:41 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:18 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [breaking] x-ms-lease-status: [locked] @@ -1169,18 +1169,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:42 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:17 GMT'] x-ms-lease-action: [release] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&comp=lease&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:42 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:17 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -1190,16 +1190,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:42 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:17 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:42 GMT'] - ETag: ['"0x8D3753C8E6BE520"'] - Last-Modified: ['Thu, 05 May 2016 23:25:33 GMT'] + Date: ['Mon, 09 May 2016 20:56:13 GMT'] + ETag: ['"0x8D3784C5952847C"'] + Last-Modified: ['Mon, 09 May 2016 20:56:10 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] @@ -1212,14 +1212,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:42 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:17 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:42 GMT'] + Date: ['Mon, 09 May 2016 20:56:16 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -1229,18 +1229,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:43 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:18 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:e7e4d59d-0001-0027-7625-a7aa3f000000\n\ - Time:2016-05-05T23:25:43.7678801Z"} + \ specified container does not exist.\nRequestId:28f6dc20-0001-008c-2335-aa7d2d000000\n\ + Time:2016-05-09T20:56:18.3819524Z"} headers: Content-Length: ['225'] Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:25:43 GMT'] + Date: ['Mon, 09 May 2016 20:56:18 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified container does not exist.} @@ -1251,14 +1251,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:43 GMT'] + x-ms-date: ['Mon, 09 May 2016 20:56:18 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sp=rwdl&se=2100-01-01T00%3A00Z&ss=b&srt=sco&sv=2015-04-05&sig=cIeng7gVue1R3spDV3jl7CP4%2BuFM1wwj54U1nhd%2BlBw%3D + uri: https://travistestresourcegr3014.blob.core.windows.net/testcontainer01?restype=container&sv=2015-04-05&se=2100-01-01T00%3A00Z&sp=rwdl&sig=KTSdZfnm382nxH6/R6/TbNq7mLe%2BQ%2BXJq/HIdxft4fs%3D&ss=b&srt=sco response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:43 GMT'] + Date: ['Mon, 09 May 2016 20:56:18 GMT'] Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} diff --git a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml index fb4bb092390..0e3fcbb09f9 100644 --- a/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml +++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/tests/recordings/test_storage_file.yaml @@ -17,21 +17,21 @@ interactions: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR2/z - 692PHn100Z69+ORV/eJ0un7+4k3x3UX95kX7e3/yxXU9Xxzn3/3O8735+hf9otNPvpx99/danF29 - +k67+/zldFo+aF+f7/3E2+vz6jsXX/7k2SS//EVfPX/6ycUXF/u/z97FZ599NEIPe9TD+vPlySev - v1yf1M0v+u7D5jvPf3L9cLrzE9OXn16f7f1E8/T8F02qF4unTye/9+fX3/npp6vj69Xlsy/bB7/P - D96u580XF3svvn39E8c/9e1Vc/H5zrMHixfN/rOfQg+/JPl/AEJAdpzGAAAA + 692PHn1UHpzs3l09ebEqv/qJb397uX5bffdh8eTFy2dv7r75fPLpg4v5Rf6TZ5/+Xp+8eds2Vz/1 + +eenP/GT629fNSc/9cX99uGrts32yunFT07vL48//0XtxYPm9369+3v/xGeffTRCD3vUw9VsefHJ + L7rKpp+vJ/ns04v1y2r5cvX5u53vHv/Uanl/sl7crX/q298pP335YvblefYTP3nvaVWcfveTZ5cv + P13vvyh+8tNmenF5cv9tfvbyxe9Vvnu6c//FTx5TD78k+X8A930DV8YAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json] - Date: ['Thu, 05 May 2016 23:25:57 GMT'] + Date: ['Mon, 09 May 2016 21:07:33 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] status: {code: 200, message: OK} - request: body: null @@ -40,18 +40,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:57 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:33 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: "\uFEFFShareNotFoundThe\ - \ specified share does not exist.\nRequestId:8835db61-001a-00dc-5825-a76225000000\n\ - Time:2016-05-05T23:25:58.7085973Z"} + \ specified share does not exist.\nRequestId:df10fbf5-001a-0117-1836-aab640000000\n\ + Time:2016-05-09T21:07:33.4422572Z"} headers: Content-Length: ['217'] Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:25:58 GMT'] + Date: ['Mon, 09 May 2016 21:07:32 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified share does not exist.} @@ -62,18 +62,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:58 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:33 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: "\uFEFFShareNotFoundThe\ - \ specified share does not exist.\nRequestId:4e635b48-001a-00cf-4525-a757c4000000\n\ - Time:2016-05-05T23:25:58.4368967Z"} + \ specified share does not exist.\nRequestId:65fecce1-001a-005b-1a36-aa370a000000\n\ + Time:2016-05-09T21:07:36.0921839Z"} headers: Content-Length: ['217'] Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:25:58 GMT'] + Date: ['Mon, 09 May 2016 21:07:35 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified share does not exist.} @@ -84,16 +84,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:58 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:34 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:58 GMT'] - ETag: ['"0x8D3753C9D7FA7F1"'] - Last-Modified: ['Thu, 05 May 2016 23:25:59 GMT'] + Date: ['Mon, 09 May 2016 21:07:34 GMT'] + ETag: ['"0x8D3784DF20791CB"'] + Last-Modified: ['Mon, 09 May 2016 21:07:35 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -104,18 +104,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:58 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:35 GMT'] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:58 GMT'] - ETag: ['"0x8D3753C9DBA4664"'] - Last-Modified: ['Thu, 05 May 2016 23:25:59 GMT'] + Date: ['Mon, 09 May 2016 21:07:33 GMT'] + ETag: ['"0x8D3784DF16AF78A"'] + Last-Modified: ['Mon, 09 May 2016 21:07:34 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -125,16 +125,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:58 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:35 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:58 GMT'] - ETag: ['"0x8D3753C9D7FA7F1"'] - Last-Modified: ['Thu, 05 May 2016 23:25:59 GMT'] + Date: ['Mon, 09 May 2016 21:07:36 GMT'] + ETag: ['"0x8D3784DF20791CB"'] + Last-Modified: ['Mon, 09 May 2016 21:07:35 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-share-quota: ['5120'] x-ms-version: ['2015-04-05'] @@ -145,16 +145,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:59 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:36 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:59 GMT'] - ETag: ['"0x8D3753C9DBA4664"'] - Last-Modified: ['Thu, 05 May 2016 23:25:59 GMT'] + Date: ['Mon, 09 May 2016 21:07:35 GMT'] + ETag: ['"0x8D3784DF16AF78A"'] + Last-Modified: ['Mon, 09 May 2016 21:07:34 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] @@ -166,21 +166,21 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:59 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:36 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/?comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/?comp=list&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: "\uFEFFtestshareTue, 26 Apr\ - \ 2016 21:20:42 GMT\"0x8D36E189FD7EB3F\"5120testshare01Thu,\ - \ 05 May 2016 23:25:59 GMT\"0x8D3753C9D7FA7F1\"5120testshare02Thu,\ - \ 05 May 2016 23:25:59 GMT\"0x8D3753C9DBA4664\"5120\"0x8D36E189FD7EB3F\"5120testshare01Mon,\ + \ 09 May 2016 21:07:35 GMT\"0x8D3784DF20791CB\"5120testshare02Mon,\ + \ 09 May 2016 21:07:34 GMT\"0x8D3784DF16AF78A\"5120"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:25:59 GMT'] + Date: ['Mon, 09 May 2016 21:07:36 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -191,18 +191,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:25:59 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:37 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:59 GMT'] - ETag: ['"0x8D3753C9E524C9D"'] - Last-Modified: ['Thu, 05 May 2016 23:26:00 GMT'] + Date: ['Mon, 09 May 2016 21:07:37 GMT'] + ETag: ['"0x8D3784DF401DF7E"'] + Last-Modified: ['Mon, 09 May 2016 21:07:39 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -212,16 +212,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:00 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:37 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:00 GMT'] - ETag: ['"0x8D3753C9E524C9D"'] - Last-Modified: ['Thu, 05 May 2016 23:26:00 GMT'] + Date: ['Mon, 09 May 2016 21:07:38 GMT'] + ETag: ['"0x8D3784DF401DF7E"'] + Last-Modified: ['Mon, 09 May 2016 21:07:39 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -234,16 +234,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:00 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:37 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:25:59 GMT'] - ETag: ['"0x8D3753C9EA9F7B3"'] - Last-Modified: ['Thu, 05 May 2016 23:26:00 GMT'] + Date: ['Mon, 09 May 2016 21:07:38 GMT'] + ETag: ['"0x8D3784DF468A47F"'] + Last-Modified: ['Mon, 09 May 2016 21:07:39 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -253,16 +253,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:00 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:38 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:00 GMT'] - ETag: ['"0x8D3753C9EA9F7B3"'] - Last-Modified: ['Thu, 05 May 2016 23:26:00 GMT'] + Date: ['Mon, 09 May 2016 21:07:38 GMT'] + ETag: ['"0x8D3784DF468A47F"'] + Last-Modified: ['Mon, 09 May 2016 21:07:39 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -273,17 +273,17 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:00 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:38 GMT'] x-ms-share-quota: ['3'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=properties&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=properties&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:00 GMT'] - ETag: ['"0x8D3753C9EFCBFA3"'] - Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] + Date: ['Mon, 09 May 2016 21:07:36 GMT'] + ETag: ['"0x8D3784DF4B748EF"'] + Last-Modified: ['Mon, 09 May 2016 21:07:40 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -293,16 +293,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:01 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:38 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:01 GMT'] - ETag: ['"0x8D3753C9EFCBFA3"'] - Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] + Date: ['Mon, 09 May 2016 21:07:38 GMT'] + ETag: ['"0x8D3784DF4B748EF"'] + Last-Modified: ['Mon, 09 May 2016 21:07:40 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-share-quota: ['3'] x-ms-version: ['2015-04-05'] @@ -315,17 +315,17 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-content-length: ['78'] - x-ms-date: ['Thu, 05 May 2016 23:26:01 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:39 GMT'] x-ms-type: [file] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:01 GMT'] - ETag: ['"0x8D3753C9EFD416F"'] - Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] + Date: ['Mon, 09 May 2016 21:07:38 GMT'] + ETag: ['"0x8D3784DF5BB0824"'] + Last-Modified: ['Mon, 09 May 2016 21:07:41 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -336,19 +336,19 @@ interactions: Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:01 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:39 GMT'] x-ms-range: [bytes=0-77] x-ms-version: ['2015-04-05'] x-ms-write: [update] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=range&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=range&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 05 May 2016 23:26:01 GMT'] - ETag: ['"0x8D3753C9F0707C5"'] - Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] + Date: ['Mon, 09 May 2016 21:07:38 GMT'] + ETag: ['"0x8D3784DF5C36EF4"'] + Last-Modified: ['Mon, 09 May 2016 21:07:42 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -358,18 +358,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:01 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:39 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:26:01 GMT'] - ETag: ['"0x8D3753C9F0707C5"'] - Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] + Date: ['Mon, 09 May 2016 21:07:38 GMT'] + ETag: ['"0x8D3784DF5C36EF4"'] + Last-Modified: ['Mon, 09 May 2016 21:07:42 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -380,11 +380,11 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:02 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:39 GMT'] x-ms-range: [bytes=None-] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE!} @@ -392,9 +392,9 @@ interactions: Accept-Ranges: [bytes] Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:26:01 GMT'] - ETag: ['"0x8D3753C9F0707C5"'] - Last-Modified: ['Thu, 05 May 2016 23:26:01 GMT'] + Date: ['Mon, 09 May 2016 21:07:40 GMT'] + ETag: ['"0x8D3784DF5C36EF4"'] + Last-Modified: ['Mon, 09 May 2016 21:07:42 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -407,16 +407,16 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-content-length: ['1234'] - x-ms-date: ['Thu, 05 May 2016 23:26:02 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:39 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=properties&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=properties&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:02 GMT'] - ETag: ['"0x8D3753C9F7797F3"'] - Last-Modified: ['Thu, 05 May 2016 23:26:02 GMT'] + Date: ['Mon, 09 May 2016 21:07:40 GMT'] + ETag: ['"0x8D3784DF61DB5CB"'] + Last-Modified: ['Mon, 09 May 2016 21:07:42 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -426,18 +426,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:02 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:39 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: Content-Length: ['1234'] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:26:04 GMT'] - ETag: ['"0x8D3753C9F7797F3"'] - Last-Modified: ['Thu, 05 May 2016 23:26:02 GMT'] + Date: ['Mon, 09 May 2016 21:07:39 GMT'] + ETag: ['"0x8D3784DF61DB5CB"'] + Last-Modified: ['Mon, 09 May 2016 21:07:42 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -449,18 +449,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:03 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:40 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:04 GMT'] - ETag: ['"0x8D3753CA0756EF5"'] - Last-Modified: ['Thu, 05 May 2016 23:26:03 GMT'] + Date: ['Mon, 09 May 2016 21:07:41 GMT'] + ETag: ['"0x8D3784DF65D8F5F"'] + Last-Modified: ['Mon, 09 May 2016 21:07:43 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -470,16 +470,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:04 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:40 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:03 GMT'] - ETag: ['"0x8D3753CA0756EF5"'] - Last-Modified: ['Thu, 05 May 2016 23:26:03 GMT'] + Date: ['Mon, 09 May 2016 21:07:40 GMT'] + ETag: ['"0x8D3784DF65D8F5F"'] + Last-Modified: ['Mon, 09 May 2016 21:07:43 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -492,16 +492,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:04 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:40 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:04 GMT'] - ETag: ['"0x8D3753CA0CB44C5"'] - Last-Modified: ['Thu, 05 May 2016 23:26:04 GMT'] + Date: ['Mon, 09 May 2016 21:07:40 GMT'] + ETag: ['"0x8D3784DF6AB2874"'] + Last-Modified: ['Mon, 09 May 2016 21:07:43 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -511,16 +511,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:04 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:40 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:04 GMT'] - ETag: ['"0x8D3753CA0CB44C5"'] - Last-Modified: ['Thu, 05 May 2016 23:26:04 GMT'] + Date: ['Mon, 09 May 2016 21:07:41 GMT'] + ETag: ['"0x8D3784DF6AB2874"'] + Last-Modified: ['Mon, 09 May 2016 21:07:43 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -530,10 +530,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:41 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=directory&comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=directory&comp=list&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: "\uFEFF"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:26:04 GMT'] + Date: ['Mon, 09 May 2016 21:07:42 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -552,14 +552,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:41 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:05 GMT'] + Date: ['Mon, 09 May 2016 21:07:41 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -569,14 +569,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:41 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:05 GMT'] + Date: ['Mon, 09 May 2016 21:07:41 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified resource does not exist.} @@ -587,16 +587,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:42 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:05 GMT'] - ETag: ['"0x8D3753CA18F603A"'] - Last-Modified: ['Thu, 05 May 2016 23:26:05 GMT'] + Date: ['Mon, 09 May 2016 21:07:39 GMT'] + ETag: ['"0x8D3784DF78D1412"'] + Last-Modified: ['Mon, 09 May 2016 21:07:45 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -606,16 +606,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:05 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:42 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:05 GMT'] - ETag: ['"0x8D3753CA18F603A"'] - Last-Modified: ['Thu, 05 May 2016 23:26:05 GMT'] + Date: ['Mon, 09 May 2016 21:07:42 GMT'] + ETag: ['"0x8D3784DF78D1412"'] + Last-Modified: ['Mon, 09 May 2016 21:07:45 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -626,18 +626,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:06 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:42 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:06 GMT'] - ETag: ['"0x8D3753CA1EADCB0"'] - Last-Modified: ['Thu, 05 May 2016 23:26:06 GMT'] + Date: ['Mon, 09 May 2016 21:07:41 GMT'] + ETag: ['"0x8D3784DF7E781EE"'] + Last-Modified: ['Mon, 09 May 2016 21:07:45 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -647,16 +647,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:06 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:42 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:06 GMT'] - ETag: ['"0x8D3753CA1EADCB0"'] - Last-Modified: ['Thu, 05 May 2016 23:26:06 GMT'] + Date: ['Mon, 09 May 2016 21:07:42 GMT'] + ETag: ['"0x8D3784DF7E781EE"'] + Last-Modified: ['Mon, 09 May 2016 21:07:45 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -668,16 +668,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:06 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:43 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:05 GMT'] - ETag: ['"0x8D3753CA1EADCB0"'] - Last-Modified: ['Thu, 05 May 2016 23:26:06 GMT'] + Date: ['Mon, 09 May 2016 21:07:41 GMT'] + ETag: ['"0x8D3784DF7E781EE"'] + Last-Modified: ['Mon, 09 May 2016 21:07:45 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-a: [b] x-ms-meta-c: [d] @@ -690,16 +690,16 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:43 GMT'] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:07 GMT'] - ETag: ['"0x8D3753CA25FB3AA"'] - Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] + Date: ['Mon, 09 May 2016 21:07:42 GMT'] + ETag: ['"0x8D3784DF8607CB6"'] + Last-Modified: ['Mon, 09 May 2016 21:07:46 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -709,16 +709,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:43 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:07 GMT'] - ETag: ['"0x8D3753CA25FB3AA"'] - Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] + Date: ['Mon, 09 May 2016 21:07:45 GMT'] + ETag: ['"0x8D3784DF8607CB6"'] + Last-Modified: ['Mon, 09 May 2016 21:07:46 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -730,17 +730,17 @@ interactions: Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] x-ms-content-length: ['78'] - x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:43 GMT'] x-ms-type: [file] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:07 GMT'] - ETag: ['"0x8D3753CA29F8B2A"'] - Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] + Date: ['Mon, 09 May 2016 21:07:43 GMT'] + ETag: ['"0x8D3784DF8A1DD7C"'] + Last-Modified: ['Mon, 09 May 2016 21:07:46 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -751,19 +751,19 @@ interactions: Connection: [keep-alive] Content-Length: ['78'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:44 GMT'] x-ms-range: [bytes=0-77] x-ms-version: ['2015-04-05'] x-ms-write: [update] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?comp=range&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?comp=range&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: Content-MD5: [zeGiTMG1TdAobIHawzap3A==] - Date: ['Thu, 05 May 2016 23:26:07 GMT'] - ETag: ['"0x8D3753CA2A61C68"'] - Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] + Date: ['Mon, 09 May 2016 21:07:43 GMT'] + ETag: ['"0x8D3784DF8A9F608"'] + Last-Modified: ['Mon, 09 May 2016 21:07:46 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -773,18 +773,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:07 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:44 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:26:07 GMT'] - ETag: ['"0x8D3753CA2A61C68"'] - Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] + Date: ['Mon, 09 May 2016 21:07:43 GMT'] + ETag: ['"0x8D3784DF8A9F608"'] + Last-Modified: ['Mon, 09 May 2016 21:07:46 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -795,11 +795,11 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:44 GMT'] x-ms-range: [bytes=None-] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: This is a test file for performance of automated tests. DO NOT MOVE OR DELETE!} @@ -807,9 +807,9 @@ interactions: Accept-Ranges: [bytes] Content-Length: ['78'] Content-Type: [application/octet-stream] - Date: ['Thu, 05 May 2016 23:26:07 GMT'] - ETag: ['"0x8D3753CA2A61C68"'] - Last-Modified: ['Thu, 05 May 2016 23:26:07 GMT'] + Date: ['Mon, 09 May 2016 21:07:43 GMT'] + ETag: ['"0x8D3784DF8A9F608"'] + Last-Modified: ['Mon, 09 May 2016 21:07:46 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-type: [File] x-ms-version: ['2015-04-05'] @@ -820,10 +820,10 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:44 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=list&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&comp=list&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: "\uFEFF"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:26:08 GMT'] + Date: ['Mon, 09 May 2016 21:07:43 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -841,15 +841,15 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:44 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=stats&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&comp=stats&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: "\uFEFF1"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:26:09 GMT'] + Date: ['Mon, 09 May 2016 21:07:45 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -860,14 +860,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:45 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:08 GMT'] + Date: ['Mon, 09 May 2016 21:07:44 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -877,14 +877,14 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:08 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:45 GMT'] x-ms-version: ['2015-04-05'] method: HEAD - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testfile.rst?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:08 GMT'] + Date: ['Mon, 09 May 2016 21:07:44 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified resource does not exist.} @@ -895,14 +895,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:09 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:45 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:09 GMT'] + Date: ['Mon, 09 May 2016 21:07:44 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -912,18 +912,18 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:09 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:45 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir01?restype=directory&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: "\uFEFFResourceNotFoundThe\ - \ specified resource does not exist.\nRequestId:8c7f85ae-001a-0105-5925-a7825c000000\n\ - Time:2016-05-05T23:26:10.4085195Z"} + \ specified resource does not exist.\nRequestId:ae580052-001a-0068-4336-aa6e27000000\n\ + Time:2016-05-09T21:07:46.6647214Z"} headers: Content-Length: ['223'] Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:26:09 GMT'] + Date: ['Mon, 09 May 2016 21:07:46 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 404, message: The specified resource does not exist.} @@ -934,18 +934,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:46 GMT'] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] x-ms-version: ['2015-04-05'] method: PUT - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:09 GMT'] - ETag: ['"0x8D3753CA4156E30"'] - Last-Modified: ['Thu, 05 May 2016 23:26:10 GMT'] + Date: ['Mon, 09 May 2016 21:07:45 GMT'] + ETag: ['"0x8D3784DFA085FC6"'] + Last-Modified: ['Mon, 09 May 2016 21:07:49 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 201, message: Created} @@ -955,16 +955,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:46 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&comp=metadata&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&comp=metadata&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:10 GMT'] - ETag: ['"0x8D3753CA4156E30"'] - Last-Modified: ['Thu, 05 May 2016 23:26:10 GMT'] + Date: ['Mon, 09 May 2016 21:07:43 GMT'] + ETag: ['"0x8D3784DFA085FC6"'] + Last-Modified: ['Mon, 09 May 2016 21:07:49 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] @@ -977,14 +977,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:46 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01/testdir02?restype=directory&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:10 GMT'] + Date: ['Mon, 09 May 2016 21:07:47 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -994,16 +994,16 @@ interactions: Accept-Encoding: [identity] Connection: [keep-alive] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:46 GMT'] x-ms-version: ['2015-04-05'] method: GET - uri: https://travistestresourcegr3014.file.core.windows.net/?restype=service&comp=properties&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/?restype=service&comp=properties&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: "\uFEFF1.0truetruetrue71.0falsefalse"} headers: Content-Type: [application/xml] - Date: ['Thu, 05 May 2016 23:26:10 GMT'] + Date: ['Mon, 09 May 2016 21:07:47 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 200, message: OK} @@ -1014,14 +1014,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:10 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:47 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare01?restype=share&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:11 GMT'] + Date: ['Mon, 09 May 2016 21:07:46 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} @@ -1032,14 +1032,14 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] User-Agent: [Azure-Storage/0.30.0 (Python CPython 3.5.1; Windows 10)] - x-ms-date: ['Thu, 05 May 2016 23:26:11 GMT'] + x-ms-date: ['Mon, 09 May 2016 21:07:47 GMT'] x-ms-version: ['2015-04-05'] method: DELETE - uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&sp=rwdl&se=2100-01-01T00%3A00Z&ss=f&srt=sco&sv=2015-04-05&sig=mkRuoreCwmkVPkpGalafqRXzoSrYwx3x7hDpGWVmV8g%3D + uri: https://travistestresourcegr3014.file.core.windows.net/testshare02?restype=share&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f response: body: {string: ''} headers: - Date: ['Thu, 05 May 2016 23:26:11 GMT'] + Date: ['Mon, 09 May 2016 21:07:47 GMT'] Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2015-04-05'] status: {code: 202, message: Accepted} From ec3743617d04c92ead2f63ccd39a2fdc5fa62c57 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 9 May 2016 14:45:28 -0700 Subject: [PATCH 20/27] Update VM test cassettes. --- .../recordings/test_vm_images_list_by_aliases.yaml | 10 +++++----- .../test_vm_images_list_thru_services.yaml | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_by_aliases.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_by_aliases.yaml index e23ac173c72..9a07f5084a8 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_by_aliases.yaml +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_by_aliases.yaml @@ -52,9 +52,9 @@ interactions: Content-Length: ['2297'] Content-Security-Policy: [default-src 'none'; style-src 'unsafe-inline'] Content-Type: [text/plain; charset=utf-8] - Date: ['Thu, 05 May 2016 23:26:24 GMT'] + Date: ['Mon, 09 May 2016 21:44:42 GMT'] ETag: ['"db78eb36618a060181b32ac2de91b1733f382e01"'] - Expires: ['Thu, 05 May 2016 23:31:24 GMT'] + Expires: ['Mon, 09 May 2016 21:49:42 GMT'] Source-Age: ['0'] Strict-Transport-Security: [max-age=31536000] Vary: ['Authorization,Accept-Encoding'] @@ -62,10 +62,10 @@ interactions: X-Cache: [MISS] X-Cache-Hits: ['0'] X-Content-Type-Options: [nosniff] - X-Fastly-Request-ID: [e19b8c82d24a6e181b8a90594e5dfb3a70d99bc2] + X-Fastly-Request-ID: [89a495df9ea3a662468231fd0ca3b57b7dfb5027] X-Frame-Options: [deny] - X-GitHub-Request-Id: ['17EB2814:6458:4D537D4:572BD6A0'] - X-Served-By: [cache-ord1733-ORD] + X-GitHub-Request-Id: ['17EB2F14:63D1:9655F27:573104C9'] + X-Served-By: [cache-sjc3126-SJC] X-XSS-Protection: [1; mode=block] status: {code: 200, message: OK} version: 1 diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml index d30241ccf83..cd453cab9f2 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_images_list_thru_services.yaml @@ -161,7 +161,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Fri, 06 May 2016 16:41:32 GMT'] + Date: ['Mon, 09 May 2016 21:44:43 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -195,7 +195,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Fri, 06 May 2016 16:41:32 GMT'] + Date: ['Mon, 09 May 2016 21:44:44 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -227,7 +227,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Fri, 06 May 2016 16:41:33 GMT'] + Date: ['Mon, 09 May 2016 21:44:44 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -261,7 +261,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Fri, 06 May 2016 16:41:34 GMT'] + Date: ['Mon, 09 May 2016 21:44:44 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -290,7 +290,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Fri, 06 May 2016 16:41:34 GMT'] + Date: ['Mon, 09 May 2016 21:44:45 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -322,7 +322,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Fri, 06 May 2016 16:41:34 GMT'] + Date: ['Mon, 09 May 2016 21:44:45 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -355,7 +355,7 @@ interactions: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Fri, 06 May 2016 16:41:35 GMT'] + Date: ['Mon, 09 May 2016 21:44:46 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] From 3fbf53d508eea9fdac5406d234db737f4d9cc6fa Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 9 May 2016 15:23:48 -0700 Subject: [PATCH 21/27] Code review comments. --- src/azure/cli/commands/_auto_command.py | 8 ++++---- .../azure/cli/command_modules/resource/custom.py | 10 +++++----- .../azure/cli/command_modules/storage/_params.py | 5 +---- .../azure/cli/command_modules/vm/custom.py | 8 +++----- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/azure/cli/commands/_auto_command.py b/src/azure/cli/commands/_auto_command.py index fb695385b45..c773ec0c9f7 100644 --- a/src/azure/cli/commands/_auto_command.py +++ b/src/azure/cli/commands/_auto_command.py @@ -36,14 +36,14 @@ def _get_member(obj, path): return obj def _make_func(client_factory, member_path, return_type_or_func, unbound_func, extra_parameters): - def call_client(args): - client = client_factory(**args) + def call_client(kwargs): + client = client_factory(**kwargs) for param in extra_parameters.keys() if extra_parameters else []: - args.pop(param) + kwargs.pop(param) ops_instance = _get_member(client, member_path) try: - result = unbound_func(ops_instance, **args) + result = unbound_func(ops_instance, **kwargs) if not return_type_or_func: return {} if callable(return_type_or_func): diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py index ee5a7e25a2d..fd17a8da803 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py @@ -105,10 +105,10 @@ def __init__(self, **_): def show(self, resource_group, resource_name, resource_type, api_version=None, parent=None): ''' Show details of a specific resource in a resource group or subscription - :param str resource-group-name:the containing resource group name - :param str name:the resource name - :param str resource-type:the resource type in format: / - :param str api-version:the API version of the resource provider + :param str resource_group:the containing resource group name + :param str resource_name:the resource name + :param str resource_type:the resource type in format: / + :param str api_version:the API version of the resource provider :param str parent:the name of the parent resource (if needed) in / format''' rcf = _resource_client_factory() @@ -136,7 +136,7 @@ def list(self, location=None, resource_type=None, tag=None, name=None): az resource list --tag some* az resource list --tag something=else :param str location:filter by resource location - :param str resource-type:filter by resource type + :param str resource_type:filter by resource type :param str tag:filter by tag in 'a=b;c' format :param str name:filter by resource name ''' 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 b8f8b8a8564..87ee5435991 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 @@ -1,7 +1,6 @@ from os import environ -from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter, - patch_aliases) +from azure.cli.commands import COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, patch_aliases from azure.cli.commands._command_creation import get_mgmt_service_client, get_data_service_client from azure.cli.commands._validators import validate_key_value_pairs from azure.cli._locale import L @@ -178,8 +177,6 @@ def get_sas_token(string): 'type': validate_key_value_pairs, 'help': L('metadata in "a=b;c=d" format') }, - 'optional_resource_group_name': - extend_parameter(GLOBAL_COMMON_PARAMETERS['resource_group_name'], required=False), 'permission': { 'name': '--permission', 'help': L('permissions granted: (r)ead (w)rite (d)elete (l)ist. Can be combined.'), diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index c44da3aea3f..1486677fd24 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -79,11 +79,9 @@ def list_vm_images(self, image_location=None, publisher=None, offer=None, sku=No return all_images - def list_ip_addresses(self, - optional_resource_group_name=None, - vm_name=None): + def list_ip_addresses(self, resource_group_name=None, vm_name=None): ''' Get IP addresses from one or more Virtual Machines - :param str optional_resource_group_name:Name of resource group. + :param str resource_group_name:Name of resource group. :param str vm_name:Name of virtual machine. ''' from azure.mgmt.network import NetworkManagementClient, NetworkManagementClientConfiguration @@ -107,7 +105,7 @@ def list_ip_addresses(self, # If provided, make sure that resource group name and vm name match the NIC we are # looking at before adding it to the result... - if (optional_resource_group_name in (None, nic_resource_group) + if (resource_group_name in (None, nic_resource_group) and vm_name in (None, nic_vm_name)): network_info = { From ada85dcf234d797cf6ccbd3c5f709798c3d0b3d0 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 9 May 2016 15:51:01 -0700 Subject: [PATCH 22/27] Fix _vm_get so client only required if vm_name and resource_group provided. --- .../azure/cli/command_modules/vm/custom.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py index 1486677fd24..607d00ede8d 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py @@ -18,9 +18,11 @@ def _vm_get(**kwargs): '''Retrieves a VM if a resource group and vm name are supplied.''' vm_name = kwargs.get('vm_name') resource_group_name = kwargs.get('resource_group_name') - client = _compute_client_factory() - return client.virtual_machines.get(resource_group_name, vm_name) \ - if resource_group_name and vm_name else None + result = None + if resource_group_name and vm_name: + client = _compute_client_factory() + result = client.virtual_machines.get(resource_group_name, vm_name) + return result def _vm_set(instance, start_msg, end_msg): '''Update the given Virtual Machine instance''' @@ -138,7 +140,7 @@ def attach_new_disk(self, lun, diskname, vhd, disksize=1023): disk = DataDisk(lun=lun, vhd=vhd, name=diskname, create_option=DiskCreateOptionTypes.empty, disk_size_gb=disksize) - self.vm.storage_profile.data_disks.append(disk) + self.vm.storage_profile.data_disks.append(disk) # pylint: disable=no-member _vm_set(self.vm, 'Attaching disk', 'Disk attached') def attach_existing_disk(self, lun, diskname, vhd, disksize=1023): @@ -147,7 +149,7 @@ def attach_existing_disk(self, lun, diskname, vhd, disksize=1023): disk = DataDisk(lun=lun, vhd=vhd, name=diskname, create_option=DiskCreateOptionTypes.attach, disk_size_gb=disksize) - self.vm.storage_profile.data_disks.append(disk) + self.vm.storage_profile.data_disks.append(disk) # pylint: disable=no-member _vm_set(self.vm, 'Attaching disk', 'Disk attached') def detach_disk(self, diskname): @@ -155,8 +157,8 @@ def detach_disk(self, diskname): # Issue: https://github.com/Azure/autorest/issues/934 self.vm.resources = None try: - disk = next(d for d in self.vm.storage_profile.data_disks if d.name == diskname) - self.vm.storage_profile.data_disks.remove(disk) + disk = next(d for d in self.vm.storage_profile.data_disks if d.name == diskname) # pylint: disable=no-member + self.vm.storage_profile.data_disks.remove(disk) # pylint: disable=no-member except StopIteration: raise CLIError("No disk with the name '{}' found".format(diskname)) _vm_set(self.vm, 'Detaching disk', 'Disk detached') From 94fa3f960c6bc654be6b71a0948ac70937b2e432 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 9 May 2016 17:11:34 -0700 Subject: [PATCH 23/27] Code review comments. --- .../azure/cli/command_modules/component/generated.py | 11 ----------- .../azure/cli/command_modules/network/__init__.py | 5 ++--- .../azure/cli/command_modules/profile/_params.py | 2 +- .../azure/cli/command_modules/resource/__init__.py | 7 ++----- .../azure/cli/command_modules/vm/__init__.py | 7 ++----- 5 files changed, 7 insertions(+), 25 deletions(-) diff --git a/src/command_modules/azure-cli-component/azure/cli/command_modules/component/generated.py b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/generated.py index 9006ef6aa1f..28b900342ca 100644 --- a/src/command_modules/azure-cli-component/azure/cli/command_modules/component/generated.py +++ b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/generated.py @@ -26,14 +26,3 @@ def _patch_aliases(alias_items): CommandDefinition(ComponentCommands.remove, 'Result'), CommandDefinition(ComponentCommands.check_component, 'Result', 'check') ], command_table, PARAMETER_ALIASES) - -#@command_table.option('--name -n', help=L('Name of component to install'), required=True) -#@command_table.option('--name -n', help=L('Name of component to install'), required=True) -#@command_table.option('--name -n', help=L('Name of component to remove'), required=True) -#@command_table.option('--name -n', help=L('Name of component to remove'), required=True) - -#@command_table.option('--private -p', action='store_true', -# help=L('Look for updates from the project private PyPI server')) - -#@command_table.option('--version', help=L('Component version (otherwise latest)')) - diff --git a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py index 5eedff95c86..c4578d074f0 100644 --- a/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py +++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/__init__.py @@ -1,3 +1,2 @@ -from .generated import command_table as generated_command_table - -command_table = generated_command_table +# pylint: disable=unused-import +from .generated import command_table diff --git a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/_params.py b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/_params.py index 9f8f2c78ab7..8cfcd0d6d88 100644 --- a/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/_params.py +++ b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/_params.py @@ -6,7 +6,7 @@ PARAMETER_ALIASES = GLOBAL_COMMON_PARAMETERS.copy() PARAMETER_ALIASES.update({ 'password': { - 'name': '--name -n', + 'name': '--password -p', 'help': L('User password or client secret. Will prompt if not given.'), }, 'service_principal': { diff --git a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/__init__.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/__init__.py index 69553b3401f..c4578d074f0 100644 --- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/__init__.py +++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/__init__.py @@ -1,5 +1,2 @@ -from .generated import command_table as generated_command_table -from .custom import command_table as convenience_command_table - -command_table = generated_command_table -command_table.update(convenience_command_table) +# pylint: disable=unused-import +from .generated import command_table diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/__init__.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/__init__.py index 69553b3401f..c4578d074f0 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/__init__.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/__init__.py @@ -1,5 +1,2 @@ -from .generated import command_table as generated_command_table -from .custom import command_table as convenience_command_table - -command_table = generated_command_table -command_table.update(convenience_command_table) +# pylint: disable=unused-import +from .generated import command_table From 0acd909c0f4510f43d2ecdc83350220b3b35ba60 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Tue, 10 May 2016 11:36:50 -0700 Subject: [PATCH 24/27] Re-record a couple VM tests. --- .../vm/tests/recordings/expected_results.res | 4 +- .../recordings/test_vm_list_ip_addresses.yaml | 2038 ++++++++++++----- .../recordings/test_vm_usage_list_westus.yaml | 12 +- 3 files changed, 1500 insertions(+), 554 deletions(-) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res index ad9dd29b1ac..da429901926 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res @@ -8,7 +8,9 @@ "test_vm_images_list_by_aliases": "", "test_vm_images_list_thru_services": "", "test_vm_list_from_group": "Availability Set : None\nId : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/XPLATTESTGEXTENSION9085/providers/Microsoft.Compute/virtualMachines/xplatvmExt1314\nInstance View : None\nLicense Type : None\nLocation : southeastasia\nName : xplatvmExt1314\nPlan : None\nProvisioning State : Succeeded\nResource Group : XPLATTESTGEXTENSION9085\nResources : None\nType : Microsoft.Compute/virtualMachines\nDiagnostics Profile :\n Boot Diagnostics :\n Enabled : True\n Storage Uri : https://xplatstoragext4633.blob.core.windows.net/\nHardware Profile :\n Vm Size : Standard_A1\nNetwork Profile :\n Network Interfaces :\n Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplatTestGExtension9085/providers/Microsoft.Network/networkInterfaces/xplatnicExt4843\n Primary : None\n Resource Group : xplatTestGExtension9085\nOs Profile :\n Admin Password : None\n Admin Username : azureuser\n Computer Name : xplatvmExt1314\n Custom Data : None\n Linux Configuration : None\n Secrets :\n None\n Windows Configuration :\n Additional Unattend Content : None\n Enable Automatic Updates : True\n Provision Vm Agent : True\n Time Zone : None\n Win Rm : None\nStorage Profile :\n Data Disks :\n None\n Image Reference :\n Offer : WindowsServerEssentials\n Publisher : MicrosoftWindowsServerEssentials\n Sku : WindowsServerEssentials\n Version : 1.0.20131018\n Os Disk :\n Caching : ReadWrite\n Create Option : fromImage\n Disk Size Gb : None\n Encryption Settings : None\n Image : None\n Name : cli1eaed78b36def353-os-1453419539945\n Os Type : Windows\n Vhd :\n Uri : https://xplatstoragext4633.blob.core.windows.net/xplatstoragecntext1789/cli1eaed78b36def353-os-1453419539945.vhd\nTags :\n None\n\n\n", + "test_vm_list_ip_addresses": "[\n {\n \"virtualMachine\": {\n \"name\": \"vm-with-public-ip\",\n \"network\": {\n \"privateIpAddresses\": [\n \"10.0.0.4\"\n ],\n \"publicIpAddresses\": [\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Network/publicIPAddresses/PublicIPvm-with-public-ip\",\n \"ipAddress\": \"13.91.103.89\",\n \"ipAllocationMethod\": \"Dynamic\",\n \"name\": \"PublicIPvm-with-public-ip\",\n \"resourceGroup\": \"cliTestRg_VmListIpAddresses\"\n }\n ]\n },\n \"resourceGroup\": \"cliTestRg_VmListIpAddresses\"\n }\n }\n]", "test_vm_list_sizes": "[\n {\n \"maxDataDiskCount\": 1,\n \"memoryInMb\": 768,\n \"name\": \"Standard_A0\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 20480\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 1792,\n \"name\": \"Standard_A1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 71680\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_A2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 138240\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_A3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 291840\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_A5\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 138240\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_A4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 619520\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_A6\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 291840\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_A7\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 619520\n },\n {\n \"maxDataDiskCount\": 1,\n \"memoryInMb\": 768,\n \"name\": \"Basic_A0\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 20480\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 1792,\n \"name\": \"Basic_A1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 40960\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 3584,\n \"name\": \"Basic_A2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 61440\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 7168,\n \"name\": \"Basic_A3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 122880\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 14336,\n \"name\": \"Basic_A4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 245760\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_D1_v2\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 51200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_D2_v2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D3_v2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D4_v2\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_D5_v2\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 819200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D11_v2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D12_v2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_D13_v2\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_D14_v2\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 819200\n },\n {\n \"maxDataDiskCount\": 40,\n \"memoryInMb\": 143360,\n \"name\": \"Standard_D15_v2\",\n \"numberOfCores\": 20,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 286720\n }\n]", "test_vm_show": "{\n \"availabilitySet\": null,\n \"diagnosticsProfile\": null,\n \"hardwareProfile\": {\n \"vmSize\": \"Standard_A2\"\n },\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmShow/providers/Microsoft.Compute/virtualMachines/vm-show\",\n \"instanceView\": {\n \"bootDiagnostics\": null,\n \"disks\": [\n {\n \"name\": \"osdiskvm-show\",\n \"statuses\": [\n {\n \"code\": \"ProvisioningState/succeeded\",\n \"displayStatus\": \"Provisioning succeeded\",\n \"level\": \"Info\",\n \"message\": null,\n \"time\": \"2016-05-10T00:20:10.570837+00:00\"\n }\n ]\n }\n ],\n \"extensions\": null,\n \"platformFaultDomain\": null,\n \"platformUpdateDomain\": null,\n \"rdpThumbPrint\": null,\n \"statuses\": [\n {\n \"code\": \"ProvisioningState/succeeded\",\n \"displayStatus\": \"Provisioning succeeded\",\n \"level\": \"Info\",\n \"message\": null,\n \"time\": \"2016-05-10T00:21:40.056358+00:00\"\n },\n {\n \"code\": \"PowerState/running\",\n \"displayStatus\": \"VM running\",\n \"level\": \"Info\",\n \"message\": null,\n \"time\": null\n }\n ],\n \"vmAgent\": {\n \"extensionHandlers\": [],\n \"statuses\": [\n {\n \"code\": \"ProvisioningState/succeeded\",\n \"displayStatus\": \"Ready\",\n \"level\": \"Info\",\n \"message\": \"GuestAgent is running and accepting new configurations.\",\n \"time\": \"2016-05-10T00:21:38+00:00\"\n }\n ],\n \"vmAgentVersion\": \"WALinuxAgent-2.0.14\"\n }\n },\n \"licenseType\": null,\n \"location\": \"westus\",\n \"name\": \"vm-show\",\n \"networkProfile\": {\n \"networkInterfaces\": [\n {\n \"id\": \"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmShow/providers/Microsoft.Network/networkInterfaces/VMNicvm-show\",\n \"primary\": null,\n \"resourceGroup\": \"cliTestRg_VmShow\"\n }\n ]\n },\n \"osProfile\": {\n \"adminPassword\": null,\n \"adminUsername\": \"ubuntu\",\n \"computerName\": \"vm-show\",\n \"customData\": null,\n \"linuxConfiguration\": {\n \"disablePasswordAuthentication\": false,\n \"ssh\": null\n },\n \"secrets\": [],\n \"windowsConfiguration\": null\n },\n \"plan\": null,\n \"provisioningState\": \"Succeeded\",\n \"resourceGroup\": \"cliTestRg_VmShow\",\n \"resources\": null,\n \"storageProfile\": {\n \"dataDisks\": [],\n \"imageReference\": {\n \"offer\": \"UbuntuServer\",\n \"publisher\": \"Canonical\",\n \"sku\": \"14.04.4-LTS\",\n \"version\": \"latest\"\n },\n \"osDisk\": {\n \"caching\": \"ReadWrite\",\n \"createOption\": \"fromImage\",\n \"diskSizeGb\": null,\n \"encryptionSettings\": null,\n \"image\": null,\n \"name\": \"osdiskvm-show\",\n \"osType\": \"Linux\",\n \"vhd\": {\n \"uri\": \"http://vhdstorageu47fs25lwwgcm.blob.core.windows.net/vhds/osdiskimage.vhd\"\n }\n }\n },\n \"tags\": {\n \"displayName\": \"VirtualMachine\"\n },\n \"type\": \"Microsoft.Compute/virtualMachines\"\n}", - "test_vm_size_list": "[\n {\n \"maxDataDiskCount\": 1,\n \"memoryInMb\": 768,\n \"name\": \"Standard_A0\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 20480\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 1792,\n \"name\": \"Standard_A1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 71680\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_A2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 138240\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_A3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 291840\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_A5\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 138240\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_A4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 619520\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_A6\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 291840\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_A7\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 619520\n },\n {\n \"maxDataDiskCount\": 1,\n \"memoryInMb\": 768,\n \"name\": \"Basic_A0\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 20480\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 1792,\n \"name\": \"Basic_A1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 40960\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 3584,\n \"name\": \"Basic_A2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 61440\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 7168,\n \"name\": \"Basic_A3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 122880\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 14336,\n \"name\": \"Basic_A4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 245760\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_D1_v2\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 51200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_D2_v2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D3_v2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D4_v2\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_D5_v2\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 819200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D11_v2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D12_v2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_D13_v2\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_D14_v2\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 819200\n },\n {\n \"maxDataDiskCount\": 40,\n \"memoryInMb\": 143360,\n \"name\": \"Standard_D15_v2\",\n \"numberOfCores\": 20,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 286720\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_DS1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 7168\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_DS2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 14336\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_DS3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 28672\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_DS4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 57344\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_DS11\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 28672\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_DS12\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 57344\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_DS13\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 114688\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_DS14\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 229376\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_D1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 51200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_D2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D11\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D12\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_D13\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_D14\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 819200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_G1\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 393216\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_G2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 786432\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_G3\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 1572864\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 229376,\n \"name\": \"Standard_G4\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 3145728\n },\n {\n \"maxDataDiskCount\": 64,\n \"memoryInMb\": 458752,\n \"name\": \"Standard_G5\",\n \"numberOfCores\": 32,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 6291456\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_GS1\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 57344\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_GS2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 114688\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_GS3\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 229376\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 229376,\n \"name\": \"Standard_GS4\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 458752\n },\n {\n \"maxDataDiskCount\": 64,\n \"memoryInMb\": 458752,\n \"name\": \"Standard_GS5\",\n \"numberOfCores\": 32,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 917504\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_A8\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 391168\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_A9\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 391168\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_A10\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 391168\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_A11\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 391168\n }\n]" + "test_vm_size_list": "[\n {\n \"maxDataDiskCount\": 1,\n \"memoryInMb\": 768,\n \"name\": \"Standard_A0\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 20480\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 1792,\n \"name\": \"Standard_A1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 71680\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_A2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 138240\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_A3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 291840\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_A5\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 138240\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_A4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 619520\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_A6\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 291840\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_A7\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 619520\n },\n {\n \"maxDataDiskCount\": 1,\n \"memoryInMb\": 768,\n \"name\": \"Basic_A0\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 20480\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 1792,\n \"name\": \"Basic_A1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 40960\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 3584,\n \"name\": \"Basic_A2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 61440\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 7168,\n \"name\": \"Basic_A3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 122880\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 14336,\n \"name\": \"Basic_A4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 245760\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_D1_v2\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 51200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_D2_v2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D3_v2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D4_v2\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_D5_v2\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 819200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D11_v2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D12_v2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_D13_v2\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_D14_v2\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 819200\n },\n {\n \"maxDataDiskCount\": 40,\n \"memoryInMb\": 143360,\n \"name\": \"Standard_D15_v2\",\n \"numberOfCores\": 20,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 286720\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_DS1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 7168\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_DS2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 14336\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_DS3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 28672\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_DS4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 57344\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_DS11\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 28672\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_DS12\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 57344\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_DS13\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 114688\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_DS14\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 229376\n },\n {\n \"maxDataDiskCount\": 2,\n \"memoryInMb\": 3584,\n \"name\": \"Standard_D1\",\n \"numberOfCores\": 1,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 51200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 7168,\n \"name\": \"Standard_D2\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D3\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D4\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 14336,\n \"name\": \"Standard_D11\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 102400\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_D12\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 204800\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_D13\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 409600\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_D14\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 819200\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_G1\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 393216\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_G2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 786432\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_G3\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 1572864\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 229376,\n \"name\": \"Standard_G4\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 3145728\n },\n {\n \"maxDataDiskCount\": 64,\n \"memoryInMb\": 458752,\n \"name\": \"Standard_G5\",\n \"numberOfCores\": 32,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 6291456\n },\n {\n \"maxDataDiskCount\": 4,\n \"memoryInMb\": 28672,\n \"name\": \"Standard_GS1\",\n \"numberOfCores\": 2,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 57344\n },\n {\n \"maxDataDiskCount\": 8,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_GS2\",\n \"numberOfCores\": 4,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 114688\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_GS3\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 229376\n },\n {\n \"maxDataDiskCount\": 32,\n \"memoryInMb\": 229376,\n \"name\": \"Standard_GS4\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 458752\n },\n {\n \"maxDataDiskCount\": 64,\n \"memoryInMb\": 458752,\n \"name\": \"Standard_GS5\",\n \"numberOfCores\": 32,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 917504\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_A8\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 391168\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_A9\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 391168\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 57344,\n \"name\": \"Standard_A10\",\n \"numberOfCores\": 8,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 391168\n },\n {\n \"maxDataDiskCount\": 16,\n \"memoryInMb\": 114688,\n \"name\": \"Standard_A11\",\n \"numberOfCores\": 16,\n \"osDiskSizeInMb\": 1047552,\n \"resourceDiskSizeInMb\": 391168\n }\n]", + "test_vm_usage_list_westus": "[\n {\n \"currentValue\": 2,\n \"limit\": 2000,\n \"name\": {\n \"localizedValue\": \"Availability Sets\",\n \"value\": \"availabilitySets\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 43,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Total Regional Cores\",\n \"value\": \"cores\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 24,\n \"limit\": 10000,\n \"name\": {\n \"localizedValue\": \"Virtual Machines\",\n \"value\": \"virtualMachines\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 0,\n \"limit\": 50,\n \"name\": {\n \"localizedValue\": \"Virtual Machine Scale Sets\",\n \"value\": \"virtualMachineScaleSets\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 1,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Standard D Family Cores\",\n \"value\": \"standardDFamily\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 40,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Standard A0-A7 Family Cores\",\n \"value\": \"standardA0_A7Family\"\n },\n \"unit\": \"Count\"\n },\n {\n \"currentValue\": 2,\n \"limit\": 100,\n \"name\": {\n \"localizedValue\": \"Basic A Family Cores\",\n \"value\": \"basicAFamily\"\n },\n \"unit\": \"Count\"\n }\n]\n" } \ No newline at end of file diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_ip_addresses.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_ip_addresses.yaml index 6190089a915..564ed03ef80 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_ip_addresses.yaml +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_list_ip_addresses.yaml @@ -17,7 +17,7 @@ interactions: Cache-Control: [no-cache] Content-Length: ['119'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:15:01 GMT'] + Date: ['Tue, 10 May 2016 17:45:15 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -43,11 +43,11 @@ interactions: Cache-Control: [no-cache] Content-Length: ['207'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:15:03 GMT'] + Date: ['Tue, 10 May 2016 17:45:17 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: null @@ -138,44 +138,47 @@ interactions: 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 + cga5+/4v+X8Aq4MAmjtvAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] - Content-Length: ['5691'] + Content-Length: ['5831'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:15:05 GMT'] + Date: ['Tue, 10 May 2016 17:45:18 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-original-request-ids: [593416fb-5d0b-4312-8f86-559b2758b123, 2dea50d9-06d7-449f-9c8e-53426382d661, - f8f23470-ee8f-4a63-ab0e-cad01fff9744] + x-ms-original-request-ids: [015c880b-c8bb-473d-b90a-6c5a1e0b36f6, 6f0dc65c-0659-4142-8147-749ca088aaaf, + 1c5168b2-59e6-4e2b-8463-309725bc8fc1] status: {code: 200, message: OK} - request: body: null @@ -312,94 +315,98 @@ interactions: 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 + 88yyEz2JnL/k/wHBGxJ/VAoBAA== headers: Cache-Control: [no-cache] Content-Encoding: [gzip] - Content-Length: ['9731'] + Content-Length: ['9937'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:15:06 GMT'] + Date: ['Tue, 10 May 2016 17:45:19 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-original-request-ids: [9773c818-1364-4f05-8951-175096e3fa18, 24181781-839d-4d96-88ae-85016490501d, - f0932a88-4194-416d-900d-fadb0258ef72] + x-ms-original-request-ids: [c7571218-1592-4e44-8ef7-44b9a80d0380, baf03973-ed73-43e4-a7c4-e23cde2acf18, + d4658da6-ea56-4049-9a01-41f69041a592] status: {code: 200, message: OK} - request: body: !!binary | - eyJwcm9wZXJ0aWVzIjogeyJ0ZW1wbGF0ZUxpbmsiOiB7InVyaSI6ICJodHRwczovL2F6dXJlc2Rr - Y2kuYmxvYi5jb3JlLndpbmRvd3MubmV0L3RlbXBsYXRlaG9zdC9DcmVhdGVWTS9henVyZWRlcGxv - eS5qc29uIn0sICJtb2RlIjogIkluY3JlbWVudGFsIiwgInBhcmFtZXRlcnMiOiB7Im9zRGlza05h - bWUiOiB7InZhbHVlIjogIm9zZGlza2ltYWdlIn0sICJ2aXJ0dWFsTmV0d29ya1R5cGUiOiB7InZh - bHVlIjogIm5ldyJ9LCAib3NQdWJsaXNoZXIiOiB7InZhbHVlIjogIkNhbm9uaWNhbCJ9LCAibmFt - ZSI6IHsidmFsdWUiOiAidm0td2l0aC1wdWJsaWMtaXAifSwgInN0b3JhZ2VSZWR1bmRhbmN5VHlw - ZSI6IHsidmFsdWUiOiAiU3RhbmRhcmRfTFJTIn0sICJvc1ZlcnNpb24iOiB7InZhbHVlIjogImxh - dGVzdCJ9LCAiZG5zTmFtZVR5cGUiOiB7InZhbHVlIjogIm5vbmUifSwgImxvY2F0aW9uIjogeyJ2 - YWx1ZSI6ICJ3ZXN0dXMifSwgInByaXZhdGVJcEFkZHJlc3NBbGxvY2F0aW9uIjogeyJ2YWx1ZSI6 - ICJEeW5hbWljIn0sICJhZG1pblBhc3N3b3JkIjogeyJ2YWx1ZSI6ICJ0ZXN0UGFzc3dvcmQwIn0s - ICJzaXplIjogeyJ2YWx1ZSI6ICJTdGFuZGFyZF9BMiJ9LCAib3NTS1UiOiB7InZhbHVlIjogIjE0 - LjA0LjQtTFRTIn0sICJ2aXJ0dWFsTmV0d29ya0lwQWRkcmVzc1ByZWZpeCI6IHsidmFsdWUiOiAi - MTAuMC4wLjAvMTYifSwgInB1YmxpY0lwQWRkcmVzc0FsbG9jYXRpb24iOiB7InZhbHVlIjogIkR5 - bmFtaWMifSwgImF1dGhlbnRpY2F0aW9uVHlwZSI6IHsidmFsdWUiOiAicGFzc3dvcmQifSwgInN0 - b3JhZ2VBY2NvdW50VHlwZSI6IHsidmFsdWUiOiAibmV3In0sICJwdWJsaWNJcEFkZHJlc3NUeXBl - IjogeyJ2YWx1ZSI6ICJuZXcifSwgImFkbWluVXNlcm5hbWUiOiB7InZhbHVlIjogInVidW50dSJ9 - LCAiX2FydGlmYWN0c0xvY2F0aW9uIjogeyJ2YWx1ZSI6ICJodHRwczovL2F6dXJlc2RrY2kuYmxv - Yi5jb3JlLndpbmRvd3MubmV0L3RlbXBsYXRlaG9zdC9DcmVhdGVWTSJ9LCAib3NPZmZlciI6IHsi - dmFsdWUiOiAiVWJ1bnR1U2VydmVyIn0sICJzdWJuZXRJcEFkZHJlc3NQcmVmaXgiOiB7InZhbHVl - IjogIjEwLjAuMC4wLzI0In0sICJzdG9yYWdlQ29udGFpbmVyTmFtZSI6IHsidmFsdWUiOiAidmhk - cyJ9LCAib3NUeXBlIjogeyJ2YWx1ZSI6ICJDdXN0b20ifSwgImF2YWlsYWJpbGl0eVNldFR5cGUi - OiB7InZhbHVlIjogIm5vbmUifX19fQ== + eyJwcm9wZXJ0aWVzIjogeyJtb2RlIjogIkluY3JlbWVudGFsIiwgInRlbXBsYXRlTGluayI6IHsi + dXJpIjogImh0dHBzOi8vYXp1cmVzZGtjaS5ibG9iLmNvcmUud2luZG93cy5uZXQvdGVtcGxhdGVo + b3N0L0NyZWF0ZVZNL2F6dXJlZGVwbG95Lmpzb24ifSwgInBhcmFtZXRlcnMiOiB7ImF2YWlsYWJp + bGl0eVNldFR5cGUiOiB7InZhbHVlIjogIm5vbmUifSwgIl9hcnRpZmFjdHNMb2NhdGlvbiI6IHsi + dmFsdWUiOiAiaHR0cHM6Ly9henVyZXNka2NpLmJsb2IuY29yZS53aW5kb3dzLm5ldC90ZW1wbGF0 + ZWhvc3QvQ3JlYXRlVk0ifSwgImF1dGhlbnRpY2F0aW9uVHlwZSI6IHsidmFsdWUiOiAicGFzc3dv + cmQifSwgInByaXZhdGVJcEFkZHJlc3NBbGxvY2F0aW9uIjogeyJ2YWx1ZSI6ICJEeW5hbWljIn0s + ICJvc1R5cGUiOiB7InZhbHVlIjogIkN1c3RvbSJ9LCAiYWRtaW5QYXNzd29yZCI6IHsidmFsdWUi + OiAidGVzdFBhc3N3b3JkMCJ9LCAicHVibGljSXBBZGRyZXNzQWxsb2NhdGlvbiI6IHsidmFsdWUi + OiAiRHluYW1pYyJ9LCAidmlydHVhbE5ldHdvcmtUeXBlIjogeyJ2YWx1ZSI6ICJuZXcifSwgImRu + c05hbWVUeXBlIjogeyJ2YWx1ZSI6ICJub25lIn0sICJsb2NhdGlvbiI6IHsidmFsdWUiOiAid2Vz + dHVzIn0sICJvc1ZlcnNpb24iOiB7InZhbHVlIjogImxhdGVzdCJ9LCAib3NEaXNrTmFtZSI6IHsi + dmFsdWUiOiAib3NkaXNraW1hZ2UifSwgInZpcnR1YWxOZXR3b3JrSXBBZGRyZXNzUHJlZml4Ijog + eyJ2YWx1ZSI6ICIxMC4wLjAuMC8xNiJ9LCAicHVibGljSXBBZGRyZXNzVHlwZSI6IHsidmFsdWUi + OiAibmV3In0sICJhZG1pblVzZXJuYW1lIjogeyJ2YWx1ZSI6ICJ1YnVudHUifSwgIm9zU0tVIjog + eyJ2YWx1ZSI6ICIxNC4wNC40LUxUUyJ9LCAic3RvcmFnZUFjY291bnRUeXBlIjogeyJ2YWx1ZSI6 + ICJuZXcifSwgIm9zT2ZmZXIiOiB7InZhbHVlIjogIlVidW50dVNlcnZlciJ9LCAib3NQdWJsaXNo + ZXIiOiB7InZhbHVlIjogIkNhbm9uaWNhbCJ9LCAic3VibmV0SXBBZGRyZXNzUHJlZml4IjogeyJ2 + YWx1ZSI6ICIxMC4wLjAuMC8yNCJ9LCAic2l6ZSI6IHsidmFsdWUiOiAiU3RhbmRhcmRfQTIifSwg + Im5hbWUiOiB7InZhbHVlIjogInZtLXdpdGgtcHVibGljLWlwIn0sICJzdG9yYWdlUmVkdW5kYW5j + eVR5cGUiOiB7InZhbHVlIjogIlN0YW5kYXJkX0xSUyJ9LCAic3RvcmFnZUNvbnRhaW5lck5hbWUi + OiB7InZhbHVlIjogInZoZHMifX19fQ== headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -412,13 +419,13 @@ interactions: method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips?api-version=2015-11-01 response: - body: {string: '{"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips","name":"azurecli-test-deployment-vm-list-ips","properties":{"templateLink":{"uri":"https://azuresdkci.blob.core.windows.net/templatehost/CreateVM/azuredeploy.json","contentVersion":"1.0.0.0"},"parameters":{"_artifactsLocation":{"type":"String","value":"https://azuresdkci.blob.core.windows.net/templatehost/CreateVM"},"adminPassword":{"type":"SecureString"},"adminUsername":{"type":"String","value":"ubuntu"},"authenticationType":{"type":"String","value":"password"},"availabilitySetId":{"type":"String","value":""},"availabilitySetType":{"type":"String","value":"none"},"dnsNameForPublicIP":{"type":"String","value":""},"dnsNameType":{"type":"String","value":"none"},"location":{"type":"String","value":"westus"},"name":{"type":"String","value":"vm-with-public-ip"},"osDiskName":{"type":"String","value":"osdiskimage"},"osDiskUri":{"type":"String","value":"http://vhdstorage6oayrczyf2jh6.blob.core.windows.net/vhds/osdiskimage.vhd"},"osOffer":{"type":"String","value":"UbuntuServer"},"osPublisher":{"type":"String","value":"Canonical"},"osSKU":{"type":"String","value":"14.04.4-LTS"},"osType":{"type":"String","value":"Custom"},"osVersion":{"type":"String","value":"latest"},"privateIpAddressAllocation":{"type":"String","value":"Dynamic"},"publicIpAddressAllocation":{"type":"String","value":"Dynamic"},"publicIpAddressName":{"type":"String","value":"PublicIPvm-with-public-ip"},"publicIpAddressType":{"type":"String","value":"new"},"size":{"type":"String","value":"Standard_A2"},"sshDestKeyPath":{"type":"String","value":"/home/ubuntu/.ssh/authorized_keys"},"sshKeyValue":{"type":"String","value":""},"storageAccountName":{"type":"String","value":"vhdstorage6oayrczyf2jh6"},"storageAccountType":{"type":"String","value":"new"},"storageContainerName":{"type":"String","value":"vhds"},"storageRedundancyType":{"type":"String","value":"Standard_LRS"},"subnetIpAddressPrefix":{"type":"String","value":"10.0.0.0/24"},"subnetName":{"type":"String","value":"Subnetvm-with-public-ip"},"virtualNetworkIpAddressPrefix":{"type":"String","value":"10.0.0.0/16"},"virtualNetworkName":{"type":"String","value":"VNETvm-with-public-ip"},"virtualNetworkType":{"type":"String","value":"new"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2016-05-10T16:15:09.197998Z","duration":"PT0.7092855S","correlationId":"6d5c8037-a8a1-465b-ba60-15aec2f434d4","providers":[{"namespace":"Microsoft.Resources","resourceTypes":[{"resourceType":"deployments","locations":[null]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/VNetvm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"VNetvm-with-public-ip"}],"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/NicIpvm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"NicIpvm-with-public-ip"},{"dependsOn":[{"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/vhdstorage6oayrczyf2jh6vm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"vhdstorage6oayrczyf2jh6vm-with-public-ip"},{"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/NicIpvm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"NicIpvm-with-public-ip"}],"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/VMvm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"VMvm-with-public-ip"}]}}'} + body: {string: '{"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips","name":"azurecli-test-deployment-vm-list-ips","properties":{"templateLink":{"uri":"https://azuresdkci.blob.core.windows.net/templatehost/CreateVM/azuredeploy.json","contentVersion":"1.0.0.0"},"parameters":{"_artifactsLocation":{"type":"String","value":"https://azuresdkci.blob.core.windows.net/templatehost/CreateVM"},"adminPassword":{"type":"SecureString"},"adminUsername":{"type":"String","value":"ubuntu"},"authenticationType":{"type":"String","value":"password"},"availabilitySetId":{"type":"String","value":""},"availabilitySetType":{"type":"String","value":"none"},"dnsNameForPublicIP":{"type":"String","value":""},"dnsNameType":{"type":"String","value":"none"},"location":{"type":"String","value":"westus"},"name":{"type":"String","value":"vm-with-public-ip"},"osDiskName":{"type":"String","value":"osdiskimage"},"osDiskUri":{"type":"String","value":"http://vhdstorage6oayrczyf2jh6.blob.core.windows.net/vhds/osdiskimage.vhd"},"osOffer":{"type":"String","value":"UbuntuServer"},"osPublisher":{"type":"String","value":"Canonical"},"osSKU":{"type":"String","value":"14.04.4-LTS"},"osType":{"type":"String","value":"Custom"},"osVersion":{"type":"String","value":"latest"},"privateIpAddressAllocation":{"type":"String","value":"Dynamic"},"publicIpAddressAllocation":{"type":"String","value":"Dynamic"},"publicIpAddressName":{"type":"String","value":"PublicIPvm-with-public-ip"},"publicIpAddressType":{"type":"String","value":"new"},"size":{"type":"String","value":"Standard_A2"},"sshDestKeyPath":{"type":"String","value":"/home/ubuntu/.ssh/authorized_keys"},"sshKeyValue":{"type":"String","value":""},"storageAccountName":{"type":"String","value":"vhdstorage6oayrczyf2jh6"},"storageAccountType":{"type":"String","value":"new"},"storageContainerName":{"type":"String","value":"vhds"},"storageRedundancyType":{"type":"String","value":"Standard_LRS"},"subnetIpAddressPrefix":{"type":"String","value":"10.0.0.0/24"},"subnetName":{"type":"String","value":"Subnetvm-with-public-ip"},"virtualNetworkIpAddressPrefix":{"type":"String","value":"10.0.0.0/16"},"virtualNetworkName":{"type":"String","value":"VNETvm-with-public-ip"},"virtualNetworkType":{"type":"String","value":"new"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2016-05-10T17:45:20.9202577Z","duration":"PT0.1813682S","correlationId":"e0218361-be68-4c49-ab06-4ae9ce835361","providers":[{"namespace":"Microsoft.Resources","resourceTypes":[{"resourceType":"deployments","locations":[null]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/VNetvm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"VNetvm-with-public-ip"}],"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/NicIpvm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"NicIpvm-with-public-ip"},{"dependsOn":[{"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/vhdstorage6oayrczyf2jh6vm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"vhdstorage6oayrczyf2jh6vm-with-public-ip"},{"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/NicIpvm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"NicIpvm-with-public-ip"}],"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/VMvm-with-public-ip","resourceType":"Microsoft.Resources/deployments","resourceName":"VMvm-with-public-ip"}]}}'} headers: - Azure-AsyncOperation: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387099769890705?api-version=2015-11-01'] + Azure-AsyncOperation: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01'] Cache-Control: [no-cache] - Content-Length: ['4016'] + Content-Length: ['4017'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:15:08 GMT'] + Date: ['Tue, 10 May 2016 17:45:20 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -435,7 +442,7 @@ interactions: Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387099769890705?api-version=2015-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | @@ -447,7 +454,7 @@ interactions: Content-Encoding: [gzip] Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:15:39 GMT'] + Date: ['Tue, 10 May 2016 17:45:51 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -464,7 +471,7 @@ interactions: Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387099769890705?api-version=2015-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | @@ -476,7 +483,7 @@ interactions: Content-Encoding: [gzip] Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:16:09 GMT'] + Date: ['Tue, 10 May 2016 17:46:26 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -493,7 +500,7 @@ interactions: Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387099769890705?api-version=2015-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | @@ -505,7 +512,7 @@ interactions: Content-Encoding: [gzip] Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:16:40 GMT'] + Date: ['Tue, 10 May 2016 17:46:57 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -522,7 +529,7 @@ interactions: Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387099769890705?api-version=2015-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | @@ -534,7 +541,7 @@ interactions: Content-Encoding: [gzip] Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:17:10 GMT'] + Date: ['Tue, 10 May 2016 17:47:27 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -551,7 +558,7 @@ interactions: Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387099769890705?api-version=2015-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | @@ -563,7 +570,7 @@ interactions: Content-Encoding: [gzip] Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:17:41 GMT'] + Date: ['Tue, 10 May 2016 17:47:57 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -580,7 +587,7 @@ interactions: Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387099769890705?api-version=2015-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | @@ -592,7 +599,7 @@ interactions: Content-Encoding: [gzip] Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:18:11 GMT'] + Date: ['Tue, 10 May 2016 17:48:31 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -609,19 +616,19 @@ interactions: Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387099769890705?api-version=2015-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b - tevmo0cfvV5Pp3k+y2cf/ZL/ByCIe+QWAAAA + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] - Content-Length: ['141'] + Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:18:42 GMT'] + Date: ['Tue, 10 May 2016 17:49:02 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -638,117 +645,52 @@ interactions: Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips?api-version=2015-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR8Xs - o0cf3W3Wk2ZaF6u2qJbN3Z3J7vmn+w92t3cn5zvb+7NZtp3l03vb08nDvQd75zsP7z/cuVvnTbWu - p/nndbVeNXenZfEmb9pXF7//Ty6eF017tjqezahNkzd3V3V1Wczyurn7RTGtq6Y6b8ev9PXm7ixf - ldX1Il+2zd3sB+s6J1DbLcHadt9sXy62S4K6Xayaj0YfLbNFTmjfsjV1v8rrtsibjx794o/afLEq - szZ/Xizf4u91XRCoeduumkd3BYFm9nZajCdlNRlPqzofXxXLWXXVjJd5e9e8Pq+a9u5JndOvP/mF - vCYIjH+6qZbU67RatoTLT9KwiajUxe54B/999EsIo6ymEbT0FTD4/TNC7jybts3zapphCvBpe73C - GF+3dbG8IHiXWbnGBx+GKXrPZoti+TJrmquqptl3XeVTAqkdmnZfNXkt5HbtpIVDaT1ZL9s1v7Ju - 5zToQobxhtsPv7cyOODNy6wos0lRFu3167w9CxDrvhh54aa+ltUyx2uzZfMiW+TPqvrlelIW07OX - m97y3rhtB+Ut5vCK+HXdoPVNpCVOvira+faKkSWGxktV87Ro3gKpTa9WzYxaFYvsgvGSl74Ctw+/ - A+Yi3rqcz5q2qunNT6vsup7+4Pp876fnnw4wGlrf9Xob0wfS45fn53m9qb+vmHNe5/UlteNXeFaa - Of254bWTjKhNTFbKO69/r682td7dH+/sj/e3n795Le1vmsqTNY1+IW2t/A43h5A1LZqv6uKS/rC6 - 77i8DTc8vSYuKKYMAKOffmPv38QiTGwSgSiXyR8W1k1EW+ZXeKspfkB/DTd73WbLWVbPfv/jPW7e - zJ8S8X6v/Ppl1s43vXh3Xi3yu6Jq7o7pvbtQNlVN/c1+/7f5NYsTfUygflJeGYbFTYXBj6fTikDe - RCliaX0hkIg+oNuSSV46ISORFcu8vk3/3nuv8tmayLicXt/Un6X381fM/WTpSWbtrL6s8/Pi3SYA - u2Sz8N/dvX33/k3ovuZWUba6LOp2nZUv8pZU/9uvg8gukz2EcxNCP/ni9M0t0LmJmjx79NaimuHP - s+W0zuFxkCYigYGbA2VB7xDZW7R4vZ5Oc/IMZvR9WyyI1bPFij7f29n9dHvn/vbuzpvdTx/tHjy6 - tze+/+DeA/rfT1HT2bpWsf/o5Zt7X+yRBju4v/Pp7t5r+pIUcJ2T0qHvYSY/+nR2f3qwc+/BdnaQ - 7W7vf3p/sj3JPt3Z3r1PXtve+f69/dk+vcbowQv76NH3fjEbnmaVTYFkxCuj9jQr/DtoIu/4n9Br - 4u9g+GhuNBWaLtdl+f1fQv/RSPJVvpzlyym7XwREPmi+pLHRX//vcj9/ktigzyUhKQjfG8B4Lwhb - EvfF4II8/+8a/wvo+z6ibjxflwADgH/J6P/d/ACtKwo30Pr9gbgBf10K3bor0Oz/XVQamFw3xK9L - kwHA/++Tm5/8oo+lG83XHX4MKsZerdvVml549IvJEskfFqITItfdSbWgJvldNXVfZNM5uRzE3X3o - hrfcy6S5YBjvkjnHzzMKamuKVen1n/yC5ue9YEijs5eOxJsc0EEwOg79kxAZsO09AK9FwO6qoKnH - RoSIyx4R+5f8kv8HVybjPSIRAAA= + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] - Content-Length: ['1331'] + Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:18:43 GMT'] + Date: ['Tue, 10 May 2016 17:49:32 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] status: {code: 200, message: OK} - request: - body: !!binary | - eyJwcm9wZXJ0aWVzIjogeyJ0ZW1wbGF0ZUxpbmsiOiB7InVyaSI6ICJodHRwczovL2F6dXJlc2Rr - Y2kuYmxvYi5jb3JlLndpbmRvd3MubmV0L3RlbXBsYXRlaG9zdC9DcmVhdGVWTS9henVyZWRlcGxv - eS5qc29uIn0sICJtb2RlIjogIkluY3JlbWVudGFsIiwgInBhcmFtZXRlcnMiOiB7Im9zRGlza05h - bWUiOiB7InZhbHVlIjogIm9zZGlza2ltYWdlIn0sICJ2aXJ0dWFsTmV0d29ya1R5cGUiOiB7InZh - bHVlIjogIm5ldyJ9LCAib3NQdWJsaXNoZXIiOiB7InZhbHVlIjogIkNhbm9uaWNhbCJ9LCAibmFt - ZSI6IHsidmFsdWUiOiAidm0td2l0aC1wdWJsaWMtaXAifSwgInN0b3JhZ2VSZWR1bmRhbmN5VHlw - ZSI6IHsidmFsdWUiOiAiU3RhbmRhcmRfTFJTIn0sICJvc1ZlcnNpb24iOiB7InZhbHVlIjogImxh - dGVzdCJ9LCAiZG5zTmFtZVR5cGUiOiB7InZhbHVlIjogIm5vbmUifSwgImxvY2F0aW9uIjogeyJ2 - YWx1ZSI6ICJ3ZXN0dXMifSwgInByaXZhdGVJcEFkZHJlc3NBbGxvY2F0aW9uIjogeyJ2YWx1ZSI6 - ICJEeW5hbWljIn0sICJhZG1pblBhc3N3b3JkIjogeyJ2YWx1ZSI6ICJ0ZXN0UGFzc3dvcmQwIn0s - ICJzaXplIjogeyJ2YWx1ZSI6ICJTdGFuZGFyZF9BMiJ9LCAib3NTS1UiOiB7InZhbHVlIjogIjE0 - LjA0LjQtTFRTIn0sICJ2aXJ0dWFsTmV0d29ya0lwQWRkcmVzc1ByZWZpeCI6IHsidmFsdWUiOiAi - MTAuMC4wLjAvMTYifSwgInB1YmxpY0lwQWRkcmVzc0FsbG9jYXRpb24iOiB7InZhbHVlIjogIkR5 - bmFtaWMifSwgImF1dGhlbnRpY2F0aW9uVHlwZSI6IHsidmFsdWUiOiAicGFzc3dvcmQifSwgInN0 - b3JhZ2VBY2NvdW50VHlwZSI6IHsidmFsdWUiOiAibmV3In0sICJwdWJsaWNJcEFkZHJlc3NUeXBl - IjogeyJ2YWx1ZSI6ICJuZXcifSwgImFkbWluVXNlcm5hbWUiOiB7InZhbHVlIjogInVidW50dSJ9 - LCAiX2FydGlmYWN0c0xvY2F0aW9uIjogeyJ2YWx1ZSI6ICJodHRwczovL2F6dXJlc2RrY2kuYmxv - Yi5jb3JlLndpbmRvd3MubmV0L3RlbXBsYXRlaG9zdC9DcmVhdGVWTSJ9LCAib3NPZmZlciI6IHsi - dmFsdWUiOiAiVWJ1bnR1U2VydmVyIn0sICJzdWJuZXRJcEFkZHJlc3NQcmVmaXgiOiB7InZhbHVl - IjogIjEwLjAuMC4wLzI0In0sICJzdG9yYWdlQ29udGFpbmVyTmFtZSI6IHsidmFsdWUiOiAidmhk - cyJ9LCAib3NUeXBlIjogeyJ2YWx1ZSI6ICJDdXN0b20ifSwgImF2YWlsYWJpbGl0eVNldFR5cGUi - OiB7InZhbHVlIjogIm5vbmUifX19fQ== + body: null headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - Content-Length: ['1219'] Content-Type: [application/json; charset=utf-8] User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips?api-version=2015-11-01 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR8Xs - o0cf3W3Wk2ZaF6u2qJbN3Z3J7vmn+w92t3cn5zvb+7NZtp3l03vb08nDvQd75zsP7z/cuVvnTbWu - p/nndbVeNXenZfEmb9pXF7//Ty6eF017tjqezahNkzd3V3V1Wczyurn7RTGtq6Y6b8ev9PXm7ixf - ldX1Il+2zd3sB+s6J1DbLcHadt9sXy62S4K6Xayaj0YfLbNFTmjfsjV1v8rrtsibjx794o/afLEq - szZ/Xizf4u91XRCoeduumkd3BYFm9nZajCdlNRlPqzofXxXLWXXVjJd5e9e8Pq+a9u5JndOvP/mF - vCYIjH+6qZbU67RatoTLT9KwiajUxe54B/999EsIo6ymEbT0FTD4/TNC7jybts3zapphCvBpe73C - GF+3dbG8IHiXWbnGBx+GKXrPZoti+TJrmquqptl3XeVTAqkdmnZfNXkt5HbtpIVDaT1ZL9s1v7Ju - 5zToQobxhtsPv7cyOODNy6wos0lRFu3167w9CxDrvhh54aa+ltUyx2uzZfMiW+TPqvrlelIW07OX - m97y3rhtB+Ut5vCK+HXdoPVNpCVOvira+faKkSWGxktV87Ro3gKpTa9WzYxaFYvsgvGSl74Ctw+/ - A+Yi3rqcz5q2qunNT6vsup7+4Pp876fnnw4wGlrf9Xob0wfS45fn53m9qb+vmHNe5/UlteNXeFaa - Of254bWTjKhNTFbKO69/r682td7dH+/sj/e3n795Le1vmsqTNY1+IW2t/A43h5A1LZqv6uKS/rC6 - 77i8DTc8vSYuKKYMAKOffmPv38QiTGwSgSiXyR8W1k1EW+ZXeKspfkB/DTd73WbLWVbPfv/jPW7e - zJ8S8X6v/Ppl1s43vXh3Xi3yu6Jq7o7pvbtQNlVN/c1+/7f5NYsTfUygflJeGYbFTYXBj6fTikDe - RCliaX0hkIg+oNuSSV46ISORFcu8vk3/3nuv8tmayLicXt/Un6X381fM/WTpSWbtrL6s8/Pi3SYA - u2Sz8N/dvX33/k3ovuZWUba6LOp2nZUv8pZU/9uvg8gukz2EcxNCP/ni9M0t0LmJmjx79NaimuHP - s+W0zuFxkCYigYGbA2VB7xDZW7QgrshXbT6jr9tiQZyeLVb08d7O7qfbO/e3d3fe7H76aPfg0f6n - 4917D/Y+3d/9KWo6W9cq9R+9fLMz/nTv00/vP7z/mr4h5VvnpHDoS5jIj+5PDiZ7Dz99sL0zPd/f - 3t+/9+n2w0/P97Z38ns79+7vfHrw4P4evcaowQP76NH3fjEbnWaVTYFgxCOj9jQj/DvoIe/4n9Br - 4utg6GhutBSaLtdl+f1fQv/RMPJVvpzlyym7XgREPmi+pIHRX//vcj1/kligzyEhKQjfG8B4LwhL - EufF4II8/+8a/wvo+j6ibjxflwADgH/J6P/d/ACNK8o20Pj9gbgBf10K3bor0Oz/XVQamFw3xK9L - kwHA/++Tm5/8oo+lG83XHX4MKinVX/L/AJq+3wCxDwAA + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= headers: - Azure-AsyncOperation: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387097599671932?api-version=2015-11-01'] Cache-Control: [no-cache] Content-Encoding: [gzip] - Content-Length: ['1230'] + Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:18:45 GMT'] + Date: ['Tue, 10 May 2016 17:50:03 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null @@ -761,38 +703,19 @@ interactions: Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips?api-version=2015-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR8Xs - o0cf3W3Wk2ZaF6u2qJbN3Z3J7vmn+w92t3cn5zvb+7NZtp3l03vb08nDvQd75zsP7z/cuVvnTbWu - p/nndbVeNXenZfEmb9pXF7//Ty6eF017tjqezahNkzd3V3V1Wczyurn7RTGtq6Y6b8ev9PXm7ixf - ldX1Il+2zd3sB+s6J1DbLcHadt9sXy62S4K6Xayaj0YfLbNFTmjfsjV1v8rrtsibjx794o/afLEq - szZ/Xizf4u91XRCoeduumkd3BYFm9nZajCdlNRlPqzofXxXLWXXVjJd5e9e8Pq+a9u5JndOvP/mF - vCYIjH+6qZbU67RatoTLT9KwiajUxe54B/999EsIo6ymEbT0FTD4/TNC7jybts3zapphCvBpe73C - GF+3dbG8IHiXWbnGBx+GKXrPZoti+TJrmquqptl3XeVTAqkdmnZfNXkt5HbtpIVDaT1ZL9s1v7Ju - 5zToQobxhtsPv7cyOODNy6wos0lRFu3167w9CxDrvhh54aa+ltUyx2uzZfMiW+TPqvrlelIW07OX - m97y3rhtB+Ut5vCK+HXdoPVNpCVOvira+faKkSWGxktV87Ro3gKpTa9WzYxaFYvsgvGSl74Ctw+/ - A+Yi3rqcz5q2qunNT6vsup7+4Pp876fnnw4wGlrf9Xob0wfS45fn53m9qb+vmHNe5/UlteNXeFaa - Of254bWTjKhNTFbKO69/r682td7dH+/sj/e3n795Le1vmsqTNY1+IW2t/A43h5A1LZqv6uKS/rC6 - 77i8DTc8vSYuKKYMAKOffmPv38QiTGwSgSiXyR8W1k1EW+ZXeKspfkB/DTd73WbLWVbPfv/jPW7e - zJ8S8X6v/Ppl1s43vXh3Xi3yu6Jq7o7pvbtQNlVN/c1+/7f5NYsTfUygflJeGYbFTYXBj6fTikDe - RCliaX0hkIg+oNuSSV46ISORFcu8vk3/3nuv8tmayLicXt/Un6X381fM/WTpSWbtrL6s8/Pi3SYA - u2Sz8N/dvX33/k3ovuZWUba6LOp2nZUv8pZU/9uvg8gukz2EcxNCP/ni9M0t0LmJmjx79NaimuHP - s+W0zuFxkCYigYGbA2VB7xDZW7QgrshXbT6jr9tiQZyeLVb08d7O7qfbO/e3d3fe7H76aPfg0f6n - 4917D/Y+3d/9KWo6W9cq9R+9fLMz/nTv00/vP7z/mr4h5VvnpHDoS5jIj+5PDiZ7Dz99sL0zPd/f - 3t+/9+n2w0/P97Z38ns79+7vfHrw4P4evcaowQP76NH3fjEbnWaVTYFgxCOj9jQj/DvoIe/4n9Br - 4utg6GhutBSaLtdl+f1fQv/RMPJVvpzlyym7XgREPmi+pIHRX//vcj1/kligzyEhKQjfG8B4LwhL - EufF4II8/+8a/wvo+j6ibjxflwADgH/J6P/d/ACNK8o20Pj9gbgBf10K3bor0Oz/XVQamFw3xK9L - kwHA/++Tm5/8oo+lG83XHX4MKinVX/L/AJq+3wCxDwAA + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] - Content-Length: ['1230'] + Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:18:46 GMT'] + Date: ['Tue, 10 May 2016 17:50:33 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] @@ -805,129 +728,27 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 networkmanagementclient/2015-06-15 + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/publicIPAddresses?api-version=2015-06-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | 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 + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] - Content-Length: ['5854'] + Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:18:48 GMT'] + Date: ['Tue, 10 May 2016 17:51:03 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-original-request-ids: [8c98b859-7ae0-444a-b0d0-0b8f2d56938d, c27a0380-77c5-4018-aa7c-8be5cdba5da5, - 2768e0a9-bbb9-4d9f-a8cd-d046e43cb1b7] status: {code: 200, message: OK} - request: body: null @@ -936,201 +757,27 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 networkmanagementclient/2015-06-15 + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkInterfaces?api-version=2015-06-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: body: string: !!binary | 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 + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] - Content-Length: ['9974'] + Content-Length: ['140'] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 16:18:51 GMT'] + Date: ['Tue, 10 May 2016 17:51:34 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] Vary: [Accept-Encoding] - x-ms-original-request-ids: [d0335297-a57f-4552-8bbc-993e7831f08e, ba2f26cb-faf7-4899-99fe-596c9f7e0e00, - cc398011-510c-4559-b029-527ce1a25dea] status: {code: 200, message: OK} - request: body: null @@ -1138,25 +785,1322 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 resourcemanagementclient/2015-11-01 + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 Azure-SDK-For-Python AZURECLI_0.0.32] accept-language: [en-US] - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses?api-version=2015-11-01 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 response: - body: {string: ''} + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= headers: Cache-Control: [no-cache] - Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:18:51 GMT'] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:52:04 GMT'] Expires: ['-1'] - Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] - Retry-After: ['15'] Strict-Transport-Security: [max-age=31536000; includeSubDomains] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:52:35 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:53:06 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:53:36 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:54:06 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:54:37 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:55:08 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:55:38 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:56:08 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:56:39 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:57:10 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:57:41 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:58:11 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:58:41 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:59:11 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 17:59:42 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:00:12 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:00:43 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:01:13 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:01:44 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['140'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:02:14 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387045647388923?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b + tevmo0cfvV5Pp3k+y2cf/ZL/ByCIe+QWAAAA + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['141'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:02:44 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR8Xs + o0cf3W3Wk2ZaF6u2qJbN3Z3J7vmn+w92t3cn5zvb+7NZtp3l03vb08nDvQd75zsP7z/cuVvnTbWu + p/nndbVeNXenZfEmb9pXF7//Ty6eF017tjqezahNkzd3V3V1Wczyurn7RTGtq6Y6b8ev9PXm7ixf + ldX1Il+2zd3sB+s6J1DbLcHadt9sXy62S4K6Xayaj0YfLbNFTmjfsjV1v8rrtsibjx794o/afLEq + szZ/Xizf4u91XRCoeduumkd3BYFm9nZajCdlNRlPqzofXxXLWXXVjJd5e9e8Pq+a9u5JndOvP/mF + vCYIjH+6qZbU67RatoTLT9KwiajUxe54B/999EsIo6ymEbT0FTD4/TNC7jybts3zapphCvBpe73C + GF+3dbG8IHiXWbnGBx+GKXrPZoti+TJrmquqptl3XeVTAqkdmnZfNXkt5HbtpIVDaT1ZL9s1v7Ju + 5zToQobxhtsPv7cyOODNy6wos0lRFu3167w9CxDrvhh54aa+ltUyx2uzZfMiW+TPqvrlelIW07OX + m97y3rhtB+Ut5vCK+HXdoPVNpCVOvira+faKkSWGxktV87Ro3gKpTa9WzYxaFYvsgvGSl74Ctw+/ + A+Yi3rqcz5q2qunNT6vsup7+4Pp876fnnw4wGlrf9Xob0wfS45fn53m9qb+vmHNe5/UlteNXeFaa + Of254bWTjKhNTFbKO69/r682td7dH+/sj/e3n795Le1vmsqTNY1+IW2t/A43h5A1LZqv6uKS/rC6 + 77i8DTc8vSYuKKYMAKOffmPv38QiTGwSgSiXyR8W1k1EW+ZXeKspfkB/DTd73WbLWVbPfv/jPW7e + zJ8S8X6v/Ppl1s43vXh3Xi3yu6Jq7o7pvbtQNlVN/c1+/7f5NYsTfUygflJeGYbFTYXBj6fTikDe + RCliaX0hkIg+oNuSSV46ISORFcu8vk3/3nuv8tmayLicXt/Un6X381fM/WTpSWbtrL6s8/Pi3SYA + u2Sz8N/dvX33/k3ovuZWUba6LOp2nZUv8pZU/9uvg8gukz2EcxNCP/ni9M0t0LmJmjx79NaimuHP + s+W0zuFxkCYigYGbA2VB7xDZW7R4vZ5Oc/IMZvR9WyyI1bPFij7f29n9dHvn/vbuzpvdg0c7e492 + H453H+x/ev/ewU9R09m6VrH/6OWb3U+/uH8w3r93/8Gn+/de07ekgeuctA41gJ38KN/Z2z249+nu + 9iT/9GB7f7r/cDub7Hy6vZ/lD6f5wb379B29xvjBDfvo0fd+MVueZpVNgWXELaP2NC38O4gi7/if + 0Gvi8GD8aG5UFZou12X5/V9C/9FQ8lW+nOXLKftfBEQ+aL6kwdFf/+/yP3+S+KDPJiEpCN8bwHgv + CF8S+8Xggjz/7xr/Cyj8PqJuPF+XAAOAf8no/938ALUrGjdQ+/2BuAF/XQrduivQ7P9dVBqYXDfE + r0uTAcD/75Obn/yij6Ubzdcdfgwqxl6t29WaXnj0i8kUyR8WohMi191JtaAm+V21dV9k0zn5HMTd + feiGt9zLpLlgGe+SPcfPM4pqawpW6fWf/ILm571gSKOzl47EmzzQQTA6Dv2TEBkw7j0Ar0XA7qqg + qctGhIjLHhH7l/yS/wcdTTzcIxEAAA== + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['1333'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:02:44 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: !!binary | + Z3JhbnRfdHlwZT1yZWZyZXNoX3Rva2VuJmNsaWVudF9pZD0wNGIwNzc5NS04ZGRiLTQ2MWEtYmJl + ZS0wMmY5ZTFiZjdiNDYmcmVzb3VyY2U9aHR0cHMlM0ElMkYlMkZtYW5hZ2VtZW50LmNvcmUud2lu + ZG93cy5uZXQlMkYmcmVmcmVzaF90b2tlbj1BQUFCQUFBQWlMOUtuMloyN1V1YnZXRlBibTBnTGRZ + NkpKVFNaaE4xZ29VQ0hEX3NkWDhPMk5TaVowcEJjRExCRmt6UTJnazFTZS1RbTB5dHpwajJzYXdy + eHpzOEpoUVpndXpta1NaNW5FVVhIamw3eDNMNmQ0cFRBNzgtTlZRSHZ2RDIyMHJGbU1jTHJlcWpR + WVNETFB5VDQ2TW5tUks5NmZNTk9qNVA5cjExNHAwdnJhbnlrZm9xQWNjX0dJa3ZZVHBVLUpUdzJk + YUJBaW50X1pmMUhSV0lHVmhyTm0xaUJnazQwalBuY2Q1bXJMb2c0SzdyNFlxM21GUWxxTUJCbzla + UDZ3MWt1TFFibFVqWXlwbWdfSDM1SXdNR3BUWFpjdnVBRVc0N1VTLWZOZUNrdm1JTmIwUTJnTFNM + RERGQmpHQmNNd2xZN0RRZERFRFVBcXBkUmd4SHFDZzZCNDVSSWFxTHB3dFJ0Y3RtRnFTa3ZKdGQt + NlJCSTFqQXpsZ0VPMW9zaTZaOTNKNnNXeVhjSDNXV1Ezci1sa1M1M0FGV0pHUXdNTUtTOC1HTnZm + QXF0eVluUWFydWRfcy1HSW1rdFRMZXlPMmtEN1pxSURNUGx2MW9fMHQxRHdTSEFReE54RVIxQmJr + b21WQmV3NGU0RmFvemlOZEpFS2ZzLU1LYUdRMEM4U3FRbTJvMU8tcm9aSF9KWno3clQ4SW1GTEdt + WVk4SWc4LVBWelY0dXFoUzhVZ21PeXBYYmVramFzSEpjY29EM0hEVElfdDQwemZmQUNWcVVsYVhm + cnljVzZ0MjljNEFCWWRybEJTODRmVWtQTUtWd0xLUVJSSEphQ3ZiUFlfOTBRT2xHXzBIQU5xQjh1 + TllXVzhOZnQyNXl1M25iaHNvZzI1aXYydHAxakZxdzFlbVd0SG5sV3hTZEJib0ZZVk5hVVpMS2hq + c1piNkJXbGw2cl80eDlEdXRaU0FB + headers: + Accept: ['*/*'] + Accept-Charset: [utf-8] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['876'] + User-Agent: [python-requests/2.9.1] + content-type: [application/x-www-form-urlencoded] + return-client-request-id: ['true'] + x-client-CPU: [x86] + x-client-OS: [win32] + x-client-SKU: [Python] + x-client-Ver: [0.2.0] + method: POST + uri: https://login.microsoftonline.com/54826b22-38d6-4fb2-bad9-b7b93a3e9c5a/oauth2/token?api-version=1.0 + response: + body: {string: '{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1462908434","not_before":"1462904534","resource":"https://management.core.windows.net/","access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDYyOTA0NTM0LCJuYmYiOjE0NjI5MDQ1MzQsImV4cCI6MTQ2MjkwODQzNCwiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2Il0sImlwYWRkciI6IjE2Ny4yMjAuMS4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.jYzsA0FdWK6hp3jYIgjvB7lWnJuNHDWwBO-pt49fN7Ybe66iyM5ciiRuWqlSbM0vUOrVJjQfuGtgbCT_w9YVVLM2INuMnt9j74qpssNzGz0S8tlrUMuD-fYDXPIyM9yWdT25XM9i1VrdsDKrmSWn7ST7qx42cwHQBuRLTFUxUjF_ufw9GX7gxRsacnw03_spiUredmzeYpL9hGbQIJgF4C5HUg7t8AxJuwqbVOY-9x45zlOkYck44y0JceWWYPVBnmgXxCk0FkuqPe3okJr6kaqHhIuBw1dTImcdm4Yn69jTeUJoKiaA6xdRdahjYFOg9y0s8dunLTceufxFn-j1iQ","refresh_token":"AAABAAAAiL9Kn2Z27UubvWFPbm0gLRgYcCqwplpsw_IelFGra2Zbc8l1fJ3L48U0NId1008SPn0hWU9urLx46WloxWkb9Ve7HnCj0Wubdlo-GUgwXSVT9nMz0XEq_rDElpkXJ68SEqZ2xQFD8icjJVTceVYTNgvZBj0J9urOVAPWMSd0bEjH5qdVJZs10uJgyBTTaQ063NRb3cCfVzGedaki_ZDgDR-Utgm1snL07La-jo4mk6hulI1kIyK80lxp9CoLlQhAlwuqBAOKrCOggjcBnQfzJARszKhiYeteEuqjlSBFYfq2eV4dFb3-iF0ISlr7vHZVmUt9pVowRmK2qZbtlZg7_-LJ4QQQ8FPyft9BlGeg5jzsxvqpB0ZcOMYHfG3VFpF7N5zmVW9y-IhSlzy55HI8XoVRuqg3f9hDfSEA2xEZoNe9R1lUCkleErCuG4dPdFGIs3tI4bW5YHmCnaqDcEMJ0OCVPetGaYHKGgM0byVYSFoBZTs519jbiAkbnYj5hBf_H_Hr31oV-folyYL96wFZy7i1NIWyJLhlp2AMVQWSQQPX3aVmhxwkCbUTS9TgpsVrZ0lkKA_fIXaTT6uMHlHvRLbTnkcPAOPUuREhdfZcRIfRQsVxcWqTkbqpox335gZDGImW1MDBH5Jzm4ziAfgO3WopoW7OlYxprU4QrqDG4jLVSEXAxoguh2x3KjyFG-c7-q_x7ZimqRJeuqEfW5ErxyAA"}'} + headers: + Cache-Control: ['no-cache, no-store'] + Content-Length: ['2410'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:27:13 GMT'] + Expires: ['-1'] + P3P: [CP="DSP CUR OTPi IND OTRi ONL FIN"] + Pragma: [no-cache] + Server: [Microsoft-IIS/8.5] + Set-Cookie: [flight-uxoptin=true; path=/; secure; HttpOnly, esctx=AAABAAAAiL9Kn2Z27UubvWFPbm0gLQTchK2rUI7IwjTDM_4db2U6lF-TZOvQSJnGvXHfsOQ54XVk3lriUIC1WTS2Sun1If3dOUT6EaKq8cVCOr2BySNlpy7dd4iyYE5vc85wMUd6mrjgy2f5RSBnTUsigc5ZU5iWgm9_Ie3-vGcDciIWOyJs8AeaXR0xeR0Zruh54G-MIAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly, x-ms-gateway-slice=productiona; + path=/; secure; HttpOnly, stsservicecookie=ests; path=/; secure; HttpOnly] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + X-Content-Type-Options: [nosniff] + X-Powered-By: [ASP.NET] + status: {code: 200, message: OK} +- request: + body: !!binary | + eyJwcm9wZXJ0aWVzIjogeyJtb2RlIjogIkluY3JlbWVudGFsIiwgInRlbXBsYXRlTGluayI6IHsi + dXJpIjogImh0dHBzOi8vYXp1cmVzZGtjaS5ibG9iLmNvcmUud2luZG93cy5uZXQvdGVtcGxhdGVo + b3N0L0NyZWF0ZVZNL2F6dXJlZGVwbG95Lmpzb24ifSwgInBhcmFtZXRlcnMiOiB7ImF2YWlsYWJp + bGl0eVNldFR5cGUiOiB7InZhbHVlIjogIm5vbmUifSwgIl9hcnRpZmFjdHNMb2NhdGlvbiI6IHsi + dmFsdWUiOiAiaHR0cHM6Ly9henVyZXNka2NpLmJsb2IuY29yZS53aW5kb3dzLm5ldC90ZW1wbGF0 + ZWhvc3QvQ3JlYXRlVk0ifSwgImF1dGhlbnRpY2F0aW9uVHlwZSI6IHsidmFsdWUiOiAicGFzc3dv + cmQifSwgInByaXZhdGVJcEFkZHJlc3NBbGxvY2F0aW9uIjogeyJ2YWx1ZSI6ICJEeW5hbWljIn0s + ICJvc1R5cGUiOiB7InZhbHVlIjogIkN1c3RvbSJ9LCAiYWRtaW5QYXNzd29yZCI6IHsidmFsdWUi + OiAidGVzdFBhc3N3b3JkMCJ9LCAicHVibGljSXBBZGRyZXNzQWxsb2NhdGlvbiI6IHsidmFsdWUi + OiAiRHluYW1pYyJ9LCAidmlydHVhbE5ldHdvcmtUeXBlIjogeyJ2YWx1ZSI6ICJuZXcifSwgImRu + c05hbWVUeXBlIjogeyJ2YWx1ZSI6ICJub25lIn0sICJsb2NhdGlvbiI6IHsidmFsdWUiOiAid2Vz + dHVzIn0sICJvc1ZlcnNpb24iOiB7InZhbHVlIjogImxhdGVzdCJ9LCAib3NEaXNrTmFtZSI6IHsi + dmFsdWUiOiAib3NkaXNraW1hZ2UifSwgInZpcnR1YWxOZXR3b3JrSXBBZGRyZXNzUHJlZml4Ijog + eyJ2YWx1ZSI6ICIxMC4wLjAuMC8xNiJ9LCAicHVibGljSXBBZGRyZXNzVHlwZSI6IHsidmFsdWUi + OiAibmV3In0sICJhZG1pblVzZXJuYW1lIjogeyJ2YWx1ZSI6ICJ1YnVudHUifSwgIm9zU0tVIjog + eyJ2YWx1ZSI6ICIxNC4wNC40LUxUUyJ9LCAic3RvcmFnZUFjY291bnRUeXBlIjogeyJ2YWx1ZSI6 + ICJuZXcifSwgIm9zT2ZmZXIiOiB7InZhbHVlIjogIlVidW50dVNlcnZlciJ9LCAib3NQdWJsaXNo + ZXIiOiB7InZhbHVlIjogIkNhbm9uaWNhbCJ9LCAic3VibmV0SXBBZGRyZXNzUHJlZml4IjogeyJ2 + YWx1ZSI6ICIxMC4wLjAuMC8yNCJ9LCAic2l6ZSI6IHsidmFsdWUiOiAiU3RhbmRhcmRfQTIifSwg + Im5hbWUiOiB7InZhbHVlIjogInZtLXdpdGgtcHVibGljLWlwIn0sICJzdG9yYWdlUmVkdW5kYW5j + eVR5cGUiOiB7InZhbHVlIjogIlN0YW5kYXJkX0xSUyJ9LCAic3RvcmFnZUNvbnRhaW5lck5hbWUi + OiB7InZhbHVlIjogInZoZHMifX19fQ== + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['1219'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR8Xs + o0cf3W3Wk2ZaF6u2qJbN3Z3J7vmn+w92t3cn5zvb+7NZtp3l03vb08nDvQd75zsP7z/cuVvnTbWu + p/nndbVeNXenZfEmb9pXF7//Ty6eF017tjqezahNkzd3V3V1Wczyurn7RTGtq6Y6b8ev9PXm7ixf + ldX1Il+2zd3sB+s6J1DbLcHadt9sXy62S4K6Xayaj0YfLbNFTmjfsjV1v8rrtsibjx794o/afLEq + szZ/Xizf4u91XRCoeduumkd3BYFm9nZajCdlNRlPqzofXxXLWXXVjJd5e9e8Pq+a9u5JndOvP/mF + vCYIjH+6qZbU67RatoTLT9KwiajUxe54B/999EsIo6ymEbT0FTD4/TNC7jybts3zapphCvBpe73C + GF+3dbG8IHiXWbnGBx+GKXrPZoti+TJrmquqptl3XeVTAqkdmnZfNXkt5HbtpIVDaT1ZL9s1v7Ju + 5zToQobxhtsPv7cyOODNy6wos0lRFu3167w9CxDrvhh54aa+ltUyx2uzZfMiW+TPqvrlelIW07OX + m97y3rhtB+Ut5vCK+HXdoPVNpCVOvira+faKkSWGxktV87Ro3gKpTa9WzYxaFYvsgvGSl74Ctw+/ + A+Yi3rqcz5q2qunNT6vsup7+4Pp876fnnw4wGlrf9Xob0wfS45fn53m9qb+vmHNe5/UlteNXeFaa + Of254bWTjKhNTFbKO69/r682td7dH+/sj/e3n795Le1vmsqTNY1+IW2t/A43h5A1LZqv6uKS/rC6 + 77i8DTc8vSYuKKYMAKOffmPv38QiTGwSgSiXyR8W1k1EW+ZXeKspfkB/DTd73WbLWVbPfv/jPW7e + zJ8S8X6v/Ppl1s43vXh3Xi3yu6Jq7o7pvbtQNlVN/c1+/7f5NYsTfUygflJeGYbFTYXBj6fTikDe + RCliaX0hkIg+oNuSSV46ISORFcu8vk3/3nuv8tmayLicXt/Un6X381fM/WTpSWbtrL6s8/Pi3SYA + u2Sz8N/dvX33/k3ovuZWUba6LOp2nZUv8pZU/9uvg8gukz2EcxNCP/ni9M0t0LmJmjx79NaimuHP + s+W0zuFxkCYigYGbA2VB7xDZW7QgrshXbT6jr9tiQZyeLVb08d7O7qfbO/e3d3fe7B482nvwaPf+ + +N7OvXt79z79KWo6W9cq9R+9fLMz3tvZ+3Tn4YPX9A0p3zonhUNfwkR+9ODTbHdy/+Gn2w8mD+5v + 7z84f7A9mc72tz/NZgf79+5N7k8mD+g1Rg0e2EePvveL2eg0q2wKBCMeGbWnGeHfQQ95x/+EXhNf + B0NHc6Ol0HS5Lsvv/xL6j4aRr/LlLF9O2fUiIPJB8yUNjP76f5fr+ZPEAn0OCUlB+N4AxntBWJI4 + LwYX5Pl/1/hfQNf3EXXj+boEGAD8S0b/7+YHaFxRtoHG7w/EDfjrUujWXYFm/++i0sDkuiF+XZoM + AP5/n9z85Bd9LN1ovu7wY1BJqf6S/wdGOchysQ8AAA== + headers: + Azure-AsyncOperation: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips/operationStatuses/08587387020503770680?api-version=2015-11-01'] + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['1228'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:27:14 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 vmcreationclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses/providers/Microsoft.Resources/deployments/azurecli-test-deployment-vm-list-ips?api-version=2015-11-01 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR8Xs + o0cf3W3Wk2ZaF6u2qJbN3Z3J7vmn+w92t3cn5zvb+7NZtp3l03vb08nDvQd75zsP7z/cuVvnTbWu + p/nndbVeNXenZfEmb9pXF7//Ty6eF017tjqezahNkzd3V3V1Wczyurn7RTGtq6Y6b8ev9PXm7ixf + ldX1Il+2zd3sB+s6J1DbLcHadt9sXy62S4K6Xayaj0YfLbNFTmjfsjV1v8rrtsibjx794o/afLEq + szZ/Xizf4u91XRCoeduumkd3BYFm9nZajCdlNRlPqzofXxXLWXXVjJd5e9e8Pq+a9u5JndOvP/mF + vCYIjH+6qZbU67RatoTLT9KwiajUxe54B/999EsIo6ymEbT0FTD4/TNC7jybts3zapphCvBpe73C + GF+3dbG8IHiXWbnGBx+GKXrPZoti+TJrmquqptl3XeVTAqkdmnZfNXkt5HbtpIVDaT1ZL9s1v7Ju + 5zToQobxhtsPv7cyOODNy6wos0lRFu3167w9CxDrvhh54aa+ltUyx2uzZfMiW+TPqvrlelIW07OX + m97y3rhtB+Ut5vCK+HXdoPVNpCVOvira+faKkSWGxktV87Ro3gKpTa9WzYxaFYvsgvGSl74Ctw+/ + A+Yi3rqcz5q2qunNT6vsup7+4Pp876fnnw4wGlrf9Xob0wfS45fn53m9qb+vmHNe5/UlteNXeFaa + Of254bWTjKhNTFbKO69/r682td7dH+/sj/e3n795Le1vmsqTNY1+IW2t/A43h5A1LZqv6uKS/rC6 + 77i8DTc8vSYuKKYMAKOffmPv38QiTGwSgSiXyR8W1k1EW+ZXeKspfkB/DTd73WbLWVbPfv/jPW7e + zJ8S8X6v/Ppl1s43vXh3Xi3yu6Jq7o7pvbtQNlVN/c1+/7f5NYsTfUygflJeGYbFTYXBj6fTikDe + RCliaX0hkIg+oNuSSV46ISORFcu8vk3/3nuv8tmayLicXt/Un6X381fM/WTpSWbtrL6s8/Pi3SYA + u2Sz8N/dvX33/k3ovuZWUba6LOp2nZUv8pZU/9uvg8gukz2EcxNCP/ni9M0t0LmJmjx79NaimuHP + s+W0zuFxkCYigYGbA2VB7xDZW7QgrshXbT6jr9tiQZyeLVb08d7O7qfbO/e3d3fe7B482nvwaPf+ + +N7OvXt79z79KWo6W9cq9R+9fLMz3tvZ+3Tn4YPX9A0p3zonhUNfwkR+9ODTbHdy/+Gn2w8mD+5v + 7z84f7A9mc72tz/NZgf79+5N7k8mD+g1Rg0e2EePvveL2eg0q2wKBCMeGbWnGeHfQQ95x/+EXhNf + B0NHc6Ol0HS5Lsvv/xL6j4aRr/LlLF9O2fUiIPJB8yUNjP76f5fr+ZPEAn0OCUlB+N4AxntBWJI4 + LwYX5Pl/1/hfQNf3EXXj+boEGAD8S0b/7+YHaFxRtoHG7w/EDfjrUujWXYFm/++i0sDkuiF+XZoM + AP5/n9z85Bd9LN1ovu7wY1BJqf6S/wdGOchysQ8AAA== + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['1228'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:27:15 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 networkmanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/publicIPAddresses?api-version=2015-06-15 + response: + body: + string: !!binary | + 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 + /wCfp29SVHIAAA== + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['5995'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:27:16 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + x-ms-original-request-ids: [865e5d66-e928-4b47-89dc-2a43cd36b3d0, deb050f7-3dec-4960-acdd-141acefc9e7d, + cf12b181-e3e5-4ebd-ae13-e67e638027f3] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 networkmanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkInterfaces?api-version=2015-06-15 + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Length: ['10179'] + Content-Type: [application/json; charset=utf-8] + Date: ['Tue, 10 May 2016 18:27:18 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + x-ms-original-request-ids: [345ed5d3-4520-4c67-b1bb-4f91a33ecbb8, a1c41c2e-af52-41e9-bef4-bf89613fcccf, + 8069d0ce-b562-4298-85cd-4eebae08dc05] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 resourcemanagementclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cliTestRg_VmListIpAddresses?api-version=2015-11-01 + response: + body: {string: ''} + headers: + Cache-Control: [no-cache] + Content-Length: ['0'] + Date: ['Tue, 10 May 2016 18:27:19 GMT'] + Expires: ['-1'] + Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] + Pragma: [no-cache] + Retry-After: ['15'] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 resourcemanagementclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01 + response: + body: {string: ''} + headers: + Cache-Control: [no-cache] + Content-Length: ['0'] + Date: ['Tue, 10 May 2016 18:27:34 GMT'] + Expires: ['-1'] + Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] + Pragma: [no-cache] + Retry-After: ['15'] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 resourcemanagementclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01 + response: + body: {string: ''} + headers: + Cache-Control: [no-cache] + Content-Length: ['0'] + Date: ['Tue, 10 May 2016 18:27:49 GMT'] + Expires: ['-1'] + Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] + Pragma: [no-cache] + Retry-After: ['15'] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 resourcemanagementclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01 + response: + body: {string: ''} + headers: + Cache-Control: [no-cache] + Content-Length: ['0'] + Date: ['Tue, 10 May 2016 18:28:04 GMT'] + Expires: ['-1'] + Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] + Pragma: [no-cache] + Retry-After: ['15'] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.2.0 msrest_azure/0.2.1 resourcemanagementclient/2015-11-01 + Azure-SDK-For-Python AZURECLI_0.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01 + response: + body: {string: ''} + headers: + Cache-Control: [no-cache] + Content-Length: ['0'] + Date: ['Tue, 10 May 2016 18:28:20 GMT'] + Expires: ['-1'] + Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] + Pragma: [no-cache] + Retry-After: ['15'] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] status: {code: 202, message: Accepted} - request: body: null @@ -1175,7 +2119,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:19:07 GMT'] + Date: ['Tue, 10 May 2016 18:28:35 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1199,7 +2143,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:19:22 GMT'] + Date: ['Tue, 10 May 2016 18:28:51 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1223,7 +2167,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:19:37 GMT'] + Date: ['Tue, 10 May 2016 18:29:06 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1247,7 +2191,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:19:52 GMT'] + Date: ['Tue, 10 May 2016 18:29:22 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1271,7 +2215,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:20:07 GMT'] + Date: ['Tue, 10 May 2016 18:29:38 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1295,7 +2239,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:20:23 GMT'] + Date: ['Tue, 10 May 2016 18:29:53 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1319,7 +2263,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:20:38 GMT'] + Date: ['Tue, 10 May 2016 18:30:09 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1343,7 +2287,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:20:53 GMT'] + Date: ['Tue, 10 May 2016 18:30:25 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1367,7 +2311,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:21:10 GMT'] + Date: ['Tue, 10 May 2016 18:30:40 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1391,7 +2335,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:21:24 GMT'] + Date: ['Tue, 10 May 2016 18:30:54 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1415,7 +2359,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:21:40 GMT'] + Date: ['Tue, 10 May 2016 18:31:10 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1439,7 +2383,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:21:56 GMT'] + Date: ['Tue, 10 May 2016 18:31:25 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1463,7 +2407,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:22:11 GMT'] + Date: ['Tue, 10 May 2016 18:31:41 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1487,7 +2431,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:22:26 GMT'] + Date: ['Tue, 10 May 2016 18:31:56 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1511,7 +2455,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:22:42 GMT'] + Date: ['Tue, 10 May 2016 18:32:12 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1535,7 +2479,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:22:57 GMT'] + Date: ['Tue, 10 May 2016 18:32:26 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1559,7 +2503,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:23:13 GMT'] + Date: ['Tue, 10 May 2016 18:32:42 GMT'] Expires: ['-1'] Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01'] Pragma: [no-cache] @@ -1583,7 +2527,7 @@ interactions: headers: Cache-Control: [no-cache] Content-Length: ['0'] - Date: ['Tue, 10 May 2016 16:23:28 GMT'] + Date: ['Tue, 10 May 2016 18:32:57 GMT'] Expires: ['-1'] Pragma: [no-cache] Strict-Transport-Security: [max-age=31536000; includeSubDomains] diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_usage_list_westus.yaml b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_usage_list_westus.yaml index ace210e98fe..0d787b96373 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_usage_list_westus.yaml +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/test_vm_usage_list_westus.yaml @@ -17,16 +17,16 @@ interactions: H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/tuW/KYsGv7O3s7LhPl9kC - 7Sxg+sj0+VF2mRVlNinKor1+nbeN64ZaldU0K4sf5DPT1UfHXvOU25vmv0R++SX6vu3stqPY33Vf - mWHs3nYU06rOb0L9TdVmZfoqvyiqJf1ywq+YNz4U+7177isP+9vif1nU7Torv8im82JJaNm3qFF/ - JD8prVPb3LT+0FF42JpB3Pc+u/0IXhPKObOHfZsa3ziSlN/7ZvnqQ9iqabPlLKtnT59li6K8dp1Q - o/5gXmvr9Gkq7b9hHrt34L762kM53vn9jx8Ieq4narhhOMc728cPfnaGFFFdtx7RJGuK6bGg5Xqg - Fv2hPEHT9HjzGPDj+79x8kv+HyO/bWWVBQAA + 7Sxg+sj0+VF2mRVlNinKor1+nbeN64ZaldU0K4sf5DPT1UfHXvOU25vmv0R++SX6vu3stqPYv+e+ + MsPYve0oplWd34T6m6rNyvRVflFUS/rlhF8xb3wo9nv77isP+9vif1nU7Torv8im82JJaNm3qFF/ + JD8prVPb3LT+0FF42JpB3Pc+u/0IXhPKObOHfZsa3ziSlN/7Zvlq131jxkQT4z7cNKimzZazrJ49 + fZYtivLadUKN+oN5ra3Tp6m0/4Z5bN/D+msP5Xjn9z9+IOi5nqjhhuEc72wfP/jZGVJEdd16RJOs + KabHgpbrgVr0h/IETdPjzWPAj+//xskv+X8AlW6HPZUFAAA= headers: Cache-Control: [no-cache] Content-Encoding: [gzip] Content-Type: [application/json; charset=utf-8] - Date: ['Tue, 10 May 2016 15:50:29 GMT'] + Date: ['Tue, 10 May 2016 18:33:29 GMT'] Expires: ['-1'] Pragma: [no-cache] Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] From 122ef11b85662f8f935c0d06ac350845726d8a7f Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Tue, 10 May 2016 12:21:06 -0700 Subject: [PATCH 25/27] Move help entry to dedicated file. --- .../azure/cli/command_modules/vm/_help.py | 37 +++++++++++++++++++ .../azure/cli/command_modules/vm/generated.py | 1 + .../vm/mgmt/lib/operations/vm_operations.py | 36 ------------------ 3 files changed, 38 insertions(+), 36 deletions(-) create mode 100644 src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_help.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_help.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_help.py new file mode 100644 index 00000000000..643ba78ffb6 --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_help.py @@ -0,0 +1,37 @@ +from azure.cli._help_files import helps + +helps['vm create'] = """ + type: command + short-summary: Create an Azure Virtual Machine + long-summary: See https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-quick-create-cli/ for an end-to-end tutorial + parameters: + - name: --image + type: string + short-summary: OS image (Common, URN or URI). + long-summary: | + Common OS types: Win2012R2Datacenter, Win2012Datacenter, Win2008SP1. For other values please run 'az vm image list' + Example URN: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest + Example URI: http://.blob.core.windows.net/vhds/osdiskimage.vhd + populator-commands: + - az vm image list + - az vm image show + - name: --ssh-key-value + short-summary: SSH key file value or key file path. + examples: + - name: Create a simple Windows Server VM with private IP address + text: > + az vm create --image Win2012R2Datacenter --admin-username myadmin --admin-password Admin_001 + -l "West US" -g myvms --name myvm001 + - name: Create a simple Windows Server VM with public IP address and DNS entry + text: > + az vm create --image Win2012R2Datacenter --admin-username myadmin --admin-password Admin_001 + -l "West US" -g myvms --name myvm001 --public-ip-address-type new --dns-name-for-public-ip myGloballyUniqueVmDnsName + - name: Create a Linux VM with SSH key authentication, add a public DNS entry and add to an existing Virtual Network and Availability Set. + text: > + az vm create --image + --admin-username myadmin --admin-password Admin_001 --authentication-type sshkey + --virtual-network-type existing --virtual-network-name myvnet --subnet-name default + --availability-set-type existing --availability-set-id myavailset + --public-ip-address-type new --dns-name-for-public-ip myGloballyUniqueVmDnsName + -l "West US" -g myvms --name myvm18o --ssh-key-value "" + """ diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index f8a08e15796..387106a40f7 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -20,6 +20,7 @@ from ._params import (PARAMETER_ALIASES, VM_CREATE_EXTRA_PARAMETERS, VM_CREATE_PARAMETER_ALIASES, VM_PATCH_EXTRA_PARAMETERS) from ._factory import _compute_client_factory +from ._help import helps from .custom import ConvenienceVmCommands command_table = CommandTable() diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/operations/vm_operations.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/operations/vm_operations.py index 9a046ef87c9..a58991ad96d 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/operations/vm_operations.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/operations/vm_operations.py @@ -11,7 +11,6 @@ from msrestazure.azure_operation import AzureOperationPoller import uuid -from azure.cli._help_files import helps from .. import models class VMOperations(object): @@ -31,41 +30,6 @@ def __init__(self, client, config, serializer, deserializer): self.config = config - helps['vm create'] = """ - type: command - short-summary: Create an Azure Virtual Machine - long-summary: See https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-quick-create-cli/ for an end-to-end tutorial - parameters: - - name: --image - type: string - short-summary: OS image (Common, URN or URI). - long-summary: | - Common OS types: Win2012R2Datacenter, Win2012Datacenter, Win2008SP1. For other values please run 'az vm image list' - Example URN: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest - Example URI: http://.blob.core.windows.net/vhds/osdiskimage.vhd - populator-commands: - - az vm image list - - az vm image show - - name: --ssh-key-value - short-summary: SSH key file value or key file path. - examples: - - name: Create a simple Windows Server VM with private IP address - text: > - az vm create --image Win2012R2Datacenter --admin-username myadmin --admin-password Admin_001 - -l "West US" -g myvms --name myvm001 - - name: Create a simple Windows Server VM with public IP address and DNS entry - text: > - az vm create --image Win2012R2Datacenter --admin-username myadmin --admin-password Admin_001 - -l "West US" -g myvms --name myvm001 --public-ip-address-type new --dns-name-for-public-ip myGloballyUniqueVmDnsName - - name: Create a Linux VM with SSH key authentication, add a public DNS entry and add to an existing Virtual Network and Availability Set. - text: > - az vm create --image - --admin-username myadmin --admin-password Admin_001 --authentication-type sshkey - --virtual-network-type existing --virtual-network-name myvnet --subnet-name default - --availability-set-type existing --availability-set-id myavailset - --public-ip-address-type new --dns-name-for-public-ip myGloballyUniqueVmDnsName - -l "West US" -g myvms --name myvm18o --ssh-key-value "" - """ def create_or_update( self, resource_group_name, deployment_name, name, admin_username, content_version=None, storage_container_name="vhds", virtual_network_name=None, subnet_ip_address_prefix="10.0.0.0/24", private_ip_address_allocation="Dynamic", dns_name_for_public_ip=None, storage_account_type="new", os_disk_uri=None, virtual_network_type="new", admin_password=None, os_sku="2012-R2-Datacenter", subnet_name=None, os_type="Win2012R2Datacenter", os_version="latest", os_disk_name="osdiskimage", ssh_dest_key_path=None, os_offer="WindowsServer", public_ip_address_allocation="Dynamic", authentication_type="password", storage_account_name=None, storage_redundancy_type="Standard_LRS", size="Standard_A2", public_ip_address_type="none", virtual_network_ip_address_prefix="10.0.0.0/16", availability_set_id=None, ssh_key_value=None, location=None, os_publisher="MicrosoftWindowsServer", availability_set_type="none", public_ip_address_name=None, dns_name_type="none", custom_headers={}, raw=False, **operation_config): """ From f91b517912528f4d16e9910d9ef669b831a61d0d Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Tue, 10 May 2016 12:22:01 -0700 Subject: [PATCH 26/27] PYLINT! --- .../azure-cli-vm/azure/cli/command_modules/vm/generated.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index 387106a40f7..f8a08e15796 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -20,7 +20,6 @@ from ._params import (PARAMETER_ALIASES, VM_CREATE_EXTRA_PARAMETERS, VM_CREATE_PARAMETER_ALIASES, VM_PATCH_EXTRA_PARAMETERS) from ._factory import _compute_client_factory -from ._help import helps from .custom import ConvenienceVmCommands command_table = CommandTable() From dae6b5b62c6401f9cad769b85a5026c0c1efb38d Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Tue, 10 May 2016 12:27:46 -0700 Subject: [PATCH 27/27] Eliminate duplicate test statement. --- .../azure/cli/command_modules/vm/tests/command_specs.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/command_specs.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/command_specs.py index f2c1c755593..3679bcfc0a0 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/command_specs.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/command_specs.py @@ -50,12 +50,6 @@ def test_body(self): '--admin-password', 'testPassword0', '--deployment-name', self.deployment_name, '--public-ip-address-allocation', self.ip_allocation_method, '--public-ip-address-type', 'new']) - self.run(['vm', 'create', '-g', self.resource_group, '-l', self.location, - '-n', self.vm_name, '--admin-username', 'ubuntu', - '--image', 'Canonical:UbuntuServer:14.04.4-LTS:latest', - '--admin-password', 'testPassword0', '--deployment-name', self.deployment_name, - '--public-ip-address-allocation', self.ip_allocation_method, - '--public-ip-address-type', 'new']) # Expecting the one we just added self.test('vm list-ip-addresses --resource-group {}'.format(self.resource_group), [