diff --git a/azure-cli.pyproj b/azure-cli.pyproj
index 1631938cdb4..dfacbea8381 100644
--- a/azure-cli.pyproj
+++ b/azure-cli.pyproj
@@ -39,8 +39,20 @@
+
+ Code
+
+
+
+
+
+ Code
+
+
+ Code
+
@@ -62,6 +74,18 @@
Code
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
@@ -70,8 +94,20 @@
Code
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
@@ -82,7 +118,6 @@
-
@@ -139,10 +174,6 @@
-
-
-
-
@@ -167,6 +198,10 @@
+
+ Code
+
+
Code
diff --git a/src/azure/cli/commands/__init__.py b/src/azure/cli/commands/__init__.py
index ceb0ad09942..99af12c819f 100644
--- a/src/azure/cli/commands/__init__.py
+++ b/src/azure/cli/commands/__init__.py
@@ -20,49 +20,46 @@
logger.info('Installed command modules %s', INSTALLED_COMMAND_MODULES)
-RESOURCE_GROUP_ARG_NAME = 'resource_group_name'
-
COMMON_PARAMETERS = {
'deployment_name': {
'name': '--deployment-name',
'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
},
}
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 4aa1214b46f..c773ec0c9f7 100644
--- a/src/azure/cli/commands/_auto_command.py
+++ b/src/azure/cli/commands/_auto_command.py
@@ -8,9 +8,9 @@
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
+class CommandDefinition(object): #pylint: disable=too-few-public-methods
def __init__(self, operation, return_type, command_alias=None):
self.operation = operation
@@ -35,13 +35,15 @@ def _get_member(obj, path):
pass
return obj
-def _make_func(client_factory, member_path, return_type_or_func, unbound_func):
- def call_client(args):
- client = client_factory(args)
+def _make_func(client_factory, member_path, return_type_or_func, unbound_func, extra_parameters):
+ def call_client(kwargs):
+ client = client_factory(**kwargs)
+ for param in extra_parameters.keys() if extra_parameters else []:
+ 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):
@@ -59,32 +61,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
@@ -99,7 +102,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:
@@ -152,8 +155,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/azure/cli/tests/test_autocommand.py b/src/azure/cli/tests/test_autocommand.py
index ae740cf3ed5..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
@@ -99,19 +99,19 @@ 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,
[
- 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/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 5892bcc0892..ba84363fa1a 100644
--- a/src/azure/cli/utils/command_test_script.py
+++ b/src/azure/cli/utils/command_test_script.py
@@ -9,6 +9,7 @@
from azure.cli.main import main as cli
from azure.cli.parser import IncorrectUsageError
+from azure.cli._util import CLIError
class JMESPathComparatorAssertionError(AssertionError):
@@ -34,12 +35,31 @@ def compare(self, json_data):
if not actual_result == self.expected_result:
raise JMESPathComparatorAssertionError(self, actual_result, json_data)
+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
@@ -71,6 +91,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()
command_list = command if isinstance(command, list) else command.split()
@@ -84,6 +106,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()
command_list = command if isinstance(command, list) else command.split()
cli(command_list, file=output)
@@ -95,45 +119,44 @@ 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]
-
+ if self.debug:
+ print('TESTING: {}'.format(command))
output = StringIO()
command_list = command if isinstance(command, list) else command.split()
command_list += ['-o', 'json']
cli(command_list, file=output)
result = output.getvalue().strip()
self._raw.write(result)
- if isinstance(checks, list) and all(
- isinstance(comparator, JMESPathComparator) for comparator in checks):
- for comparator in checks:
- comparator.compare(result)
- elif isinstance(checks, JMESPathComparator):
- checks.compare(result)
- elif 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, list) and all(
+ isinstance(comparator, JMESPathComparator) for comparator in checks):
+ for comparator in checks:
+ comparator.compare(result)
+ elif isinstance(checks, JMESPathComparator):
+ checks.compare(result)
+ elif 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)
+ assert _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)))
+ except AssertionError:
+ raise CLIError('COMMAND {} FAILED. Result: {} Checks: {}'.format(
+ command, result, checks))
def set_env(self, key, val): #pylint: disable=no-self-use
os.environ[key] = val
def pop_env(self, key): #pylint: disable=no-self-use
return os.environ.pop(key, None)
- def print_(self, string):
+ def display(self, string):
''' Write free text to the display output only. This text will not be included in the
raw saved output and using this command does not flag a test as requiring manual
verification. '''
diff --git a/src/azure/cli/utils/command_test_util.py b/src/azure/cli/utils/command_test_util.py
index ca3b6008aaa..3ace687c47b 100644
--- a/src/azure/cli/utils/command_test_util.py
+++ b/src/azure/cli/utils/command_test_util.py
@@ -16,6 +16,7 @@
import vcr
from azure.cli.main import main as cli
+from azure.cli._util import CLIError
class CommandTestGenerator(object):
@@ -178,7 +179,7 @@ def test(self):
_test_impl(self, test_name, expected, recording_dir)
else:
# yaml file failed to delete or bug exists
- raise RuntimeError('Unable to generate test for {} due to inconsistent data. ' \
+ raise CLIError('Unable to generate test for {} due to inconsistent data. ' \
+ 'Please manually remove the associated .yaml cassette and/or the test\'s ' \
+ 'entry in expected_results.res and try again.')
return test
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 3b140ed80e4..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,154 +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
-from azure.cli._util import CLIError
-
-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 CLIError('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 CLIError('{} environment variable not set.'
- .format(PRIVATE_PYPI_URL_ENV_NAME))
- if not PRIVATE_PYPI_HOST:
- raise CLIError('{} 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 CLIError('{} environment variable not set.'
- .format(PRIVATE_PYPI_URL_ENV_NAME))
- if not PRIVATE_PYPI_HOST:
- raise CLIError('{} 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 CLIError(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 CLIError(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..f60915ae2d0
--- /dev/null
+++ b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/custom.py
@@ -0,0 +1,142 @@
+# 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._help_files import helps
+from azure.cli.utils.update_checker import check_for_component_update
+from azure.cli._util import CLIError
+
+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 CLIError("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 CLIError('{} environment variable not set.'
+ .format(PRIVATE_PYPI_URL_ENV_NAME))
+ if not PRIVATE_PYPI_HOST:
+ raise CLIError('{} 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
+
+ helps['component list'] = """
+ short-summary: List the installed components
+ """
+ def list(self):
+ 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.
+ """
+ def install(self, component_name, link, private=False, version=None):
+ _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.
+ """
+ def update(self, component_name, link, private=False):
+ _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):
+ pkg_index_options = []
+ if private:
+ if not PRIVATE_PYPI_URL:
+ raise CLIError('{} environment variable not set.'
+ .format(PRIVATE_PYPI_URL_ENV_NAME))
+ if not PRIVATE_PYPI_HOST:
+ raise CLIError('{} 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)
+
+ helps['component update-all'] = """
+ short-summary: Update all components
+ """
+ def update_all(self, link, private=False):
+ 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.
+ """
+ def check_component(self, component_name, private=False):
+ found = bool([dist for dist in pip.get_installed_distributions(local_only=True)
+ if dist.key == COMPONENT_PREFIX + component_name])
+ if not found:
+ raise CLIError(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
+
+ helps['component remove'] = """
+ short-summary: Remove a component
+ parameters:
+ - name: --name -n
+ short-summary: The component name to remove.
+ """
+ def remove(self, component_name, force=False):
+ 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 CLIError(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..28b900342ca
--- /dev/null
+++ b/src/command_modules/azure-cli-component/azure/cli/command_modules/component/generated.py
@@ -0,0 +1,28 @@
+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)
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..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,389 +1,2 @@
-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 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)
+# pylint: disable=unused-import
+from .generated import 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..47b0d9edb84
--- /dev/null
+++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/_params.py
@@ -0,0 +1,54 @@
+from azure.mgmt.network import NetworkManagementClient, NetworkManagementClientConfiguration
+
+from azure.cli.commands import COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, patch_aliases
+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
+
+SUBNET_ALIASES = patch_aliases(GLOBAL_COMMON_PARAMETERS, {
+ 'subnet_name': {
+ 'name': '--name -n',
+ 'metavar': 'SUBNET',
+ 'help': 'the subnet name'
+ },
+ 'virtual_network_name': {
+ 'name': '--name -n',
+ 'metavar': 'VNET',
+ 'help': 'the name of the VNET'
+ },
+ 'address_prefix': {
+ 'name': '--address-prefix',
+ 'metavar': 'PREFIX',
+ 'help': 'the address prefix in CIDR format'
+ }
+})
+
+# BUG: we are waiting on autorest to support this rename
+# (https://github.com/Azure/autorest/issues/941)
+VNET_ALIASES = patch_aliases(GLOBAL_COMMON_PARAMETERS, {
+ '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..8423b651368
--- /dev/null
+++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/custom.py
@@ -0,0 +1,20 @@
+# 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, virtual_network_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, virtual_network_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..20120c41ccc
--- /dev/null
+++ b/src/command_modules/azure-cli-network/azure/cli/command_modules/network/generated.py
@@ -0,0 +1,311 @@
+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_ALIASES, SUBNET_ALIASES,
+ _network_client_factory)
+from azure.cli.commands._auto_command import build_operation, CommandDefinition
+from azure.cli.commands import CommandTable, LongRunningOperation
+from azure.cli._locale import L
+
+command_table = CommandTable()
+
+# pylint: disable=line-too-long
+# Application gateways
+build_operation(
+ 'network application-gateway', 'application_gateways', _network_client_factory,
+ [
+ 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,
+ {
+ 'application_gateway_name': {'name': '--name -n'}
+ })
+
+# ExpressRouteCircuitAuthorizationsOperations
+build_operation(
+ 'network express-route circuit-auth', 'express_route_circuit_authorizations', _network_client_factory,
+ [
+ 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,
+ {
+ 'authorization_name': {'name': '--name -n'}
+ })
+
+# ExpressRouteCircuitPeeringsOperations
+build_operation(
+ 'network express-route circuit-peering', 'express_route_circuit_peerings', _network_client_factory,
+ [
+ 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,
+ {
+ 'peering_name': {'name': '--name -n'}
+ })
+
+# ExpressRouteCircuitsOperations
+build_operation(
+ 'network express-route circuit', 'express_route_circuits', _network_client_factory,
+ [
+ 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,
+ {
+ 'circuit_name': {'name': '--name -n'}
+ })
+
+# ExpressRouteServiceProvidersOperations
+build_operation(
+ 'network express-route service-provider', 'express_route_service_providers', _network_client_factory,
+ [
+ CommandDefinition(ExpressRouteServiceProvidersOperations.list, '[ExpressRouteServiceProvider]'),
+ ],
+ command_table)
+
+# LoadBalancersOperations
+build_operation(
+ 'network lb', 'load_balancers', _network_client_factory,
+ [
+ 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,
+ {
+ 'load_balancer_name': {'name': '--name -n'}
+ })
+
+# LocalNetworkGatewaysOperations
+build_operation(
+ 'network local-gateway', 'local_network_gateways', _network_client_factory,
+ [
+ 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,
+ {
+ 'local_network_gateway_name': {'name': '--name -n'}
+ })
+
+
+# NetworkInterfacesOperations
+build_operation(
+ 'network nic', 'network_interfaces', _network_client_factory,
+ [
+ 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,
+ {
+ 'network_interface_name': {'name': '--name -n'}
+ })
+
+# NetworkInterfacesOperations: scaleset
+build_operation(
+ 'network nic scale-set', 'network_interfaces', _network_client_factory,
+ [
+ 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,
+ {
+ '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,
+ [
+ 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,
+ {
+ 'network_security_group_name': {'name': '--name -n'}
+ })
+
+# PublicIPAddressesOperations
+build_operation(
+ 'network public-ip', 'public_ip_addresses', _network_client_factory,
+ [
+ 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,
+ {
+ 'public_ip_address_name': {'name': '--name -n'}
+ })
+
+# RouteTablesOperations
+build_operation(
+ 'network route-table', 'route_tables', _network_client_factory,
+ [
+ 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,
+ {
+ 'route_table_name': {'name': '--name -n'}
+ })
+
+
+# RoutesOperations
+build_operation(
+ 'network route-operation', 'routes', _network_client_factory,
+ [
+ CommandDefinition(RoutesOperations.delete, LongRunningOperation(L('Deleting route'), L('Route deleted'))),
+ CommandDefinition(RoutesOperations.get, 'Route', command_alias='show'),
+ CommandDefinition(RoutesOperations.list, '[Route]'),
+ ],
+ command_table,
+ {
+ 'route_name': {'name': '--name -n'}
+ })
+
+# SecurityRulesOperations
+build_operation(
+ 'network nsg-rule', 'security_rules', _network_client_factory,
+ [
+ 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,
+ {
+ 'security_rule_name': {'name': '--name'},
+ 'network_security_group_name': {'name': '--nsg-name'}
+ })
+
+# SubnetsOperations
+build_operation(
+ 'network vnet subnet', 'subnets', _network_client_factory,
+ [
+ CommandDefinition(SubnetsOperations.delete, LongRunningOperation(L('Deleting subnet'), L('Subnet deleted'))),
+ CommandDefinition(SubnetsOperations.get, 'Subnet', command_alias='show'),
+ CommandDefinition(SubnetsOperations.list, '[Subnet]'),
+ ],
+ command_table, SUBNET_ALIASES)
+
+build_operation(
+ 'network subnet', None, ConvenienceNetworkCommands,
+ [
+ CommandDefinition(ConvenienceNetworkCommands.create_update_subnet, 'Object', 'create')
+ ],
+ command_table, SUBNET_ALIASES)
+
+# UsagesOperations
+build_operation(
+ 'network', 'usages', _network_client_factory,
+ [
+ CommandDefinition(UsagesOperations.list, '[Usage]', command_alias='list-usages'),
+ ],
+ command_table)
+
+# VirtualNetworkGatewayConnectionsOperations
+build_operation(
+ 'network vpn-connection', 'virtual_network_gateway_connections', _network_client_factory,
+ [
+ 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,
+ {
+ '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,
+ [
+ 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,
+ {
+ '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,
+ [
+ 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,
+ {
+ 'virtual_network_gateway_name': {'name': '--name -n'}
+ })
+
+# VirtualNetworksOperations
+build_operation(
+ 'network vnet', 'virtual_networks', _network_client_factory,
+ [
+ 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, VNET_ALIASES)
+
+build_operation(
+ 'network vnet', 'vnet', lambda _: get_mgmt_service_client(VNetClient, VNetClientConfig),
+ [
+ CommandDefinition(VNetOperations.create, LongRunningOperation(L('Creating virtual network'), L('Virtual network created')))
+ ],
+ command_table, VNET_ALIASES)
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..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/\"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\": 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 1e27469c551..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,4 +1,54 @@
interactions:
+- request:
+ body: !!binary |
+ cmVzb3VyY2U9aHR0cHMlM0ElMkYlMkZtYW5hZ2VtZW50LmNvcmUud2luZG93cy5uZXQlMkYmZ3Jh
+ bnRfdHlwZT1yZWZyZXNoX3Rva2VuJnJlZnJlc2hfdG9rZW49QUFBQkFBQUFpTDlLbjJaMjdVdWJ2
+ V0ZQYm0wZ0xUV3NhekM1MDJXUDZmUmVhaGZneE04QkFWVW5IOWRKQTZqOW8td2pkNlRicG92TXhG
+ LTBVbnF2U1BHcnRheVFKOTFZdGlyVzFKcDM1VWNLT2FYMnZSZi1IeW85NWtmUXdtUHBTMzdPWGd1
+ b3hxbENWVzNIRGljd2VBczc2enFVdXR5RDV0VU0tSTk5YzROcnFRYkpDLXY2U3pEQ2RUSTZOZzRR
+ U2FCOW5PQnAyeTNYS1FNVFMzODA4aDBNSURJcmxOUmx0NnVwYjFYeWxYUGlCeHNaMGdZSHBzZ1dW
+ SVpWM1R6Ulc2SkR1ODMtR25TM2FoU0ZEOXB4eVZiVmxQdlNXbWtmR2tkbk5QdHNwek0yeGNEMWt1
+ TE5RVHZSOE91Ml9ZdHNJZ2pKWDhyTzJPS3FJdmJlcWZHTG5ZX3U1UVo4aUsxeG9RR3EzOGhtd3h0
+ czEtaFZlMl9JZ2txYUE3c0Z3Y3VfZW41blIzcDJNdFBTZ3o4cGUtcVpGd09oRmt5T3JtQ2g2M1M5
+ RGNSTXZOZjc1dC00VDBOaWFNTFB6SUQyMEtyZXRmZjBnbzB1MHRqM0N4TjlKNnc3NWFlcnN4XzdD
+ eFp3ZmdWQWRBLXVJS0RMT2hZMU1sMlpPbTdKUHZfNHdIRnJkdkhxRHg4WUlfOWxIdDlkVFgxZ2to
+ RzhvNC0yY1BsRGI0YUg1UkJqMi1jbmpPVWwycXh4N21YSi1wVjNyblFHTkE0RFEzLXQ1LXVrQkd0
+ X0RrMzlVY2tvM2hKZWdNSkU1RTR5MWRyOXZtaDFCTTNhTS1DeEVDNG9ybXRDODdOZmhGaGRVU1Rn
+ bXlhQlpjaEg5dWVuWGpTWnp5cl9VQ0FBJmNsaWVudF9pZD0wNGIwNzc5NS04ZGRiLTQ2MWEtYmJl
+ ZS0wMmY5ZTFiZjdiNDY=
+ 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":"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: ['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=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]
+ 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
+ 6UeXWbnOP3qUfg9/pSl/iOejZbbA5x+VxXL9rs2b9nKx/+DTj0a2QTHD13eb9aSZ1sWqLaplc3dn
+ snv+6f6D3e3dyfnO9v5slm1n+fTe9nTycO/B3vnOw/sPd+7WeVOt62n+eV2tV83dN3V2WTRvqItX
+ /hd3V3V1Wczyurn7RTGtq6Y6b8cv8vaqqt/eXcrPs2Wb1+fZNG/uDuKZt9kFMP3u3d/3o538/t50
+ dn5/e/fB/dn2/nRvuv3wfDolRB9OHt47zw7OH+z+vh95L7fXK6bCLTDw3iqraQZ64M0rQmntf0nD
+ WuV1W9Abjxy95QuiA71WLC9et1nLHb9eT6d5PstnDgI1tRRcyyxMPt2f7GcPdrYf3tt7sL1/fz/f
+ frgzo2Hu5ffu7e6d53sPHwQAitVJtTwvLtY1IwpUlAPk8fDCY7mhWE35vV0fGp7/d7PD3e546YOh
+ gXwIv8iDmYxOsTz4mkZIaNw40fLQC8UlNTt7eTybEbUA9aPdnfHueGccTKs8XvPScOIXeTuveIae
+ XtNcFtPYa+tJWUzpLdtJD3Vq9XM6zx0Uw3n+qIvtL+mPkdAmXqER/L9uaJdF3a6zUv8chkHY0Qia
+ u7P8PFuX7W0GTfywyOprGlxbr/Pw61/i/+n98X0PzEezZfM6b1ti1x5XyHf1JQ2Kvvqe/xp9ma1W
+ ZZHPnoZtXBMf2Y/yZTYpiWufVfVVVs+oN2p9npVN7reiwYNAr/Ppui7aayYKtQuR+jmdyRiGzV3h
+ 0b17+/c/9eYsIMClsMAX2XReLKEUfpYG1fKggJD54gJfRAd1Ui1W6zY37Km4DcmdZSD9xQzPDsQa
+ EnmVyUH/OG30zY3yA6bOsyODeAZmYjY7OP80n27nn+6S+c339raze/uz7Yf53uwhmd/Z7jTzzcT/
+ V9yKfPf84d7uzsH25Hw62d4/mN7ffng/39++l+/f25l8uruT7e4FALpmloD8/8utCNmBvIhwvPTB
+ 0EA+hF/kwUxGp1gefE0jJDRunGh56AXjJ4g5RXt1KzxON4/X/P//boU3z556k8coNfd8RGgTr9AI
+ /l83tEvR2/rnMAzCjkbwI7fCN9rULkTq53QmYxgOMaqluP5iCGKHYzUv3r8qlrPqqrlcPNy/5wT4
+ /xWj7ajeAUx93frp5P6nu5/e29+eZg/OyWZN9reznXs725Odewfnk/P7+cP7U1+3/n/FFmeT+5P7
+ 9/JPt7P9HQpFd/d3tx/u7RPhabR7B9n+g/PZTgCga5sIyP//bLHPEGR8wxHTB0ND+RCOkQdzGZ1k
+ efA1jZHQuHGq5aEXjHkVK4T2ao3vb2z+88Ma25n21Jw8Rrm55yNCnPiFxvD/usFd/sge/8geW4LY
+ 4Vjt+5NfvCimHFxvA9S2CMN2sWq2ifX1NWr/jQ39fZIBnaF7uvi2aPt6N5vMzu89ePhge4fCnu39
+ e+f3tjOCtj3dzWe7s2xvL9vZ9/Xuz4alJnTArHYe6KNZ0azK7PqFToh2YUHbWTVzSK8QraKmAF8Q
+ calz4vLNRuAjQ31r7/cnk4PZg9n23qfTg+39vZ2H2wf3d8k0Pbh/b5o/mE33dwKzRnY7tH4E5L3s
+ /c2zJ8//p1iPXICQKvTBew73Q1hWHrBBlD/kwddEB8LuRi6Rh14wtl9MJNqTq4D/vsHAvWETRG16
+ GNOXP6dMcNkxoj/54vTN0HzebXgYzd3X/HOomRVr8zjxNg/o+P9tA2saKX7mLYuI1QkbZcpL+f3c
+ sgFNJ37eVhf4ePtCfbC/n2f7+e72p5OdnCKrg4fb2f3djPJyk08f7GW0fvrw3Bfq/5/YobiG+ciQ
+ 39ihnU93Z3sPiTDT+/fube9Pdu9vZ9ne+fZs59P8wfR8d3IwfRgA6GpcAvKN2CFv+uT5/xbzkeEJ
+ 6UIfvO+AP4Rr5SEd9v9FUyR0obdsJz3UqdXPKT90UCR+eKmfDM9vdwxGIbvno4atFo3r/3UDvnwP
+ I7x3t+Fx3GSFb0US4qH/b5thv9WlUFHXValFiM7PyQxvXPO9YdYszfUXQxI7LKvvnbr8/QHy9xeQ
+ vz+B/P3JHdPXqP3PCQmUqzdq+c1o+7p6kn16j1b67m0/3N2lDOODHcri7hxMt3d29yiae7j78ODT
+ HV9X//zyMA4ePpxMH55/uv1wukerodmDA1oIvX9ve3f//sNPP52c7+V75wGAriUlIO/vYWycPXn+
+ P8V65E6EVKEP3nO4H8Ky8oANovwhD74mOhB2N3KJPPSC8RfErKL9N+9eNGyUqE0PY/ry55QJLkUF
+ 65/EAsbIRubzbsPDCGxspJkVa/M48TYP6Pj/bRNrGil+5i2LiNUJLFNNTpIyY4KBXo5Dfm4nnyYR
+ P7saYBhbX4A/new9mJ1/+ikFanuUP9yd5dsH+xQf5BklqShu29vL7/sC/PPL5sx29rPdyXS6TUuq
+ ZHPOH0y2H84+pTjq4aezB+cHD2fZJAsAdLUrAXkvmzM4afL8f4HRyKCENKAPqAF90GnYG9yH8KU8
+ mOsoE8iDr2nUhNSNrCAPvWAsxY8MizEsnWm82zD2xp50vrWSah4nseYB1X6emBFdnQZhLhf3Dxwr
+ fHOz/AFrlJ5gDyPqC+nD8/2dfLK3tz2Z7hJ+008n29n+/Wz74d7D/YcH0/NJPnngC+nPhvGgcUUl
+ Hl8QIeg1mqjNsv6RJaGq/XuTLDv4lLzaB6Tyaf3m4cH2waeUOdu/lx3sfTrbvbe7E4gxqe9Q5RGQ
+ 91L7wRIdnv+X8wOp9HDA9MHQSD6EYeTBVEbnWB58TUMkNG6caXnoBaOmA62+S1r9043N30uriztN
+ b9lOeqhTq5/Tie6g2J3o2yhvQpzYhcbw/7rBdW3XEAzCjkbQ3J3l59m6/PlhsfxWNHgQ6HU+XddF
+ e81EoXYhUj+nMxnDkPwZgnG52Lu3f/9Tb84CAlwKC2hqkkbw/4JBDaVNhyTPspD+wj9oxn/J/wNU
+ 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: ['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 d0a685ad374..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/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/r9vd3xzsh+Wczoo4/uNutJM62LVVtUy+buzmT3/NP9
+ B7vbu5Pzne392SzbzvLpve3p5OHeg73znYf3H+7cXdXVZTHL6+buF8W0rprqvB2/yNurqn57t6ym
+ mYC6ypt23dxdN9lF3tz9yaJu11mpzZqPHB5lsShaQuX+jo/dMlsAZTsW+gigy+IH+cyM5yMFmvah
+ 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, 07 Apr 2016 22:01:51 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-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..8cfcd0d6d88
--- /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': '--password -p',
+ '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 c4206d9e2b0..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..21f06e0015b
--- /dev/null
+++ b/src/command_modules/azure-cli-profile/azure/cli/command_modules/profile/generated.py
@@ -0,0 +1,31 @@
+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()
+
+# 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'])
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-resource/azure/cli/command_modules/resource/_params.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_params.py
index 5b163b91f00..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
@@ -1,12 +1,20 @@
-from azure.cli.commands import COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS
+from azure.mgmt.resource.resources import (ResourceManagementClient,
+ ResourceManagementClientConfiguration)
+
+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
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()
-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/custom.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/custom.py
index da52b9c56d5..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
@@ -1,59 +1,15 @@
+# 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
from azure.cli._util import CLIError
-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 CLIError('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
@@ -104,19 +60,57 @@ 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()
+
+ filters = []
+ if tag:
+ key = list(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()
+
+ if rcf.resource_groups.check_existence(resource_group_name):
+ raise CLIError('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
- :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(None)
+ rcf = _resource_client_factory()
api_version = _resolve_api_version(rcf, resource_type, parent) \
if not api_version else api_version
@@ -132,7 +126,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
@@ -142,11 +136,11 @@ def list(self, location=None, resource_type=None, tag=None, name=None): # pylint
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
'''
- 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/generated.py b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/generated.py
index e52026fb422..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
@@ -4,68 +4,58 @@
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 import CommandTable, LongRunningOperation
+from azure.cli.commands._auto_command import build_operation, CommandDefinition
+from azure.cli.commands import CommandTable, LongRunningOperation, patch_aliases
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()
-def _patch_aliases(alias_items):
- aliases = PARAMETER_ALIASES.copy()
- aliases.update(alias_items)
- return aliases
-
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({
+ command_table, patch_aliases(PARAMETER_ALIASES, {
'resource_group_name': {'name': '--name -n'}
}))
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({
+ command_table, patch_aliases(PARAMETER_ALIASES, {
'resource_group_name': {'name': '--name -n'}
}))
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({
+ command_table, patch_aliases(PARAMETER_ALIASES, {
'resource_name': {'name': '--name -n'}
}))
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({
+ command_table, patch_aliases(PARAMETER_ALIASES, {
'tag_name': {'name': '--name -n'},
'tag_value': {'name': '--value'}
}))
@@ -73,26 +63,24 @@ 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({
+ command_table, patch_aliases(PARAMETER_ALIASES, {
'deployment_name': {'name': '--name -n', 'required': True}
}))
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({
+ command_table, patch_aliases(PARAMETER_ALIASES, {
'deployment_name': {'name': '--name -n', 'required': True}
}))
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 19adb1bd74f..48faaae2fc5 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/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/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]",
"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 f1a81e052fb..00000000000
--- a/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_list.yaml
+++ /dev/null
@@ -1,86 +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/2.7.11 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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
- 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]
- 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_group_scenario.yaml b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_scenario.yaml
new file mode 100644
index 00000000000..77f1b3439fc
--- /dev/null
+++ b/src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/tests/recordings/test_resource_group_scenario.yaml
@@ -0,0 +1,355 @@
+interactions:
+- request:
+ body: !!binary |
+ Y2xpZW50X2lkPTA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiZyZWZyZXNoX3Rv
+ a2VuPUFBQUJBQUFBaUw5S24yWjI3VXVidldGUGJtMGdMWXZORVd0dTVqakZ0cmVramRXdVhoaUdG
+ RmhkeEpxUXdUcUlVTkFEeHUyTU1GVVp4OHlNNU1pMllQNTZxZ2VKa2NkWV9qYVdFVGF2LTBPTS03
+ YlljaTA0UWlIUnNRYW9yM1FISXpWd2NwSUhZQV90QTd0d3JQODRRYW9pWWlNRHRKR3RXNFRZMWIz
+ U2ZBbFAzTUZnN1dacHdkZ1JZaDNjYk9QdGhjUU1GWi1RZ1BBZTRadFNSWWRLYWNxMlFtV3dvNk92
+ MmNwa3BlM3I3Z2VvVHZkT1R2VjIwMlZCdEVVQl9vczVYWEQ5bEtYTmVpaWt2bUxZUHNMcHZhOVVN
+ SjdDSlFfOXVrc0hzU0NrSl9yVm1EMWFfTGNkQjlxY0Q4ZjduQl8tUVdscnN3SWY4RUYwcjczZHRF
+ MW00Z0dHOWNZa24xMkxjU1hzRUVjSWh4VzJITGJPOUxXU2tjYy1RdUNSLWh4amlBTU9WNHVwR2Vl
+ S1hyZmN5WTFHd05BUS1XNXllRkhnR2h6dDQxbjJsS3UxWWRMS1hsTVFRalVrcTRCTGp1SVpNVUd3
+ Q2I3dXAwa3RIUEhYUGw5RkZhR1hLU05LWGY2bS13NXdIamZLUnFhdUpVTTdNR1JDUjQwS1ZaX1E5
+ UlNfRHlzal9zZWFPNDMxSThVQkJTU2ppUm9Vc0lRajFGR3NzQ3h5b0E4TkdYbXNQVnV6RDRNc3pV
+ MjJySlQ4dUlFMmQweC10cGRpWVQwS25jdHdWNk1LODVFU0xOOGdQdFN1RGhjd2tVTmJnZEFvM3lq
+ ZDdJNzQ3U0liMWkwdXFaWVpaX2Qwcmh4U1RmSmVrZmE3eE4wSVBVSFZfU0ktSXlBQSZncmFudF90
+ eXBlPXJlZnJlc2hfdG9rZW4mcmVzb3VyY2U9aHR0cHMlM0ElMkYlMkZtYW5hZ2VtZW50LmNvcmUu
+ 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":"3600","expires_on":"1462823223","not_before":"1462819323","resource":"https://management.core.windows.net/","access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDYyODE5MzIzLCJuYmYiOjE0NjI4MTkzMjMsImV4cCI6MTQ2MjgyMzIyMywiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2Il0sImlwYWRkciI6IjE2Ny4yMjAuMC4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.t8s14XWKT9gJNQw6nBckk35TxirwCCA5MKVdTCkNWe_O2epnmsx2I-Ijmmf-jRZmY5IOJejWTidx56yCF4-CXZglxq__4Q6MOfdHEeyAYdAbmUq7omkJyTm2FGlwORjthbzDUmTLeRdg60lhzcg1HyIkq24CnkiDwfsxXP3BYJAc3PNtvPi230t3ynta96kfJbUQXFMUFC5AM_GTxpOpxZe5oXZflHHjmVrdFTD4LBI3vfYjW1ird0sNfVZu_jOXIs8LVeRwox1cjrE07XxUvt-XYmaBXnZoxgnBQhmwwUVXmUS8vwb_NfoJ1LcGhiw4ODFAH5fe1f2mv-setSwvig","refresh_token":"AAABAAAAiL9Kn2Z27UubvWFPbm0gLTE1Nj_f603TiBEgn3qCItpkUJF9rsRjH6bq0bDZA1z9z1sX_8E_mp209t7wP7t281JuvV38BBNxH7k-s46Zr6O_xbk9KFgPbZzYxgqZQd1sQsD-TlZpTCWJDQzFjziVJbqHoh_6kQQF35Xhka1DZKNXXpLrE66MbWW3T_08K_Q0HJD2JSaIEjIRB_rwl2zl6KOqTqCJhNy3mdhHJ4NIkLwycn91XHDKNaVSm9Mbedq0NuYfR9f5NtUNeuGW2K8OZIIT5r_cHc1XwPTxuEvVsbY2AyDxnrndfSpCDoXWGaneB20dLZGVjtzljDsxKS4DA5wvWgJUYyYq8WgW2xO6LMEjOMR7HgoEAkPOe9DCkXUy3cPJmV0qehF1ywzf9a_R8sOcLxtGDYoff6e4WSkUyQkrt-7Q7vdN2QLuIm6uQSYWgUUEjrz0SZ-y0xb4kCgleZEyO74Es8U6Njd9aGQ_O-WBF9DwzGPsEM9PQUFe7EN79rnRJtqJ6sF4p1Fvc49W4YS1tfKZ1lZTnItNl-2lPGiMQYYmZxR1UQ1dy31SaQ0EfryfrpwAjdcqjbTLnftkOyTlvbQrUPkDAOYqyWuS-k4KnCiWy3Ec6dBiDeSSu3aFhJo2s1emL9qMvSV5kLLukCAA"}'}
+ headers:
+ Cache-Control: ['no-cache, no-store']
+ Content-Length: ['2346']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Mon, 09 May 2016 18:47:02 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=AAABAAAAiL9Kn2Z27UubvWFPbm0gLdC11Zv14qeDoaCw3wy2Yh2aONBqnPvlC6mS2EuFM8Ok_EnUH1yY4HQRd4bM6JePtVaOvqbwGA66aRUxY_i2kTvz5MxdqqhuNoAWN81jnkwY3RK19dfddVv-XAhQ3oHGxzLo8YBsG1bHx8mIJ3ygWVusy_rxvr8aIE7-friRB7arIAA;
+ 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:
+ 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: HEAD
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/travistestrg?api-version=2015-11-01
+ response:
+ body: {string: ''}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['104']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Mon, 09 May 2016 18:47:03 GMT']
+ Expires: ['-1']
+ Pragma: [no-cache]
+ Strict-Transport-Security: [max-age=31536000; includeSubDomains]
+ x-ms-failure-cause: [gateway]
+ status: {code: 404, message: Not Found}
+- 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: HEAD
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/travistestrg?api-version=2015-11-01
+ response:
+ body: {string: ''}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['104']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Mon, 09 May 2016 18:47:03 GMT']
+ Expires: ['-1']
+ Pragma: [no-cache]
+ Strict-Transport-Security: [max-age=31536000; includeSubDomains]
+ x-ms-failure-cause: [gateway]
+ status: {code: 404, message: Not Found}
+- request:
+ body: !!binary |
+ eyJ0YWdzIjogeyJjIjogIiIsICJhIjogImIifSwgImxvY2F0aW9uIjogIndlc3R1cyJ9
+ headers:
+ Accept: [application/json]
+ Accept-Encoding: ['gzip, deflate']
+ Connection: [keep-alive]
+ Content-Length: ['51']
+ 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: PUT
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/travistestrg?api-version=2015-11-01
+ response:
+ body: {string: '{"id":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestrg","name":"travistestrg","location":"westus","tags":{"c":"","a":"b"},"properties":{"provisioningState":"Succeeded"}}'}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['201']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Mon, 09 May 2016 18:47:05 GMT']
+ Expires: ['-1']
+ Pragma: [no-cache]
+ Strict-Transport-Security: [max-age=31536000; includeSubDomains]
+ x-ms-ratelimit-remaining-subscription-writes: ['1199']
+ status: {code: 201, message: Created}
+- 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: HEAD
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/travistestrg?api-version=2015-11-01
+ response:
+ body: {string: ''}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['0']
+ Date: ['Mon, 09 May 2016 18:47:05 GMT']
+ Expires: ['-1']
+ Pragma: [no-cache]
+ Strict-Transport-Security: [max-age=31536000; includeSubDomains]
+ status: {code: 204, message: No Content}
+- 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/travistestrg?api-version=2015-11-01
+ response:
+ body:
+ string: !!binary |
+ H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
+ VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR8Xs
+ o0cf3W3Wk2ZaF6u2qJbN3Z3J7vmn+w92t3cn5zvb+7NZtp3l03vb08nDvQd75zsP7z/cuVvnTbWu
+ p/nndbVeNXfbOrssmjZv2vrio9FHy2yRE+DOp2U1zdAFfXNFn60b+qzNLpqPHv3ij6b0If2Z0Y/J
+ R79k9NGqrlZ53RY5f0t/ESB6tVhevG6zFsBfr6fTPJ/ls49+yS/5fwBmmUQiyQAAAA==
+ headers:
+ Cache-Control: [no-cache]
+ Content-Encoding: [gzip]
+ Content-Length: ['277']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Mon, 09 May 2016 18:47:05 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 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?$filter=tagname%20eq%20%27a%27%20and%20tagvalue%20eq%20%27b%27&api-version=2015-11-01
+ response:
+ body:
+ string: !!binary |
+ H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
+ VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ
+ uc4/evS9X/xRMfvo0Ud3m/WkmdbFqi2qZXN3Z7J7/un+g93t3cn5zvb+bJZtZ/n03vZ08nDvwd75
+ zsP7D3fu1nlTretp/nldrVfN3bbOLoumzZu2vvho9NEyWxD8jzqfltU0Qxf0zRV9tm7osza7aD56
+ 9Is/mtKH9GdGPyYf/ZLRR6u6WuV1W+T8Lf1FgOjVYnnxus1aAH+9nk7zfJbPPvolv+T7v+T/AePt
+ 0mXVAAAA
+ headers:
+ Cache-Control: [no-cache]
+ Content-Encoding: [gzip]
+ Content-Length: ['291']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Mon, 09 May 2016 18:47: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-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/travistestrg?api-version=2015-11-01
+ response:
+ body: {string: ''}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['0']
+ Date: ['Mon, 09 May 2016 18:47:07 GMT']
+ Expires: ['-1']
+ Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1UUkFWSVNURVNUUkctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1UUkFWSVNURVNUUkctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2015-11-01
+ response:
+ body: {string: ''}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['0']
+ Date: ['Mon, 09 May 2016 18:47:22 GMT']
+ Expires: ['-1']
+ Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1UUkFWSVNURVNUUkctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1UUkFWSVNURVNUUkctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2015-11-01
+ response:
+ body: {string: ''}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['0']
+ Date: ['Mon, 09 May 2016 18:47:38 GMT']
+ Expires: ['-1']
+ Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1UUkFWSVNURVNUUkctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1UUkFWSVNURVNUUkctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2015-11-01
+ response:
+ body: {string: ''}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['0']
+ Date: ['Mon, 09 May 2016 18:47:53 GMT']
+ Expires: ['-1']
+ Pragma: [no-cache]
+ Strict-Transport-Security: [max-age=31536000; includeSubDomains]
+ 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 resourcemanagementclient/2015-11-01
+ Azure-SDK-For-Python AZURECLI_0.0.32]
+ accept-language: [en-US]
+ method: HEAD
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/travistestrg?api-version=2015-11-01
+ response:
+ body: {string: ''}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['104']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Mon, 09 May 2016 18:47:53 GMT']
+ Expires: ['-1']
+ Pragma: [no-cache]
+ Strict-Transport-Security: [max-age=31536000; includeSubDomains]
+ x-ms-failure-cause: [gateway]
+ status: {code: 404, message: Not Found}
+- 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: HEAD
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/travistestrg?api-version=2015-11-01
+ response:
+ body: {string: ''}
+ headers:
+ Cache-Control: [no-cache]
+ Content-Length: ['104']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Mon, 09 May 2016 18:47:53 GMT']
+ Expires: ['-1']
+ Pragma: [no-cache]
+ Strict-Transport-Security: [max-age=31536000; includeSubDomains]
+ x-ms-failure-cause: [gateway]
+ status: {code: 404, message: Not Found}
+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..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: ['Tue, 03 May 2016 21:40:31 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: ['Tue, 03 May 2016 21:40:32 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/__init__.py b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/__init__.py
index bd345f54ed0..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,561 +1,2 @@
-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,
- 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.commands._validators import validate_key_value_pairs
-from azure.cli._locale import L
-
-from ._params import PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS
-
-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'))
-@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)
+# pylint: disable=unused-import
+from .generated import command_table
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 cb84ed23ab2..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,14 +1,58 @@
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, 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
+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_resource_types, validate_services, validate_lease_duration,
validate_quota)
+# FACTORIES
+
+def storage_client_factory(**_):
+ 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('blob_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):
@@ -23,52 +67,62 @@ 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()
-PARAMETER_ALIASES.update({
+PARAMETER_ALIASES = patch_aliases(GLOBAL_COMMON_PARAMETERS, {
'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()
},
'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': {
@@ -83,7 +137,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',
@@ -94,7 +147,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',
@@ -125,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.'),
@@ -164,7 +214,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,16 +229,21 @@ def get_sas_token(string):
'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
-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-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..1a3c92fe142
--- /dev/null
+++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/custom.py
@@ -0,0 +1,199 @@
+ # pylint: disable=no-self-use,too-many-arguments
+
+from __future__ import print_function
+from sys import stderr
+
+from azure.cli.commands import CommandTable, LongRunningOperation
+
+from ._params import storage_client_factory, blob_data_service_factory, file_data_service_factory
+
+command_table = CommandTable()
+
+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)
+
+# CUSTOM METHODS
+
+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()
+ if resource_group_name:
+ accounts = scf.storage_accounts.list_by_resource_group(resource_group_name)
+ else:
+ accounts = scf.storage_accounts.list()
+ return list(accounts)
+
+ 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.'''
+ 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 show_usage(self):
+ ''' Show the current count and limit of the storage accounts under the subscription. '''
+ 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()
+ 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}
+
+ 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()
+ 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):
+ ''' Update storage account property (only one at a time).
+ :param str custom_domain:the custom domain name
+ '''
+ from azure.mgmt.storage.models import StorageAccountUpdateParameters, CustomDomain
+ 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, **kwargs):
+ self.client = blob_data_service_factory(**kwargs)
+
+ def container_exists(self, container_name, snapshot=None, timeout=None):
+ '''Check if a storage container exists.
+ :param str snapshot:UTC datetime value which specifies a snapshot
+ '''
+ return self.client.exists(
+ container_name=container_name,
+ snapshot=snapshot,
+ timeout=timeout)
+
+ def upload(self, container_name, blob_name, blob_type, upload_from,
+ content_type=None, content_disposition=None,
+ content_encoding=None, content_language=None, content_md5=None,
+ content_cache_control=None):
+ '''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
+ 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 self.client.exists(container_name, blob_name):
+ self.client.create_blob(
+ container_name=container_name,
+ blob_name=blob_name,
+ content_settings=content_settings)
+ return self.client.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 self.client.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]()
+
+ def download(self, container_name, blob_name, download_to):
+ ''' Download the specified blob.
+ :param str download_to:the file path to download to
+ '''
+ # show dot indicator of download progress (one for every 10%)
+ 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):
+ ''' Check if a storage blob exists. '''
+ return self.client.exists(
+ blob_name=blob_name,
+ container_name=container_name,
+ snapshot=snapshot,
+ timeout=timeout)
+
+class ConvenienceFileServiceCommands(object):
+
+ def __init__(self, **kwargs):
+ self.client = file_data_service_factory(**kwargs)
+
+ def share_exists(self, share_name):
+ ''' Check if a file share exists.'''
+ return self.client.exists(share_name=share_name)
+
+ def dir_exists(self, share_name, directory_name):
+ ''' Check if a share directory exists.'''
+ return self.client.exists(share_name=share_name, directory_name=directory_name)
+
+ 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'''
+ self.client.get_file_to_path(share_name, directory_name, file_name, local_file_name,
+ progress_callback=_update_progress)
+
+ def file_exists(self, share_name, file_name, directory_name=None):
+ ''' 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
+ '''
+ 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):
+ ''' 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'''
+ 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
new file mode 100644
index 00000000000..44d5debdeea
--- /dev/null
+++ b/src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/generated.py
@@ -0,0 +1,264 @@
+from __future__ import print_function
+
+from azure.cli.commands import CommandTable, patch_aliases
+from azure.cli.commands._auto_command import build_operation, CommandDefinition
+
+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()
+
+# STORAGE ACCOUNT COMMANDS
+
+build_operation(
+ 'storage account', 'storage_accounts', storage_client_factory,
+ [
+ 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,
+ [
+ CommandDefinition(CloudStorageAccount.generate_shared_access_signature,
+ 'SAS', 'generate-sas')
+ ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS)
+
+build_operation(
+ 'storage account', None, ConvenienceStorageAccountCommands,
+ [
+ CommandDefinition(ConvenienceStorageAccountCommands.create, 'Result'),
+ CommandDefinition(ConvenienceStorageAccountCommands.list, '[StorageAccount]'),
+ CommandDefinition(ConvenienceStorageAccountCommands.show_usage, 'Object'),
+ CommandDefinition(ConvenienceStorageAccountCommands.set, 'Object'),
+ CommandDefinition(ConvenienceStorageAccountCommands.connection_string, 'Object')
+ ], command_table, patch_aliases(PARAMETER_ALIASES, {
+ 'account_type': {'name': '--type'}
+ }))
+
+build_operation(
+ 'storage account keys', 'storage_accounts', storage_client_factory,
+ [
+ CommandDefinition(StorageAccountsOperations.list_keys, '[StorageAccountKeys]', 'list')
+ ], command_table, PARAMETER_ALIASES)
+
+build_operation(
+ 'storage account keys', None, ConvenienceStorageAccountCommands,
+ [
+ CommandDefinition(ConvenienceStorageAccountCommands.renew_keys, 'Object', 'renew')
+ ], command_table, PARAMETER_ALIASES)
+
+# BLOB SERVICE COMMANDS
+
+build_operation(
+ 'storage container', None, blob_data_service_factory,
+ [
+ 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,
+ [
+ CommandDefinition(ConvenienceBlobServiceCommands.container_exists, 'Bool', 'exists')
+ ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS)
+
+build_operation(
+ 'storage container acl', None, blob_data_service_factory,
+ [
+ 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,
+ [
+ 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,
+ [
+ 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,
+ [
+ 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,
+ [
+ CommandDefinition(ConvenienceBlobServiceCommands.blob_exists, 'Bool', 'exists'),
+ CommandDefinition(ConvenienceBlobServiceCommands.download, 'Object'),
+ CommandDefinition(ConvenienceBlobServiceCommands.upload, 'Object')
+ ], command_table, patch_aliases(PARAMETER_ALIASES, {
+ 'blob_type': {'name': '--type'}
+ }), STORAGE_DATA_CLIENT_ARGS)
+
+build_operation(
+ 'storage blob service-properties', None, blob_data_service_factory,
+ [
+ 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,
+ [
+ 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,
+ [
+ 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,
+ [
+ CommandDefinition(BlockBlobService.copy_blob, 'CopyOperationProperties', 'start'),
+ CommandDefinition(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,
+ [
+ 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,
+ [
+ CommandDefinition(ConvenienceFileServiceCommands.share_exists, 'Boolean', 'exists')
+ ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS)
+
+build_operation(
+ 'storage share metadata', None, file_data_service_factory,
+ [
+ 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,
+ [
+ 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,
+ [
+ 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,
+ [
+ CommandDefinition(ConvenienceFileServiceCommands.dir_exists, 'Bool', 'exists')
+ ], command_table, PARAMETER_ALIASES, STORAGE_DATA_CLIENT_ARGS)
+
+build_operation(
+ 'storage directory metadata', None, file_data_service_factory,
+ [
+ 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,
+ [
+ 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(PARAMETER_ALIASES, {
+ 'directory_name': {'required': False}
+ }), STORAGE_DATA_CLIENT_ARGS)
+
+build_operation(
+ 'storage file', None, ConvenienceFileServiceCommands,
+ [
+ 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,
+ [
+ CommandDefinition(FileService.get_file_metadata, 'Metadata', 'show'),
+ CommandDefinition(FileService.set_file_metadata, 'Metadata', 'set')
+ ], command_table, patch_aliases(PARAMETER_ALIASES, {
+ 'directory_name': {'required': False}
+ }), STORAGE_DATA_CLIENT_ARGS)
+
+
+build_operation(
+ 'storage file service-properties', None, file_data_service_factory,
+ [
+ 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,
+ [
+ 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-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 8102daa21e1..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
@@ -32,7 +32,7 @@ def set_up(self):
self.run('storage account delete -g {} -n {}'.format(RESOURCE_GROUP_NAME, self.account))
result = json.loads(self.run('storage account check-name --name {} -o json'.format(self.account)))
if not result['nameAvailable']:
- raise RuntimeError('Failed to delete pre-existing storage account {}. Unable to continue test.'.format(self.account))
+ raise CLIError('Failed to delete pre-existing storage account {}. Unable to continue test.'.format(self.account))
def test_body(self):
account = self.account
@@ -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 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
@@ -96,7 +108,7 @@ def set_up(self):
self.pop_env('AZURE_STORAGE_CONNECTION_STRING')
self.run('storage container delete --container-name {}'.format(self.container))
if self.run('storage container exists --container-name {}'.format(self.container)) == 'True':
- raise RuntimeError('Failed to delete pre-existing container {}. Unable to continue test.'.format(self.container))
+ raise CLIError('Failed to delete pre-existing container {}. Unable to continue test.'.format(self.container))
def _storage_blob_scenario(self):
s = self
@@ -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,14 +150,18 @@ 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))
if os.path.isfile(dest_file):
os.remove(dest_file)
else:
- raise RuntimeError('Download failed. Test failed!')
+ raise CLIError('Download failed. Test failed!')
# test lease operations
s.run('storage blob lease acquire --lease-duration 60 -b {} -c {} --if-modified-since {} --proposed-lease-id {}'.format(blob, container, date, proposed_lease_id))
@@ -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
@@ -255,7 +279,7 @@ def _storage_file_scenario(self, share):
if os.path.isfile(dest_file):
os.remove(dest_file)
else:
- raise RuntimeError('\nDownload failed. Test failed!')
+ raise CLIError('\nDownload failed. Test failed!')
# test resize command
s.run('storage file resize -s {} --file-name {} --content-length 1234'.format(share, filename))
@@ -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 f9e419dae8b..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 \"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}[\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\": \"\\\"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\": \"\\\"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 e34ccb099b3..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,40 +1,6 @@
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: '{"type": "Microsoft.Storage/storageAccounts", "name": "teststorageomega"}'
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
@@ -56,7 +22,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json]
- Date: ['Tue, 26 Apr 2016 15:34:59 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]
@@ -64,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']
@@ -87,7 +53,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json]
- Date: ['Tue, 26 Apr 2016 15:35:00 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]
@@ -119,12 +85,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: ['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]
@@ -159,7 +131,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json]
- Date: ['Tue, 26 Apr 2016 15:35:01 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]
@@ -183,14 +155,14 @@ interactions:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
- 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/tPXBflcWC39nd2XEfLrMF
- 2lnA9JHp86PXbVVnF/nxdIpOGtcLNSqraVYWP8hnpifTOrXNTetfIr/wj+//xskv+X8AtiYxadoA
- 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: ['Tue, 26 Apr 2016 15:35:02 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]
@@ -215,15 +187,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
+ 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: ['Tue, 26 Apr 2016 15:35:03 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]
@@ -249,15 +221,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
+ 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: ['Tue, 26 Apr 2016 15:35:04 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]
@@ -283,21 +255,21 @@ 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=
+ 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: ['Tue, 26 Apr 2016 15:35:06 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: ['1199']
+ x-ms-ratelimit-remaining-subscription-writes: ['1198']
status: {code: 200, message: OK}
- request:
body: '{"keyName": "key2"}'
@@ -317,21 +289,21 @@ 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=
+ 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: ['Tue, 26 Apr 2016 15:35:07 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: ['1199']
+ x-ms-ratelimit-remaining-subscription-writes: ['1198']
status: {code: 200, message: OK}
- request:
body: '{"keyName": "key2"}'
@@ -351,21 +323,21 @@ 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
+ 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: ['Tue, 26 Apr 2016 15:35:11 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: ['1199']
+ x-ms-ratelimit-remaining-subscription-writes: ['1198']
status: {code: 200, message: OK}
- request:
body: '{"tags": {"foo": "bar", "cat": ""}}'
@@ -390,13 +362,13 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json]
- Date: ['Tue, 26 Apr 2016 15:35:20 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": ""}}'
@@ -421,13 +393,13 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json]
- Date: ['Tue, 26 Apr 2016 15:35:24 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]
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"}}'
@@ -452,13 +424,13 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json]
- Date: ['Tue, 26 Apr 2016 15:35:24 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: ['1199']
+ x-ms-ratelimit-remaining-subscription-writes: ['1198']
status: {code: 200, message: OK}
- request:
body: '{"properties": {"accountType": "Standard_LRS"}}'
@@ -483,12 +455,12 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json]
- Date: ['Tue, 26 Apr 2016 15:35:26 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]
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..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
@@ -16,7 +16,7 @@ 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]
@@ -45,7 +45,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]
@@ -76,7 +76,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]
@@ -107,7 +107,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 +132,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]
@@ -162,7 +162,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 +186,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..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,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==
+ 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, 28 Apr 2016 21:23:31 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]
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: ['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&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&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:62ed3896-0001-0061-6494-a174a9000000\n\
- Time:2016-04-28T21:23:32.6690075Z"}
+ \ 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, 28 Apr 2016 21:23: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, 28 Apr 2016 21:23: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&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&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:6d433b67-0001-00b2-7994-a1cb0c000000\n\
- Time:2016-04-28T21:23:33.1724819Z"}
+ \ 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, 28 Apr 2016 21:23:32 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, 28 Apr 2016 21:23: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&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&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, 28 Apr 2016 21:23:32 GMT']
- ETag: ['"0x8D36FAB5A1803EB"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:33 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, 28 Apr 2016 21:23:33 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&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&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, 28 Apr 2016 21:23:33 GMT']
- ETag: ['"0x8D36FAB5A1803EB"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:33 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, 28 Apr 2016 21:23:33 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&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&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, 28 Apr 2016 21:23:32 GMT']
- ETag: ['"0x8D36FAB5A1803EB"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:33 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, 28 Apr 2016 21:23: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/?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&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,\
- \ 28 Apr 2016 21:23:33 GMT\"0x8D36FAB5A1803EB\"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, 28 Apr 2016 21:23:33 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, 28 Apr 2016 21:23:33 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&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&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, 28 Apr 2016 21:23:33 GMT']
- ETag: ['"0x8D36FAB5ACA0D54"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23: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&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&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, 28 Apr 2016 21:23:33 GMT']
- ETag: ['"0x8D36FAB5ACA0D54"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:34 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&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&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, 28 Apr 2016 21:23:34 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:34 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&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&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, 28 Apr 2016 21:23:34 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:34 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&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&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, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:35 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?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?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, 28 Apr 2016 21:23:34 GMT']
- ETag: ['"0x8D36FAB5B6BEE63"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:35 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, 28 Apr 2016 21:23:35 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?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?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, 28 Apr 2016 21:23:34 GMT']
- ETag: ['"0x8D36FAB5B6BEE63"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:35 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, 28 Apr 2016 21:23:35 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?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?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, 28 Apr 2016 21:23:35 GMT']
- ETag: ['"0x8D36FAB5BAF48C2"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23: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: ['"0x8D36FAB5BAF48C2"']
+ If-Match: ['"0x8D3784C5B6BB358"']
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: ['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&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&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, 28 Apr 2016 21:23:35 GMT']
- ETag: ['"0x8D36FAB5BB739DE"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23: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, 28 Apr 2016 21:23: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/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?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, 28 Apr 2016 21:23:35 GMT']
- ETag: ['"0x8D36FAB5BB739DE"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23: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, 28 Apr 2016 21:23: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?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?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, 28 Apr 2016 21:23:36 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, 28 Apr 2016 21:23:36 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?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?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, 28 Apr 2016 21:23:36 GMT']
- ETag: ['"0x8D36FAB5BF95B5D"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:36 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, 28 Apr 2016 21:23:36 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&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&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, 28 Apr 2016 21:23:36 GMT']
- ETag: ['"0x8D36FAB5C017390"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:36 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, 28 Apr 2016 21:23:36 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?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?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, 28 Apr 2016 21:23:35 GMT']
- ETag: ['"0x8D36FAB5C017390"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:36 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, 28 Apr 2016 21:23:36 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&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&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, 28 Apr 2016 21:23:37 GMT']
- ETag: ['"0x8D36FAB5C29C580"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:36 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, 28 Apr 2016 21:23:36 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?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?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, 28 Apr 2016 21:23:36 GMT']
- ETag: ['"0x8D36FAB5C29C580"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:36 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, 28 Apr 2016 21:23:36 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&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&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, 28 Apr 2016 21:23:36 GMT']
- ETag: ['"0x8D36FAB5C7C1771"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23: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, 28 Apr 2016 21:23: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&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&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, 28 Apr 2016 21:23:36 GMT']
- ETag: ['"0x8D36FAB5C7C1771"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23: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, 28 Apr 2016 21:23: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&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&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, 28 Apr 2016 21:23:36 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23: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&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&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, 28 Apr 2016 21:23:37 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23: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&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&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,\
- \ 28 Apr 2016 21:23:36 GMT0x8D36FAB5C29C580156application/octet-streamtestappendblobMon,\
+ \ 09 May 2016 20:56:14 GMT0x8D3784C5BFCA984156application/octet-streamAppendBlobunlockedavailabletestblockblobThu,\
- \ 28 Apr 2016 21:23:37 GMT0x8D36FAB5CDC4F5A78application/octet-streamAppendBlobunlockedavailabletestblockblobMon,\
+ \ 09 May 2016 20:56:15 GMT0x8D3784C5C77A0CA78application/octet-streamzeGiTMG1TdAobIHawzap3A==BlockBlobunlockedavailabletestpageblobThu,\
- \ 28 Apr 2016 21:23:35 GMT0x8D36FAB5BB739DE512application/octet-streamBlockBlobunlockedavailabletestpageblobMon,\
+ \ 09 May 2016 20:56:13 GMT0x8D3784C5B732F7F512application/octet-stream0PageBlobunlockedavailable"}
headers:
Content-Type: [application/xml]
- Date: ['Thu, 28 Apr 2016 21:23:38 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, 28 Apr 2016 21:23: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?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?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, 28 Apr 2016 21:23:38 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23: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?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?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, 28 Apr 2016 21:23:38 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23: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&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&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, 28 Apr 2016 21:23:38 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23:39 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?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?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, 28 Apr 2016 21:23:38 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23:39 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&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&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, 28 Apr 2016 21:23:39 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23:39 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&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&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, 28 Apr 2016 21:23:39 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23: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?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?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, 28 Apr 2016 21:23:39 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23:40 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&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&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, 28 Apr 2016 21:23:40 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23:40 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?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?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, 28 Apr 2016 21:23:40 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23:40 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&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&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, 28 Apr 2016 21:23:40 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23: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?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?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, 28 Apr 2016 21:23:40 GMT']
- ETag: ['"0x8D36FAB5CDC4F5A"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:37 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, 28 Apr 2016 21:23: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&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&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, 28 Apr 2016 21:23:40 GMT']
- ETag: ['"0x8D36FAB5C29C580"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:36 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-04-28T21:23:41.0925405Z']
+ 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, 28 Apr 2016 21:23: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-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-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, 28 Apr 2016 21:23:41 GMT']
- ETag: ['"0x8D36FAB5C29C580"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:36 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, 28 Apr 2016 21:23:41 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?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?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, 28 Apr 2016 21:23:41 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, 28 Apr 2016 21:23:42 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?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?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, 28 Apr 2016 21:23:41 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, 28 Apr 2016 21:23:42 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&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&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, 28 Apr 2016 21:23:41 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:42 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&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&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, 28 Apr 2016 21:23:41 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:42 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&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&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, 28 Apr 2016 21:23:42 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:42 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&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&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, 28 Apr 2016 21:23:42 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:43 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&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&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, 28 Apr 2016 21:23:42 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:43 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&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&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, 28 Apr 2016 21:23:43 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:43 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&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&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, 28 Apr 2016 21:23:43 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:43 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&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&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, 28 Apr 2016 21:23:43 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:43 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&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&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, 28 Apr 2016 21:23:43 GMT']
- ETag: ['"0x8D36FAB5B1F4635"']
- Last-Modified: ['Thu, 28 Apr 2016 21:23:34 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, 28 Apr 2016 21:23:44 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&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&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, 28 Apr 2016 21:23:44 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, 28 Apr 2016 21:23:44 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&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&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:6a3d9cf7-0001-0026-5d94-a1abc2000000\n\
- Time:2016-04-28T21:23:44.4381783Z"}
+ \ 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, 28 Apr 2016 21:23:44 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, 28 Apr 2016 21:23:44 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&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&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, 28 Apr 2016 21:23:45 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 52016b5dd5a..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
- 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==
+ 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, 28 Apr 2016 21:15:13 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: ['1199']
+ 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, 28 Apr 2016 21:15:14 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&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&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:9fb75069-001a-013e-0193-a1c002000000\n\
- Time:2016-04-28T21:15:15.4182901Z"}
+ \ 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, 28 Apr 2016 21:15:14 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, 28 Apr 2016 21:15:15 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&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&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:02977755-001a-00ce-6d93-a15639000000\n\
- Time:2016-04-28T21:15:15.6813839Z"}
+ \ 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, 28 Apr 2016 21:15:14 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, 28 Apr 2016 21:15:15 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:15 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:15 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:15 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:16 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&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&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,\
- \ 28 Apr 2016 21:15:15 GMT\"0x8D36FAA31A47710\"5120testshare02Thu,\
- \ 28 Apr 2016 21:15:16 GMT\"0x8D36FAA31CFA378\"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, 28 Apr 2016 21:15:15 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, 28 Apr 2016 21:15:16 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:17 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:17 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:17 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:18 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:18 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:18 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&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?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:19 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&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&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, 28 Apr 2016 21:15:19 GMT']
- ETag: ['"0x8D36FAA340287D2"']
- Last-Modified: ['Thu, 28 Apr 2016 21:15:19 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, 28 Apr 2016 21:15:19 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&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?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, 28 Apr 2016 21:15:19 GMT']
- ETag: ['"0x8D36FAA340287D2"']
- Last-Modified: ['Thu, 28 Apr 2016 21:15:19 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, 28 Apr 2016 21:15:19 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&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?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, 28 Apr 2016 21:15:19 GMT']
- ETag: ['"0x8D36FAA340287D2"']
- Last-Modified: ['Thu, 28 Apr 2016 21:15:19 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, 28 Apr 2016 21:15:19 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:20 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&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?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, 28 Apr 2016 21:15:19 GMT']
- ETag: ['"0x8D36FAA34758780"']
- Last-Modified: ['Thu, 28 Apr 2016 21:15:20 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, 28 Apr 2016 21:15:20 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:20 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:20 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:21 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:21 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&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&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, 28 Apr 2016 21:15:21 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, 28 Apr 2016 21:15:21 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&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?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
response:
body: {string: ''}
headers:
- Date: ['Thu, 28 Apr 2016 21:15:20 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, 28 Apr 2016 21:15:21 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&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?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
response:
body: {string: ''}
headers:
- Date: ['Thu, 28 Apr 2016 21:15:22 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, 28 Apr 2016 21:15:21 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:22 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:22 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:22 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:23 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:23 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:23 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:23 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&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?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:24 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&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&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, 28 Apr 2016 21:15:23 GMT']
- ETag: ['"0x8D36FAA3703058E"']
- Last-Modified: ['Thu, 28 Apr 2016 21:15:24 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, 28 Apr 2016 21:15:24 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&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?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, 28 Apr 2016 21:15:23 GMT']
- ETag: ['"0x8D36FAA3703058E"']
- Last-Modified: ['Thu, 28 Apr 2016 21:15:24 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, 28 Apr 2016 21:15:24 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&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?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, 28 Apr 2016 21:15:24 GMT']
- ETag: ['"0x8D36FAA3703058E"']
- Last-Modified: ['Thu, 28 Apr 2016 21:15:24 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, 28 Apr 2016 21:15:24 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&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&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, 28 Apr 2016 21:15:23 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, 28 Apr 2016 21:15:24 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&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&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, 28 Apr 2016 21:15:24 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, 28 Apr 2016 21:15:25 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&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?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
response:
body: {string: ''}
headers:
- Date: ['Thu, 28 Apr 2016 21:15:23 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, 28 Apr 2016 21:15:25 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&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?se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
response:
body: {string: ''}
headers:
- Date: ['Thu, 28 Apr 2016 21:15:26 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, 28 Apr 2016 21:15:25 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
response:
body: {string: ''}
headers:
- Date: ['Thu, 28 Apr 2016 21:15:25 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, 28 Apr 2016 21:15:25 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&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&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:18203a7c-001a-0038-2f93-a1712f000000\n\
- Time:2016-04-28T21:15:26.6200828Z"}
+ \ 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, 28 Apr 2016 21:15:25 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, 28 Apr 2016 21:15:26 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:26 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
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: ['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, 28 Apr 2016 21:15:26 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
response:
body: {string: ''}
headers:
- Date: ['Thu, 28 Apr 2016 21:15:27 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, 28 Apr 2016 21:15:26 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&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&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, 28 Apr 2016 21:15:26 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, 28 Apr 2016 21:15:27 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
response:
body: {string: ''}
headers:
- Date: ['Thu, 28 Apr 2016 21:15:27 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, 28 Apr 2016 21:15:27 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&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&se=2100-01-01T00%3A00Z&sv=2015-04-05&sp=rwdl&sig=h7weM2OkkPfMrhyzvuc3ptegqLXPdBClOI2bQR9BApg%3D&srt=sco&ss=f
response:
body: {string: ''}
headers:
- Date: ['Thu, 28 Apr 2016 21:15:27 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}
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/__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
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..dbf87166015
--- /dev/null
+++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_actions.py
@@ -0,0 +1,131 @@
+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
+ 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
+
+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, as_completed
+
+ 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:
+ tasks = [executor.submit(_load_images_from_publisher, p.name) for p in publishers]
+ for t in as_completed(tasks):
+ t.result() # don't use the result but expose exceptions from the threads
+ 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/_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/_params.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_params.py
index 4c040826850..7111c3a0518 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,37 +1,102 @@
+import argparse
+
from azure.mgmt.compute.models import VirtualHardDisk
-from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter)
-from azure.cli._locale import L
+from azure.cli.commands import (COMMON_PARAMETERS as GLOBAL_COMMON_PARAMETERS, extend_parameter,
+ patch_aliases)
from azure.cli.command_modules.vm._validators import MinMaxValue
+from azure.cli.command_modules.vm._actions import (VMImageFieldAction, VMSSHFieldAction,
+ VMDNSNameAction)
+from azure.cli._locale import L
-PARAMETER_ALIASES = GLOBAL_COMMON_PARAMETERS.copy()
-PARAMETER_ALIASES.update({
+# BASIC PARAMETER CONFIGURATION
+
+PARAMETER_ALIASES = patch_aliases(GLOBAL_COMMON_PARAMETERS, {
'diskname': {
'name': '--name -n',
- 'dest': 'name',
'help': L('Disk name'),
- 'required': True
},
'disksize': {
'name': '--disksize',
- 'dest': 'disksize',
'help': L('Size of disk (Gb)'),
'type': MinMaxValue(1, 1023),
'default': 1023
},
+ 'image_location': {
+ 'name': '--image-location',
+ 'help': L('Image location')
+ },
'lun': {
'name': '--lun',
- 'dest': 'lun',
'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
},
+ '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',
+ 'action': VMImageFieldAction
+ },
+ 'ssh_key_value': {
+ 'name': '--ssh-key-value',
+ 'action': VMSSHFieldAction
+ },
+ 'dns_name_for_public_ip': {
+ 'name': '--dns-name-for-public-ip',
+ 'action': VMDNSNameAction
+ },
+ 'dns_name_type': {
+ 'name': '--dns-name-type',
+ 'help': argparse.SUPPRESS
+ }
+}
+
+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)
+}
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 9a34e269d50..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
@@ -1,198 +1,40 @@
-import json
+# pylint: disable=no-self-use,too-many-arguments
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._locale import L
-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 azure.cli._util import CLIError
-from azure.mgmt.compute import ComputeManagementClient, ComputeManagementClientConfiguration
-from ._params import PARAMETER_ALIASES
+from ._actions import load_images_from_aliases_doc, load_images_thru_services
+from ._factory import _compute_client_factory
-def _compute_client_factory(_):
- return get_mgmt_service_client(ComputeManagementClient, ComputeManagementClientConfiguration)
+from six.moves.urllib.request import urlopen #pylint: disable=import-error,unused-import
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'))
+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')
+ 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_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
-
-@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 CLIError("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')
- 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, as_completed
-
- client = _compute_client_factory({})
- all_images = []
-
- 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:
- tasks = [executor.submit(_load_images_from_publisher, p.name) for p in publishers]
- for t in as_completed(tasks):
- t.result() #we don't use the result, rather just to expose exceptions from threads
- 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
- }
-#
-# Composite convenience commands for the CLI
-#
def _parse_rg_name(strid):
'''From an ID, extract the contained (resource group, name) tuple
'''
@@ -202,21 +44,21 @@ def _parse_rg_name(strid):
return (parts[4], parts[8])
-
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 resource_group_name else ccf.virtual_machines.list_all()
+ return list(vm_list)
- # pylint: disable=no-self-use,too-many-arguments
- def list_vm_images(self,
- image_location=None,
- publisher=None,
- offer=None,
- sku=None,
- all=False): #pylint: disable=redefined-builtin
+ 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
@@ -227,10 +69,10 @@ def list_vm_images(self,
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)
@@ -239,9 +81,7 @@ def list_vm_images(self,
return all_images
- def list_ip_addresses(self,
- 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 resource_group_name:Name of resource group.
:param str vm_name:Name of virtual machine.
@@ -295,4 +135,30 @@ def list_ip_addresses(self,
return result
-
+ 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,
+ disk_size_gb=disksize)
+ 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):
+ ''' 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,
+ create_option=DiskCreateOptionTypes.attach,
+ disk_size_gb=disksize)
+ 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):
+ ''' 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 == 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')
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 8a981ddb13c..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
@@ -1,6 +1,3 @@
-import argparse
-import re
-import os
from azure.mgmt.compute.operations import (AvailabilitySetsOperations,
VirtualMachineExtensionImagesOperations,
VirtualMachineExtensionsOperations,
@@ -10,311 +7,163 @@
VirtualMachinesOperations,
VirtualMachineScaleSetsOperations,
VirtualMachineScaleSetVMsOperations)
-from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition
-from azure.cli.commands import CommandTable, LongRunningOperation
+
+from azure.cli.commands._auto_command import build_operation, CommandDefinition
from azure.cli.commands._command_creation import get_mgmt_service_client
-from azure.cli._locale import L
+from azure.cli.commands import CommandTable, LongRunningOperation, patch_aliases
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._util import CLIError
+from azure.cli._locale import L
-from ._params import PARAMETER_ALIASES
-from .custom import (ConvenienceVmCommands,
- _compute_client_factory,
- load_images_from_aliases_doc)
+from ._params import (PARAMETER_ALIASES, VM_CREATE_EXTRA_PARAMETERS, VM_CREATE_PARAMETER_ALIASES,
+ VM_PATCH_EXTRA_PARAMETERS)
+from ._factory import _compute_client_factory
+from .custom import ConvenienceVmCommands
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,
- [
- 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 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 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 usage",
- "usage",
- _compute_client_factory,
- [
- 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)
-
-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",
- "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 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': {
- '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:
- 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
-
-extra_parameters = [
- {
- 'name': '--image',
- 'action': VMImageFieldAction
- },
- {
- 'name': '--ssh-key-value',
- 'action': VMSSHFieldAction
- },
- {
- 'name': '--dns-name-for-public-ip',
- 'action': VMDNSNameAction
- },
- {
- 'name': '--dns-name-type',
- 'help': argparse.SUPPRESS
- }
- ]
-
-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 (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 ""
- """
-
-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 availset', 'availability_sets', _compute_client_factory,
+ [
+ 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(PARAMETER_ALIASES, {
+ 'availability_set_name': {'name': '--name -n'}
+ }))
+
+build_operation(
+ 'vm machine-extension-image', 'virtual_machine_extension_images', _compute_client_factory,
+ [
+ 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,
+ [
+ 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,
+ [
+ CommandDefinition(VirtualMachineExtensionsOperations.delete, LongRunningOperation(L('Deleting VM extension'), L('VM extension deleted'))),
+ CommandDefinition(VirtualMachineExtensionsOperations.get, 'VirtualMachineExtension', command_alias='show'),
+ ],
+ command_table, patch_aliases(PARAMETER_ALIASES, {
+ 'vm_extension_name': {'name': '--name -n'}
+ }))
+
+build_operation(
+ 'vm image', 'virtual_machine_images', _compute_client_factory,
+ [
+ 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,
+ [
+ CommandDefinition(UsageOperations.list, '[Usage]'),
+ ],
+ command_table, PARAMETER_ALIASES)
+
+build_operation(
+ 'vm size', 'virtual_machine_sizes', _compute_client_factory,
+ [
+ CommandDefinition(VirtualMachineSizesOperations.list, '[VirtualMachineSize]'),
+ ],
+ command_table, PARAMETER_ALIASES)
+
+build_operation(
+ 'vm', 'virtual_machines', _compute_client_factory,
+ [
+ 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(PARAMETER_ALIASES, {
+ 'vm_name': {'name': '--name -n'}
+ }))
+
+build_operation(
+ 'vm', None, ConvenienceVmCommands,
+ [
+ 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),
+ [
+ CommandDefinition(
+ VMOperations.create_or_update,
+ LongRunningOperation(L('Creating virtual machine'), L('Virtual machine created')),
+ 'create')
+ ],
+ command_table, VM_CREATE_PARAMETER_ALIASES, VM_CREATE_EXTRA_PARAMETERS)
+
+build_operation(
+ 'vm scaleset', 'virtual_machine_scale_sets', _compute_client_factory,
+ [
+ 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(PARAMETER_ALIASES, {
+ 'vm_scale_set_name': {'name': '--name -n'}
+ }))
+
+build_operation(
+ 'vm scaleset-vm', 'virtual_machine_scale_set_vms', _compute_client_factory,
+ [
+ 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(PARAMETER_ALIASES, {
+ 'vm_scale_set_name': {'name': '--name -n'}
+ }))
+
+build_operation(
+ 'vm image', None, ConvenienceVmCommands,
+ [
+ CommandDefinition(ConvenienceVmCommands.list_vm_images, 'object', 'list')
+ ],
+ command_table, patch_aliases(PARAMETER_ALIASES, {
+ 'image_location': {'name': '--location -l'}
+ }))
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 28ea73bc4c7..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
@@ -13,7 +13,6 @@
from .. import models
-
class VMOperations(object):
"""VMOperations operations.
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/recordings/expected_results.res b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/tests/recordings/expected_results.res
index 7b74dae3128..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,9 +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.93.155.206\",\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_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_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\": 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_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 0add9636c13..c5dbe5a1243 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: ['Fri, 06 May 2016 23:13:25 GMT']
+ Date: ['Tue, 10 May 2016 15:49:20 GMT']
ETag: ['"db78eb36618a060181b32ac2de91b1733f382e01"']
- Expires: ['Fri, 06 May 2016 23:18:25 GMT']
+ Expires: ['Tue, 10 May 2016 15:54:20 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: [b253eff940ef2df7215e167a5d80acb38ecfb287]
+ X-Fastly-Request-ID: [1a4906d8a23feae376d9a931099831d3f34990e1]
X-Frame-Options: [deny]
- X-GitHub-Request-Id: ['17EB2F14:3F24:391C37F:572D2515']
- X-Served-By: [cache-sjc3124-SJC]
+ X-GitHub-Request-Id: ['17EB2C15:06B0:F9C2B73:573202FF']
+ X-Served-By: [cache-dfw1820-DFW]
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 bccff84ac62..b9de340ae37 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
@@ -6,7 +6,7 @@ interactions:
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
+ 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
@@ -24,142 +24,144 @@ interactions:
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
- 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
+ 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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']
+ Date: ['Tue, 10 May 2016 15:49:20 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
@@ -173,7 +175,7 @@ interactions:
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
+ 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
@@ -193,7 +195,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
- Date: ['Tue, 03 May 2016 03:52:45 GMT']
+ Date: ['Tue, 10 May 2016 15:49:20 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
@@ -207,7 +209,7 @@ interactions:
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
+ 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
@@ -225,7 +227,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
- Date: ['Tue, 03 May 2016 03:52:45 GMT']
+ Date: ['Tue, 10 May 2016 15:49:20 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
@@ -239,7 +241,7 @@ interactions:
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
+ 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
@@ -259,7 +261,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
- Date: ['Tue, 03 May 2016 03:52:46 GMT']
+ Date: ['Tue, 10 May 2016 15:49:21 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
@@ -273,7 +275,7 @@ interactions:
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
+ 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
@@ -288,7 +290,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
- Date: ['Tue, 03 May 2016 03:52:46 GMT']
+ Date: ['Tue, 10 May 2016 15:49:21 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
@@ -302,7 +304,7 @@ interactions:
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
+ 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
@@ -320,7 +322,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
- Date: ['Tue, 03 May 2016 03:52:47 GMT']
+ Date: ['Tue, 10 May 2016 15:49:22 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
@@ -334,7 +336,7 @@ interactions:
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
+ 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
@@ -353,7 +355,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
- Date: ['Tue, 03 May 2016 03:52:47 GMT']
+ Date: ['Tue, 10 May 2016 15:49:21 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
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
index 59227b10076..9a4e55d790b 100644
--- 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
@@ -6,7 +6,7 @@ interactions:
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
+ 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
@@ -35,7 +35,7 @@ interactions:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 29 Apr 2016 19:53:17 GMT']
+ Date: ['Tue, 10 May 2016 15:49:22 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
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 1a5794418b3..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: ['Fri, 06 May 2016 22:18:58 GMT']
+ Date: ['Tue, 10 May 2016 17:45:15 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -43,7 +43,7 @@ interactions:
Cache-Control: [no-cache]
Content-Length: ['207']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:19:00 GMT']
+ Date: ['Tue, 10 May 2016 17:45:17 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -74,97 +74,111 @@ interactions:
2fbDvcne9qcPDvZ289m9yfn+p/RWsVIs6JXde+OHu+Pd3Z3x3u4+fWfxLA12X+TtvAL0p9c0r8WU
GhWzMn9TLPJq3Z4tvyiW6xbo7o8+mi2b13nbErb09y/+aFYtsmL5grjheTbJS4KxkeDnv2gGWgy3
GfOHzXhaVutZtlqNsx+s63w8rRYf/RLCanVSLc+Li3XNeAMBpsrdHyqTLeXn2bLN6/NsOsxky2J6
- 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
- 0+UMcvf9X/L/ALKglGlLXwAA
+ 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
+ cga5+/4v+X8Aq4MAmjtvAAA=
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
- Content-Length: ['5034']
+ Content-Length: ['5831']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:19:01 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: [872cab35-797f-43f7-84ae-cbbc3ae9444c, cfcf1e6e-cb92-4b7a-ab7f-6988f10d2d00,
- bce18368-28df-4b6b-8758-d3efaf04e8d2]
+ 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
@@ -193,200 +207,897 @@ interactions:
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
- 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
- AAA=
+ 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
+ 88yyEz2JnL/k/wHBGxJ/VAoBAA==
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
- Content-Length: ['8267']
+ Content-Length: ['9937']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:19:02 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: [81cdfade-6cc2-43cf-987d-e72c4cbc1d23, 0948c926-ffdf-488c-bbad-8bf26303102d,
- b5d23b6c-67d7-46fb-b3fb-ced3b1863538]
+ 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
- eS5qc29uIn0sICJwYXJhbWV0ZXJzIjogeyJhdmFpbGFiaWxpdHlTZXRUeXBlIjogeyJ2YWx1ZSI6
- ICJub25lIn0sICJvc09mZmVyIjogeyJ2YWx1ZSI6ICJVYnVudHVTZXJ2ZXIifSwgInB1YmxpY0lw
- QWRkcmVzc1R5cGUiOiB7InZhbHVlIjogIm5ldyJ9LCAibmFtZSI6IHsidmFsdWUiOiAidm0td2l0
- aC1wdWJsaWMtaXAifSwgInZpcnR1YWxOZXR3b3JrVHlwZSI6IHsidmFsdWUiOiAibmV3In0sICJw
- cml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbiI6IHsidmFsdWUiOiAiRHluYW1pYyJ9LCAic3RvcmFn
- ZUFjY291bnRUeXBlIjogeyJ2YWx1ZSI6ICJuZXcifSwgIm9zU0tVIjogeyJ2YWx1ZSI6ICIxNC4w
- NC40LUxUUyJ9LCAib3NEaXNrTmFtZSI6IHsidmFsdWUiOiAib3NkaXNraW1hZ2UifSwgIl9hcnRp
- ZmFjdHNMb2NhdGlvbiI6IHsidmFsdWUiOiAiaHR0cHM6Ly9henVyZXNka2NpLmJsb2IuY29yZS53
- aW5kb3dzLm5ldC90ZW1wbGF0ZWhvc3QvQ3JlYXRlVk0ifSwgImF1dGhlbnRpY2F0aW9uVHlwZSI6
- IHsidmFsdWUiOiAicGFzc3dvcmQifSwgInZpcnR1YWxOZXR3b3JrSXBBZGRyZXNzUHJlZml4Ijog
- eyJ2YWx1ZSI6ICIxMC4wLjAuMC8xNiJ9LCAic3VibmV0SXBBZGRyZXNzUHJlZml4IjogeyJ2YWx1
- ZSI6ICIxMC4wLjAuMC8yNCJ9LCAib3NUeXBlIjogeyJ2YWx1ZSI6ICJDdXN0b20ifSwgInNpemUi
- OiB7InZhbHVlIjogIlN0YW5kYXJkX0EyIn0sICJsb2NhdGlvbiI6IHsidmFsdWUiOiAid2VzdHVz
- In0sICJzdG9yYWdlQ29udGFpbmVyTmFtZSI6IHsidmFsdWUiOiAidmhkcyJ9LCAiYWRtaW5Vc2Vy
- bmFtZSI6IHsidmFsdWUiOiAidWJ1bnR1In0sICJwdWJsaWNJcEFkZHJlc3NBbGxvY2F0aW9uIjog
- eyJ2YWx1ZSI6ICJEeW5hbWljIn0sICJvc1B1Ymxpc2hlciI6IHsidmFsdWUiOiAiQ2Fub25pY2Fs
- In0sICJvc1ZlcnNpb24iOiB7InZhbHVlIjogImxhdGVzdCJ9LCAic3RvcmFnZVJlZHVuZGFuY3lU
- eXBlIjogeyJ2YWx1ZSI6ICJTdGFuZGFyZF9MUlMifSwgImFkbWluUGFzc3dvcmQiOiB7InZhbHVl
- IjogInRlc3RQYXNzd29yZDAifX0sICJtb2RlIjogIkluY3JlbWVudGFsIn19
- headers:
- Accept: [application/json]
- Accept-Encoding: ['gzip, deflate']
- Connection: [keep-alive]
- Content-Length: ['1185']
+ 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: '{"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/08587387045647388923?api-version=2015-11-01']
+ Cache-Control: [no-cache]
+ Content-Length: ['4017']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Tue, 10 May 2016 17:45:20 GMT']
+ Expires: ['-1']
+ Pragma: [no-cache]
+ Strict-Transport-Security: [max-age=31536000; includeSubDomains]
+ x-ms-ratelimit-remaining-subscription-writes: ['1199']
+ status: {code: 201, message: Created}
+- 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:45:51 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:46:26 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:46:57 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:47:27 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:47:57 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:48:31 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:49:02 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: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: 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:50:03 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:50:33 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:51:03 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:51:34 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:52:04 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: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: 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: '{"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-06T22:19:04.4090941Z","duration":"PT0.1551359S","correlationId":"28b8e6a1-335a-4efa-b0af-b7da2eb41663","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: !!binary |
+ H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
+ 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/08587390337412238195?api-version=2015-11-01']
Cache-Control: [no-cache]
- Content-Length: ['4017']
+ Content-Encoding: [gzip]
+ Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:19:03 GMT']
+ Date: ['Tue, 10 May 2016 17:57:10 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
- x-ms-ratelimit-remaining-subscription-writes: ['1199']
- status: {code: 201, message: Created}
+ Vary: [Accept-Encoding]
+ status: {code: 200, message: OK}
- request:
body: null
headers:
@@ -398,7 +1109,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/08587390337412238195?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 |
@@ -410,7 +1121,7 @@ interactions:
Content-Encoding: [gzip]
Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:19:34 GMT']
+ Date: ['Tue, 10 May 2016 17:57:41 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -427,7 +1138,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/08587390337412238195?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 |
@@ -439,7 +1150,7 @@ interactions:
Content-Encoding: [gzip]
Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:20:05 GMT']
+ Date: ['Tue, 10 May 2016 17:58:11 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -456,7 +1167,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/08587390337412238195?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 |
@@ -468,7 +1179,7 @@ interactions:
Content-Encoding: [gzip]
Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:20:35 GMT']
+ Date: ['Tue, 10 May 2016 17:58:41 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -485,7 +1196,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/08587390337412238195?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 |
@@ -497,7 +1208,7 @@ interactions:
Content-Encoding: [gzip]
Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:21:04 GMT']
+ Date: ['Tue, 10 May 2016 17:59:11 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -514,7 +1225,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/08587390337412238195?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 |
@@ -526,7 +1237,7 @@ interactions:
Content-Encoding: [gzip]
Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:21:34 GMT']
+ Date: ['Tue, 10 May 2016 17:59:42 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -543,7 +1254,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/08587390337412238195?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 |
@@ -555,7 +1266,7 @@ interactions:
Content-Encoding: [gzip]
Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:22:06 GMT']
+ Date: ['Tue, 10 May 2016 18:00:12 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -572,7 +1283,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/08587390337412238195?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 |
@@ -584,7 +1295,7 @@ interactions:
Content-Encoding: [gzip]
Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:22:37 GMT']
+ Date: ['Tue, 10 May 2016 18:00:43 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -601,19 +1312,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/08587390337412238195?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: ['Fri, 06 May 2016 22:23:07 GMT']
+ Date: ['Tue, 10 May 2016 18:01:13 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -630,40 +1341,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+W0zuFxkCYigYGbA2VB7xDZW7R4vZ5Oc/IMZvR9WyyI1bPFij7f29n9dHvn/vbOp2/29h7R//bv
- jR/uPNz79OD+T1HT2bpWsf/o5Zt7X9x7OP70/v17uzv3XtOXpIDrnJQOfQ8z+dHeweQg/zTb3b53
- 7362vZ+fZ9uTnex8e/Jglu3lk/3dTz+9R68xejNSZx89+t4vZsPTrLIpkIx4ZdSeZoV/B03kHf8T
- ek38HQwfzY2mQtPluiy//0voPxpJvsqXs3w5ZfeLgMgHzZc0Nvrr/13u508SG/S5JCQF4XsDGO8F
- YUvivhhckOf/XeN/AX3fR9SN5+sSYADwLxn9v5sfoHVF4QZavz8QN+CvS6FbdwWa/b+LSgOT64b4
- dWkyAPj/fXLzk1/0sXSj+brDj0HF2Kt1u1rTC49+MVki+cNCdELkujupFtQkv6um7otsOieXg7i7
- D93wlnuZNBcM410y5/h5RkFtTbEqvf6TX9D8vBcMaXT20pF4kwM6CEbHoX8SIgO2vQfgtQjYXRU0
- 9diIEHHZI2L/kl/y/wBtp0PgIhEAAA==
+ VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b
+ tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA=
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
- Content-Length: ['1333']
+ Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:23:07 GMT']
+ Date: ['Tue, 10 May 2016 18:01:44 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
@@ -676,118 +1366,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 |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
- VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ
- uc4/evS9X/zRMlvQLx9Ny6LNt6/ypl1v3/v0/s69hw8eHtzbXhWrj0YfFTNqcbdZT5ppXazaolo2
- d3cmu+ef7j/Y3d6dnO9s789m2XaWT+9tTycP9x7sne88vP9w526dN9W6nuaf19V61dylTt7kZf4k
- X07nrz6/u6qry2KW183dL4ppXTXVeTt+kbdXVf327mo9KYvp2cvj2YyANDm/PIxh3mYXhON37/6+
- H00/3b9/8ODTyfa9vWy6vX9v/3x7sj/9dHv6MNuZne9OdvPp+e/7Eb3TXq8w8lv0TY3Lapph4PQC
- o4DPCP9VXrcFNXj0i/HXZdFQk2J58brNWsB+vZ5O83yWz6g1gRJarJmc+3v5g0/3dvLtbDoj+u1n
- 2fbDvcne9qcPDvZ289m9yfn+p/RWsVIs6JXde+OHu+Pd3Z3x3u4+fWfxLA12X+TtvAL0p9c0r8WU
- GhWzMn9TLPJq3Z4tvyiW6xbo7o8+mi2b13nbErb09y/+aFYtsmL5grjheTbJS4KxkeDnv2gGWgy3
- GfOHzXhaVutZtlqNsx+s63w8rRYf/RLCanVSLc+Li3XNeAMBpsrdHyqTLeXn2bLN6/NsOsxky2J6
- t4NyQx9M+YPd/fsP9+/v3ntwsPPpvY9+yS/5JSMrVS91hi4X21dFO9+WGdtmCn6j423aVxe//08u
- nhdNe2Y4hoazafCCC3GPbb0JW0/AdvZmBw+Jp7fPZzvnxLkPptsPp9P97SybPJzdPzgnOjz8ZgSM
- +hTeLJpVmV2DOelrg6a+DXaicX59SdyhudvfefDpdp7NZkT03fPt7OHewfb0wWRysHc+uffgnAXJ
- 0JVegSTeG+/evz/e24GU2gF9LUnscBaGwIjd/bljjr5k/OQXL4ppjzNICALcnVT0moaSsbg207hf
- 19P96U+/vSpWD66ZTPT13Q8f+uL6crF5kIIazZolyTBWHv8/fHjv/s7ew3yb1HW+vX/w4P42Keu9
- 7b3s09n+LJtNst3J/5f4f+9gbzrdmexv3384O9jezw4ebB/sZ7Pt7N7uvZ3zPZLtDOxrkf5aPH6j
- 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
+ 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
+ tevmo0cfvVovl8Xy4qNf8v8Aicy9SRQAAAA=
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
- Content-Length: ['5221']
+ Content-Length: ['140']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:23:09 GMT']
+ Date: ['Tue, 10 May 2016 18:02:14 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
- x-ms-original-request-ids: [0e46a965-2c43-4ac6-b401-f4b09f461013, 913fb2ce-c3f1-4cfa-8a54-ae7eb34cdebe,
- 3b3d2a6a-ebe7-4bf7-9203-0a5db3892e7d]
status: {code: 200, message: OK}
- request:
body: null
@@ -796,176 +1395,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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
- 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
+ VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b
+ tevmo0cfvV5Pp3k+y2cf/ZL/ByCIe+QWAAAA
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
- Content-Length: ['8529']
+ Content-Length: ['141']
Content-Type: [application/json; charset=utf-8]
- Date: ['Fri, 06 May 2016 22:23:11 GMT']
+ Date: ['Tue, 10 May 2016 18:02:44 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
- x-ms-original-request-ids: [78bc3368-3af6-437f-8573-6389c35f249f, f8bc06ba-3700-4dde-b65c-e23f55c9eed9,
- 3fb0bcbf-2d28-485b-8adc-474b793f125d]
status: {code: 200, message: OK}
- request:
body: null
@@ -973,26 +1423,174 @@ 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?api-version=2015-11-01
response:
- body: {string: ''}
+ 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-Length: ['0']
- Date: ['Fri, 06 May 2016 22:23:11 GMT']
+ 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']
- 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]
+ Vary: [Accept-Encoding]
x-ms-ratelimit-remaining-subscription-writes: ['1199']
- status: {code: 202, message: Accepted}
+ status: {code: 200, message: OK}
- request:
body: null
headers:
@@ -1000,23 +1598,47 @@ 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 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: GET
- uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?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?api-version=2015-11-01
response:
- body: {string: ''}
+ 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-Length: ['0']
- Date: ['Fri, 06 May 2016 22:23:27 GMT']
+ Content-Encoding: [gzip]
+ Content-Length: ['1228']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Tue, 10 May 2016 18:27:15 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}
+ Vary: [Accept-Encoding]
+ status: {code: 200, message: OK}
- request:
body: null
headers:
@@ -1024,23 +1646,133 @@ 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 resourcemanagementclient/2015-11-01
+ 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/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/publicIPAddresses?api-version=2015-06-15
response:
- body: {string: ''}
+ body:
+ string: !!binary |
+ H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
+ VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ
+ uc4/evS9X/zRMlvQLx9Ny6LNt6/ypl1v3/v0/s69hw8eHtzbXhWrj0YfFTNqcbdZT5ppXazaolo2
+ d3cmu+ef7j/Y3d6dnO9s789m2XaWT+9tTycP9x7sne88vP9w526dN9W6nuaf19V61dylTt7kZf4k
+ X07nrz6/u6qry2KW183dL4ppXTXVeTt+kbdXVf327mo9KYvp2cvj2YyANDm/PIxh3mYXhON37/6+
+ H00/3b9/8ODTyfa9vWy6vX9v/3x7sj/9dHv6MNuZne9OdvPp+e/7Eb3TXq8w8lv0TY3Lapph4PQC
+ o4DPCP9VXrcFNXj0i/HXZdFQk2J58brNWsB+vZ5O83yWz6g1gRJarJmc+3v5g0/3dvLtbDoj+u1n
+ 2fbDvcne9qcPDvZ289m9yfn+p/RWsVIs6JXde+OHu+Pd3Z3x3u4+fWfxLA12X+TtvAL0p9c0r8WU
+ GhWzMn9TLPJq3Z4tvyiW6xbo7o8+mi2b13nbErb09y/+aFYtsmL5grjheTbJS4KxkeDnv2gGWgy3
+ GfOHzXhaVutZtlqNsx+s63w8rRYf/RLCanVSLc+Li3XNeAMBpsrdHyqTLeXn2bLN6/NsOsxky2J6
+ t4NyQx9M+YPd/fsP9+/v3ntwsPPpvY9+yS/5JSMrVVfFclZdNdv5u5Zo9o2OsGlfXfz+P/nF6bs2
+ X4Lrmo0jtawizEQjDVHz5Gdv9+Gne9OD8+38/P697f37n55vH0z3s+179/Z2dyf3pg8f3t/5f4H8
+ 3HuwezDL82z7/sNsb3v/fGe6nR3kB0TC/ODh+f7+/QcTZv+e/DzcGx/cp28sll9LejrcgAEwWnd/
+ Tqa3z8je9N7b2SdeDdD1mDdk2JdKlMvF9lXRzreFSNss8j8L41s8L5r2zEwRob1pkIILTZhtvQlb
+ j6OnnxJDk3RuP8x3su39vcmD7Yez3d3tnensfO9TYvD92f43w9HUJ7EHKdOiWZXZNbQpfW3Q1Leh
+ /2icX5/1d8+zjEaxt/3gPtmP/fzBbPvgIc3Bzt4sm5H0Zg8zvNVn/d2de+ODh/SVHc//i3n/vXij
+ LwA/+cWLYtpjDOL7AHcnCL2moWCoPF0umDD0wd1vZLC/P9G03d04NEGI5soSwsfFY/P7Bw9nD6af
+ PtieHNybbe8/JI8iO8gOts8f7GS7n57vTSYPD74ZNid0vz737pPmnmYzsio7n5LifnBvZ3uSP8i2
+ 808P7j3IPs2n+f179FbIvQdg3739e8TCD+hLi+j/C/n3FlPa51Y7pXs7xJEBeo5FO7p6nlXTn/yC
+ B0p/3f1w5AGwvtiIuSW8zA1hjpcYC48Td3YffPpwb0pTPNmnKZ7snW8/fDjNt3ene/uTyfn9ewcP
+ Hv6/gBPv7RyQ/n842z6fwdPJSWAe3tt/uD093zufZPv3Hh7M+pw4fkhM+OmD8YMP98A7E40RMF53
+ fyhT2WdCvHS5uH+PGC5AbJADF9fGtO3X9XR/+tNvr4rVg2seM31998PHsbi+XGzW/HYKZI5oGMNY
+ eSz68OG9+zt7D/NtsqNkQw8e3N+miGtvey/7dLZPZnSS7U6+GRalPmm6f7Z9gr2Dvel0Z7JP7vCM
+ nODs4MH2wX42287u7d7bOd97OJ1m4EWL9Ndi2BtDxsX1eVVNsnqRTefFMqdQdWd3lyBqtBj9+ucs
+ ULyZt/oi8sU1+xUBY5F0BDh64hK0C2XHMABhMZ8RHQ6ITD+8kVk+EPajkcXw8eXlfLo3IxpsP9jZ
+ nVC64ny2/XDn3v72/i7hkc/27t3f/f+UD00k3DuY7R9s7+zkD8hZmn26/XCfogOKC/Kdg53s/t43
+ oOBvLS87+3t7ezu7nwLRjqzYr/4/JScsJfSisBIJRICdkxDbZFA4FrsHGVHlhzcYO+XCaTSYPjae
+ YMx27u08mHw63Z7lcGcPPj3Yfnh+/9PtjD57QImh7Pze3v+XBGNvmp9P90kwHu7k55RXuUd5lb3z
+ A8qmPpzcyx/ee7jz6YTeskj/7AqGWgpwCOjekQ3/2/9PigfYiWQhwC0QDjTYJBqYih/eQOykC6/R
+ QPrYeKIx/fR+trt/8BB5CmKlh9lk++DedLZNae8H+9m9LNt5uPv/JdGYTQ8ePCAJ376/u0M2cHK+
+ u/1w9wGllR6eTyiY3Z98SnqM+jDd/tBEA3QfFo3J/1dFY0KSEODWFY1JKBpfGMcf+b9vagw0m2cr
+ 5KQ2joNaoWPDajSOABlPKPJ8dz/f3XtA+Y4HEIq96fYk23u4Tb777MF0l4LO+/e/GaEgfL8+r+8/
+ mMzOd3b3t/N9Qm5/99P97Qn5RtufUrycnd/ffXD/0w9Pot+C1+UzAmL5Wz7ZxNM+TyiCmAQe192f
+ O47QT4CKxw/k3+1Q9Jlv73y6s0v+w/nD7cn0nDIRB5/unj/c2995uPf/ilzJ+f0J2f/JNuFEhLp3
+ Tsmd/OEeKfSd84Pd852dewd4y+Lys8UPot0IiOUH+eS2/OCSA/eXi/v5/v70/P7bT98SQB7m3Q9n
+ j3pz7s9SyMwWackhlDw2ybPp7s7ep/k2Zc8ouXs+3d2efPppRpjcvz/bmd7Lp/dv72ZKx9SBmSTq
+ ROhHn1GfQv2fVVs6Pb8Hlppt5zvkMe/v3J9tT2i5dTun3PXBdDKZzLIfYvy1u7u3d+/ePnrs8JX5
+ ZhN/EQahnUJnPMq7P+vs1DegmqIIeInsZoCgM6S7QbshWZnvX1/n+4ur+uKiBWP+kAZnZ1+YjgY3
+ jJInKzv38ox00qcI5ikkO79/sJ1N92fbDz69/zDP9vcezPazb0alUp/CWT+rsrKX7e09uL+XbZOh
+ oIzLjBb9Dg4ekire2ZkeHEyyg3t7n9Jbfp56f2dMYx/vPtwZ7+0iiW1H9LMrSItsZxf/7RG0jiTZ
+ r/4/J0oBq5HkBAh6ohS0GxKlX/SLsh88aD9993ZW36+ISj+kwdn5FxahwQ2j5InSJN+Z3r9//+H2
+ 3sEBLZ0jYUbOynT73v3z2d7uLM9obef/S6J0L9+dfUpR3Pb04c6U0uQP97cf3kdCc5rln+Z75I7z
+ Wxbpn21p4SDt4UMK04bT5PL1/+ekJuAqEpIAQU9qgnZDUvNuf75fZev6B9nip7Hs/UManOUDYT8a
+ 3DBKntQczDJSdAeUXH7wKS0sUj6QVkJzYrXd2f2He/fz8yzP/78kNbPZND+Y3ru/Pbt/nwxQTh7o
+ 5AEZoAc7k+x8ev9etv8wp7cs0j8UqcmyyWQKiHGpka//Pyc1AVeRkAQIelITtBuUmvnybb6/LN5+
+ en0OH+mHNDjLB8J+NLhhlDypySkreHB/5/729NMJdDMJTIZ/HkwfzD6dUOZ5d/r/KanZpdj9wYN7
+ 5xTYPPh0e//T6WT74YPpdPt+9uCABpQ9mO3ATYq5bfcejvd2fij5FSMz8Mx2ojYIn+/8f8/8BIxG
+ chMg6AuS3y4UpJJI+Y5o2V5Cv39TA3pTZ8RFyB+98r/YOErLBsIpNMoQN0+KDh7u7B1kFO3sPaT8
+ 9P6MrNBk8vD+9oPJwe7uJLu/N9198M1IESH89YXjYDbNHs7Op9vnn5Ih2Z/QKsFkb3J/+2E2ObiP
+ 1PqEsrvUh8Hla/F/Z9aBJnd+9+dmFvu86s3i/oNPiSkDfD0uDRnTaCp+fRvvbwuhtotVs325YLXy
+ DQ205YGiD/PFBb7YOFBBhmbNcJBdJ9qEsc/E+Wz/PsXw2w+nMAWzCUW8hOD29PzBbDrZ2fl0N//0
+ m2Fi6pN4hXTjz6opeLA73SNXiTISlFWnYGMHYRQtr55PHlI6fXd3Ot07p7cs0v9v4/avwwR9bme9
+ PMgBxOwB/o77B18JpQIN6MN7+/c5G/INDf3rCLpgSfMo7ENDD3HzOP18794eJTsn27ODe5QHJXS2
+ M8rokJOwe3CP3IW9hw++obwuIfz1GXj3gKZwsn+f0v8PclLXk93tg+zh7nZ2/0H+6fm9T+9/uo+3
+ LC7/b2PgrzOLfQYmRM0s0j/EnwG+jmE76hqvXRXLWXXVsLX+uRyUnSHDLTwoHzuPOffyyacPHtzf
+ 3X6wl5MHezB9sJ3NDvYpD5mdP8h2ZrsPs28okUoof33mnJzvTR+c71C4sL9H4emMHIpJPiVrsX/+
+ 4N4+LVg+2P9wX7oz2UCTO7/7czOPcea08/hw/x5xY4DxIHvqS3ifGeDnclh2jgy/3O1i57Hn/en+
+ g737OSUj7tHk7+9MKMA62DvY/jQ7n3364OHBA2Le/xew5869T2fEntn2g12KZikblGHV9MF2/uDg
+ YO/B/u6De9MdesuPA3fvjR/ujvc/He/twzOyaP7/k3ODKb5/QHwaIDzIuO/IY2vR+et8upydrZ5P
+ XmTt3gET8xsaoO3i85M6p5nmLu5tHJ+dLJlNGp8F0sfT4+b9g8n+zl72kDiEwrX9T0ntHuzce7i9
+ e/5gf7Kf7Tzc2z/4fwM3T3bv39+hSI1MAuFKq//bD3PybCkheH5wLyOUM7xlcfkaLOvP8fXFqlhx
+ U/rj7odP6PXF5eJm39VibyhJ7wke3oTl2c7e/u70U5LrKa2NPNg93z7Y3aN8787u+e7u7ODhw+nP
+ kXXUEcuE3SeSnE9zytZ+ekCrodP9g20KRQ62dx/cP9g7351mn+5mNDA75K8xYbfINIHulBDzVtjN
+ Jz9nmSUgcDMr9NXV9cWymJJOChDzlNT+/Qf39u4/PKB05oNQYV2vL7LlxZVGMcxP39hgBPTGoUi3
+ NMWOq+UtHyGPwe9PJ/fv3aPFsvv79ylqzff3KZVEy9D5ZH8vJ2Sm04N7/y/QSNMpuaG7+/n2JIMb
+ cJDtbU/OM/JXs72H92b7n852HuCtvn29T5nW+x/uGd7M+0JlYncCY7jffvZzx/+CwkaWiXC/vLUd
+ lQGK77fPXm6LIGzmffg1P8yRSL80x8IE3kjkG8HI4/58Z3b/nFT89r0HOSFCcfj2wWz2YHv304e0
+ vkeZVFrG+38B9x88pAW4A8oqnZNBJtuzR0H5g53zbTjGuw/PyY+YYW2uw/0HB+N7tNZwD9kIi+bX
+ 4v4OD2AEjNfdH860bmTQSE7pPTj0Hg+bvrj7wxmK9EvzIBPlDUW+EYw8Dn24f3D+AAFPNsUC04R8
+ j4ek7banlDV9cHBv+uns/Pz/BRy6d/CAdPK9B9vTfJ88xt175NjeJ3VNypl+Hsx2KQKit/ocuvfp
+ mISNvrJo/v+OQyNR+ntwKLypH+ZQpF+aB5kobyjyjWDkcej+7PzezsNdWtaZ0oTv7+9SsPDpwYxW
+ ecjtvJefUx5t9/8FHHq+M9uZ7lNIvvfg/oPt/b17lEAiz2D7wb37n2Z75D/cv4dgLeBQclz398Z7
+ ew/HBzDrFs+vxaK3dyFA4K4L8XPoQgsKG5lmI/9Hkqgb+N8syyiAe9ug/Dc8lvcN7qM4eSKQ3d85
+ eDB5iABxn1C5/4BEgMKx7Qnh8mm+n39KGH4zIkB9Cvf8rC5lHezQIkX2KWWC9yjztj/5lKR5l7wk
+ cpAmezvZZLp/D45UICvibZMypy/saH5WBUWmIRQU+uznWlA2M1dfUnjFzLy7vdsXFhN0ujYbJWaf
+ vqdxfrOD2t84KDvfwg40qChOnsRMKXObTQ8ozszPKeycnE+3H05mu9s72cH0092djD6d/H9JYnay
+ Bw9oIWJCoemM3LR79w8ojKYg9d6MXKGDjDJF+xH/BxJzb7y788OLT2UiQpmhz36uZWYze22WGUKf
+ RCTAsCcz1GajzNyn72mc3+yg7m8clJ1vYQgaVBQnT2ay3XvkilCC5pwiAsp80Ppslh9Mtx/ks73d
+ T/MdWhj7hkIB6lPY6GdVZvYfPJxMPqXQZvf+hKzM7g4ZzL0HU9IB5E0+fPjg4H4ekRnEDLvjT+Gr
+ 2eH8rIqMzEMoMvTZz7XIbOauzSJD6JOEBBj2RIbahCLDKxxEvLZY3d+7xzPzDY2IIWPt5Pjp6e69
+ BzsbR2YnXZiCRsavB4h5QvPg01lGSHy6fTDdIXx28ofb2b29yfane/mDnfsHtFJ3f/pBQpNnYAP6
+ jJD++rIwme2c780+PdieZQ9oYWh3Z0qJqAMyJ/cPchKMyb172QN6qyMLD/fGB/fGe/d+CD6XR2Rq
+ uycOoApF/7uxUOWHLxyMym1ZqS8k/DpGQmHLg937OyQUAapOSnb3P919uPtgf//gHumiIUHZewg9
+ 9bMxuE/37+1uHJzlB2EYf3AGL09MpuSC7e9NZ9vTgx3K39x7iMU+Qmc3u5+d39+lNezs0/8XiMn9
+ h/fv7e5M9olMUxKOvQmo9iCjP7P7FHrde5h9ekBv+WKyvzN+8On4HokJrdRQ9wbNH4aYHJAZI3BR
+ McF3/68Qkxs56SYxefCQpCJANRCTvb2DfULi4NO9iJgUq9N37e4BFNg3PrbPCXS+BHPdf7i/WRNY
+ rhC2MUP0sPNk5d55lu9l54TUwUNKeNGCwXb2kLT2p3v3du/Pzu/fm31g7CJcQZ8Ryl9fVqYPZ+RE
+ fUpL1zlFV/vntHwAn2p7+oAW03Z27+3s73cXDfbIpFA+do/WzPaRhLJ4/iwKC7XK37X7O/e7kuK+
+ +LkXk/dgpQFpIUkhGHv3NzhetKj86YN7FC4e3D+Iycqsmr7NaTwPSaCIVjcM8msM8ie/eMpd7D0k
+ NDeN0fKFcI4ZYwdBX2QeTHYf3ienZvYQ5uX84UNaGdibbn+6e35vb/f8wd7984P/F4gMoZNl5xSH
+ zGa7JDIP9mfkNu5RWJLtkiG8v/NgOsvoLYvLz6ZYKC1ny4bWImG5AtkIv90kIINsdG/nAcDywO9+
+ k7Ji2OhTcrA/hI0UQY+NZvdme9k9yrLc3yNXef/+LkXAB1lGrsqMZjR7mB3MHvy/gI32ZrMZrdZR
+ OniHKLf/kFYZsgNaWs53H87ynQc70/sH5/SWxeWHw0Z7nz6EVA6wEb7dxEaESai30CmP9u7PCe8M
+ q9kZA9jd2XlAmjVAuaNq9w/Isf303n4oI4trk+cgYn1TA8ynlwvq8+DhvYOD/d2He/dffb5xdJY1
+ DJveDdDyROL8IWmsB+SHZDsT0qzTGSVSD6b3tyf3ptO9T/f3H+7d+7ClBxpHOwdjZE3Byu9DJOPh
+ zuT8HkW327P9GS0n3MsoTTp9uLc9ebizNz2Y7t779BzOlu+TUJhL/vvDA0qTIrS32P7sCE1vogia
+ SkzvqzENzZHmhy81PYRuYKq+yCyuOStEYhEg6clJKBssYuwUk7rAbHxTQ2HArAAItjhaD3cONmsA
+ ywnCKjQchuKj58nJ7CFlfO5nk+2DczLo+xCR7ODg0+2dT6e79/P7k939g+z/PXIye3A+2blHbvve
+ DrJWNLu0uk5x7uQhhVsU9p5Pd2FBfDmB7/5g/CmlRuFIW2R/dsSEKU2tyEGnIKhnVuwXP9ciwui8
+ J1/1xYShkGUhGPu0jkPSESDsicv+fdJuhAjpqnsR0dkm5No5eS97Dx6Sm7+3vSpWRLtvfLQ/+cXr
+ 1yd1TmxG2v9g42gtowgjmdEOYOoJVHbvYG/n0/MH27NPp+TknJ+TQO1ReHl/l7KqD7IH5Of8v8jw
+ UMj7MNv7lOzizu4DWjvZ390mpTndns5mDyga/vQg+6ElUQdI6wtQrMn/a0TpPZhrQJR6wyPZIhkK
+ UPeFilJIn1IK6eGDB7FMaw8aEQvJ6Z/LgVs+MqwtUIZQ9cTq0/3z+xQ67G7v3QeG98kGTGZkpx7Q
+ 6D99MJ3M7p3v/r9HrD69d5DvHTykBNjO/V1axj94INgS7rsHtB5+8CCHWPl2andnnxbw7lM69uGY
+ k7UW3x+yzIHwNwnd3v8Xpa6sstmTrMyWU3zPEHpjKyd3z+uK5HI5O3sZYN8E7z9Do9PlDHL3/V/y
+ /wCfp29SVHIAAA==
headers:
Cache-Control: [no-cache]
- Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:23:42 GMT']
+ Content-Encoding: [gzip]
+ Content-Length: ['5995']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Tue, 10 May 2016 18:27:16 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}
+ 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:
@@ -1048,46 +1780,231 @@ 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 resourcemanagementclient/2015-11-01
+ 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/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkInterfaces?api-version=2015-06-15
response:
- body: {string: ''}
+ body:
+ string: !!binary |
+ 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
headers:
Cache-Control: [no-cache]
- Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:23:57 GMT']
+ Content-Encoding: [gzip]
+ Content-Length: ['10179']
+ Content-Type: [application/json; charset=utf-8]
+ Date: ['Tue, 10 May 2016 18:27:18 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}
+ 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: GET
- uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUUkc6NUZWTUxJU1RJUEFERFJFU1NFUy1XRVNUVVMiLCJqb2JMb2NhdGlvbiI6Indlc3R1cyJ9?api-version=2015-11-01
+ 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: ['Fri, 06 May 2016 22:24:12 GMT']
+ 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
@@ -1106,7 +2023,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:24:27 GMT']
+ 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]
@@ -1130,7 +2047,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:24:43 GMT']
+ 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]
@@ -1154,7 +2071,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:24:58 GMT']
+ 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]
@@ -1178,7 +2095,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:25:14 GMT']
+ 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]
@@ -1202,7 +2119,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:25:28 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]
@@ -1226,7 +2143,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:25:43 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]
@@ -1250,7 +2167,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:25:59 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]
@@ -1274,7 +2191,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:26:14 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]
@@ -1298,7 +2215,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:26:29 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]
@@ -1322,7 +2239,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:26:45 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]
@@ -1346,7 +2263,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:27:00 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]
@@ -1370,7 +2287,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:27:16 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]
@@ -1394,7 +2311,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:27:31 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]
@@ -1418,7 +2335,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:27:46 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]
@@ -1442,7 +2359,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:28:01 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]
@@ -1466,7 +2383,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:28:17 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]
@@ -1490,7 +2407,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:28:32 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]
@@ -1514,7 +2431,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:28:48 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]
@@ -1538,7 +2455,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:29:03 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]
@@ -1562,7 +2479,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:29:18 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]
@@ -1586,7 +2503,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:29:33 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]
@@ -1610,7 +2527,7 @@ interactions:
headers:
Cache-Control: [no-cache]
Content-Length: ['0']
- Date: ['Fri, 06 May 2016 22:29:49 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 a217abbeaf8..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
@@ -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/tuW/KYsGv7O3s7LhPl9kC
+ 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: ['Thu, 07 Apr 2016 22:03:08 GMT']
+ Date: ['Tue, 10 May 2016 18:33:29 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.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 ff864b2e2b8..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
@@ -4,7 +4,6 @@
from azure.cli.command_modules.vm.generated import ConvenienceVmCommands
-
class TestVMImage(unittest.TestCase):
@mock.patch('azure.cli.command_modules.vm.custom.urlopen', autospec=True)
def test_read_images_from_alias_doc(self, mock_urlopen):
@@ -18,7 +17,7 @@ def test_read_images_from_alias_doc(self, mock_urlopen):
mock_urlopen.return_value = mock_read
#action
- images = ConvenienceVmCommands(None).list_vm_images()
+ images = ConvenienceVmCommands().list_vm_images()
#assert
win_images = [i for i in images if i['publisher'] == 'MicrosoftWindowsServer']
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