diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e5fe84fe465..fd1b10ed53f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -12,7 +12,7 @@ /src/managementgroups/ @rajshah11 -/src/rdbms/ @rohit-joy +/src/rdbms_vnet/ @rahulgouthamDOTgs /src/alias/ @chewong @troydai @@ -31,3 +31,5 @@ /src/dev-spaces-preview/ @saurabsa /src/mesh/ @linggengmsft + +/src/datamigration/ @temandr diff --git a/.travis.yml b/.travis.yml index d90668cb446..e54337287b5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,19 +9,19 @@ jobs: include: - stage: verify env: PURPOSE='SourceStatic' - script: ./scripts/ci/test_static.sh + script: travis_wait ./scripts/ci/test_static.sh python: 2.7 - stage: verify env: PURPOSE='SourceStatic' - script: ./scripts/ci/test_static.sh + script: travis_wait ./scripts/ci/test_static.sh python: 3.6 - stage: verify env: PURPOSE='SourceTests' - script: ./scripts/ci/test_source.sh + script: travis_wait 40 ./scripts/ci/test_source.sh python: 2.7 - stage: verify env: PURPOSE='SourceTests' - script: ./scripts/ci/test_source.sh + script: travis_wait 40 ./scripts/ci/test_source.sh python: 3.6 - stage: verify env: PURPOSE='IndexVerify' diff --git a/README.md b/README.md index f9d5b094cf6..a789c9eb1f6 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ Add your extension to the index to make it available in these CLI commands: - Extension source code goes into the `src` directory. - You can place your source code in this repository by creating a PR. - Once CI is green and it has been approved, the PR can be merged. +- SDKs generated from [AutoRest](https://github.com/Azure/autorest) often do not pass CI static-checking. If they are vendored inside the extension, exclude them from static checking by placing them in the folder: `src//azext_*/vendored_sdks`. - Ensure that you include an appropriate owner for your extension in `.github/CODEOWNERS`. - Your extension artifact (i.e. `.whl`) will not live in this repository. You can publish your extension to PyPI or somewhere else such as Azure Storage. - If you want your extension to appear in the index.json, modify the index. diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000000..cb117c8425f --- /dev/null +++ b/docs/README.md @@ -0,0 +1,21 @@ +Azure CLI Extension Documention +======================= +Information +------------ + +Take a look at: [Azure CLI Extensions](https://github.com/Azure/azure-cli/tree/dev/doc/extensions) + +Doc Sections +------------ + +- [Authoring](https://github.com/Azure/azure-cli/blob/dev/doc/extensions/authoring.md) - How to author and develop an extension + +- [Command Guidelines](https://github.com/Azure/azure-cli/blob/dev/doc/command_guidelines.md) - Command Guidelines + +- [Publishing](https://github.com/Azure/azure-cli/blob/dev/doc/extensions/publishing.md) - How to publish an extension + +- [Summary Guidelines](https://github.com/Azure/azure-cli/blob/dev/doc/extensions/extension_summary_guidelines.md) - Summary guidelines for extensions to be published + +- [Extension Metadata](https://github.com/Azure/azure-cli/blob/dev/doc/extensions/metadata.md) - How to add additional extension metadata + +- [FAQ](https://github.com/Azure/azure-cli/blob/dev/doc/extensions/faq.md) - Commonly asked questions diff --git a/docs/extension_summary_guidelines.md b/docs/extension_summary_guidelines.md deleted file mode 100644 index d9d3cbf8637..00000000000 --- a/docs/extension_summary_guidelines.md +++ /dev/null @@ -1,39 +0,0 @@ -# Extension Summary Guidelines - -Extension summaries are required to follow these rules in order to be published -on the documentation site: - -1. Summaries must contain complete sentences. -2. Summaries must not be more than 3 sentences. Single sentences are preferred, 120-140 character max. -3. Summaries must use correct spelling and English grammar, including definite and indefinite articles for nouns ('the', 'a', or 'an') -4. Extension names are not proper nouns (i.e. should be 'alias extension', not 'Alias Extension') - - BAD: Azure CLI Alias Extension - IMPROVED: The Azure CLI alias extension. - -4. Summaries must provide a useful description. - - BAD: Azure IoT CLI Extension - IMPROVED: Additional IoT commands. - -5. Summaries should not include the following language: 'An extension', 'Azure CLI', 'command-line', or other language that refers to the CLI product or the object being installed as an extension. These are implicit: You are finding the extensions either via `az extension` or directly on the Azure CLI documentation site. - - BAD: Azure CLI Alias Extension - IMPROVED: The Azure CLI alias extension. - BEST: Support for command aliases. - - BAD: An Azure CLI Extension that copies images from region to region. - IMPROVED: Support for copying images between regions. - -6. Summaries must be as specific as possible. For example the term 'images' used in the examples for 5 is ambiguous. VM images? Container images? - -7. Summaries which included branded product names should use the correct branding terminology and capitalization. - - BAD: Microsoft Azure Command-Line Tools Extended Batch Command Module - IMPROVED: Additional Azure Batch commands. - -8. Provide an example (or examples) of the types of commands added or modified. - - BAD: Azure IoT CLI Extension - IMPROVED: Additional IoT commands. - BEST: Additional commands for working with IoT Hub, Edge, and device provisioning. diff --git a/scripts/ci/test_index.py b/scripts/ci/test_index.py index 9dfb4029731..11635c2d3ea 100755 --- a/scripts/ci/test_index.py +++ b/scripts/ci/test_index.py @@ -16,7 +16,7 @@ import hashlib import shutil from wheel.install import WHEEL_INFO_RE -from util import get_ext_metadata, get_whl_from_url, get_index_data, SKIP_DEP_CHECK +from util import get_ext_metadata, get_whl_from_url, get_index_data, verify_dependency def get_sha256sum(a_file): @@ -136,11 +136,12 @@ def test_metadata(self): "{}".format(item['filename'], json.dumps(metadata, indent=2, sort_keys=True, separators=(',', ': ')))) run_requires = metadata.get('run_requires') - if run_requires and ext_name not in SKIP_DEP_CHECK: + if run_requires: deps = run_requires[0]['requires'] - self.assertTrue(all(not dep.startswith('azure-') for dep in deps), - "Dependencies of {} use disallowed extension dependencies. " - "Remove these dependencies: {}".format(item['filename'], deps)) + self.assertTrue( + all(verify_dependency(dep) for dep in deps), + "Dependencies of {} use disallowed extension dependencies. " + "Remove these dependencies: {}".format(item['filename'], deps)) shutil.rmtree(extensions_dir) diff --git a/scripts/ci/test_source.py b/scripts/ci/test_source.py index 42d323878d5..f89af572f11 100755 --- a/scripts/ci/test_source.py +++ b/scripts/ci/test_source.py @@ -18,7 +18,7 @@ from wheel.install import WHEEL_INFO_RE from six import with_metaclass -from util import get_ext_metadata, SRC_PATH, SKIP_DEP_CHECK +from util import get_ext_metadata, verify_dependency, SRC_PATH ALL_TESTS = [] @@ -86,9 +86,9 @@ def test_source_wheels(self): ext_name = WHEEL_INFO_RE(filename).groupdict().get('name') metadata = get_ext_metadata(ext_dir, ext_file, ext_name) run_requires = metadata.get('run_requires') - if run_requires and ext_name not in SKIP_DEP_CHECK: + if run_requires: deps = run_requires[0]['requires'] - self.assertTrue(all(not dep.startswith('azure-') for dep in deps), + self.assertTrue(all(verify_dependency(dep) for dep in deps), "Dependencies of {} use disallowed extension dependencies. " "Remove these dependencies: {}".format(filename, deps)) shutil.rmtree(built_whl_dir) diff --git a/scripts/ci/util.py b/scripts/ci/util.py index 439c1a30c66..6081d4dad11 100644 --- a/scripts/ci/util.py +++ b/scripts/ci/util.py @@ -8,8 +8,9 @@ import zipfile from wheel.install import WHEEL_INFO_RE -# Extensions to skip dep. check. Aim to keep this list empty. -SKIP_DEP_CHECK = ['azure-cli-iot-ext'] +# Dependencies that will not be checked. +# This is for packages starting with 'azure-' but do not use the 'azure' namespace. +SKIP_DEP_CHECK = ['azure-batch-extensions'] def get_repo_root(): @@ -99,3 +100,10 @@ def get_index_data(): return json.load(f, object_pairs_hook=_catch_dup_keys) except ValueError as err: raise AssertionError("Invalid JSON in {}: {}".format(INDEX_PATH, err)) + + +def verify_dependency(dep): + # ex. "azure-batch-extensions (<3.1,>=3.0.0)", "paho-mqtt (==1.3.1)", "pyyaml" + # check if 'azure-' dependency, as they use 'azure' namespace. + dep_split = dep.split() + return not (dep_split and dep_split[0].startswith('azure-') and dep_split[0] not in SKIP_DEP_CHECK) diff --git a/src/aem/azext_aem/tests/latest/recordings/test_vm_aem_configure.yaml b/src/aem/azext_aem/tests/latest/recordings/test_vm_aem_configure.yaml index 0f9cba02fd0..84b5410ab79 100644 --- a/src/aem/azext_aem/tests/latest/recordings/test_vm_aem_configure.yaml +++ b/src/aem/azext_aem/tests/latest/recordings/test_vm_aem_configure.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-02T22:25:39Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -41,7 +41,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-02T22:25:39Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -192,11 +192,11 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Resources/deployments/vm_deploy_moHji9QrTuLCXTrNKhloca3TdhdB7H2u","name":"vm_deploy_moHji9QrTuLCXTrNKhloca3TdhdB7H2u","properties":{"templateHash":"7363346558210194235","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2018-04-02T22:25:44.5983234Z","duration":"PT0.3970016S","correlationId":"24b35515-429f-444d-8654-b6073e396807","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"networkSecurityGroups","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"networkInterfaces","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"vm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/virtualMachines/vm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm1"}]}}'} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/vm_deploy_moHji9QrTuLCXTrNKhloca3TdhdB7H2u/operationStatuses/08586788989412763039?api-version=2017-05-10'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/vm_deploy_moHji9QrTuLCXTrNKhloca3TdhdB7H2u/operationStatuses/08586788989412763039?api-version=2018-05-01'] cache-control: [no-cache] content-length: ['2701'] content-type: [application/json; charset=utf-8] @@ -220,7 +220,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -247,7 +247,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -274,7 +274,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -301,7 +301,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -328,7 +328,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -355,7 +355,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -382,7 +382,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -409,7 +409,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -436,7 +436,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -463,7 +463,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -490,7 +490,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -517,7 +517,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -544,7 +544,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -571,7 +571,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -598,7 +598,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -625,7 +625,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -652,7 +652,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -679,7 +679,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -706,7 +706,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -733,7 +733,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -760,7 +760,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -787,7 +787,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Running"}'} headers: @@ -814,7 +814,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586788989412763039?api-version=2018-05-01 response: body: {string: '{"status":"Succeeded"}'} headers: @@ -841,7 +841,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Resources/deployments/vm_deploy_moHji9QrTuLCXTrNKhloca3TdhdB7H2u","name":"vm_deploy_moHji9QrTuLCXTrNKhloca3TdhdB7H2u","properties":{"templateHash":"7363346558210194235","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2018-04-02T22:37:31.7139864Z","duration":"PT11M47.5126646S","correlationId":"24b35515-429f-444d-8654-b6073e396807","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"networkSecurityGroups","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"networkInterfaces","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"vm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/virtualMachines/vm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/virtualMachines/vm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vm1VNET"}]}}'} headers: @@ -1561,7 +1561,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -1569,7 +1569,7 @@ interactions: content-length: ['0'] date: ['Mon, 02 Apr 2018 22:38:27 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdISFpGUzJFRkk3V1hFM1FIRVpNRUtVWEVPWVRSNTVPNE1KU3xGRjVFREQzREY4OTYxMEE4LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdISFpGUzJFRkk3V1hFM1FIRVpNRUtVWEVPWVRSNTVPNE1KU3xGRjVFREQzREY4OTYxMEE4LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/botservice/azext_bot/_help.py b/src/botservice/azext_bot/_help.py index b39685f5338..0f3caba089b 100644 --- a/src/botservice/azext_bot/_help.py +++ b/src/botservice/azext_bot/_help.py @@ -119,6 +119,43 @@ type: command short-summary: Create Slack Channel on a Bot. """ +helps['bot connection'] = """ + type: group + short-summary: Manage OAuth Connection Settings on a Bot. +""" +helps['bot connection create'] = """ + type: command + short-summary: Create an OAuth Connection Setting on a Bot. + examples: + - name: Create a new OAuth Connection Setting on a Bot. + text: |- + az bot connection create -g MyResourceGroup -n botName -c myConnectionName + --client-id clientId --client-secret secret scopes "scope1 scope2" --service google + --parameters id=myid +""" +helps['bot connection show'] = """ + type: command + short-summary: Show details of an OAuth Connection Setting on a Bot. +""" +helps['bot connection list'] = """ + type: command + short-summary: Show all OAuth Connection Settings on a Bot. +""" +helps['bot connection delete'] = """ + type: command + short-summary: Delete an OAuth Connection Setting on a Bot. +""" +helps['bot connection list-providers'] = """ + type: command + short-summary: List Details of All service Providers available for creating OAuth Connection Settings. + examples: + - name: list all service providers. + text: |- + az bot connection list-providers + - name: Filter by a particular type of service provider. + text: |- + az bot connection list-providers --provider-name google +""" for channel in ['facebook', 'email', 'msteams', 'skype', 'kik', 'webchat', 'directline', 'telegram', 'sms', 'slack']: channelTitle = channel[:1].upper() + channel[1:] diff --git a/src/botservice/azext_bot/_params.py b/src/botservice/azext_bot/_params.py index 79731e803fc..e7dfd3b5328 100644 --- a/src/botservice/azext_bot/_params.py +++ b/src/botservice/azext_bot/_params.py @@ -108,3 +108,17 @@ def load_arguments(self, _): c.argument('client_id', help='The client id from slack') c.argument('verification_token', help='The verification token from slack') c.argument('landing_page_url', help='The landing page url to redirect to after login') + + with self.argument_context('bot connection') as c: + c.argument('connection_name', options_list=['--connection-name', '-c'], help='name of the oauth connection setting') + + with self.argument_context('bot connection create') as c: + c.argument('client_id', help='client id associated with the service provider setting') + c.argument('client_secret', help='client secret associated with the service provider setting') + c.argument('scopes', help='scopes associated with the service provider setting.The format depends on the service provider.') + c.argument('service_provider_name', options_list=['--service'], help='name of the service provider. For a list of all service providers, use az bot connection listserviceproviders') + c.argument('parameters', help='parameter values for Service Provider Parameters. Usage: --parameters key=value key1=value1', nargs='+') + + with self.argument_context('bot connection list-providers') as c: + c.argument('as_raw_settings', options_list=['--as-raw'], help='Output the raw json for each service provider', arg_type=get_three_state_flag()) + c.argument('name', options_list=['--provider-name'], help='service provider name for which to fetch details') diff --git a/src/botservice/azext_bot/botservice/__init__.py b/src/botservice/azext_bot/botservice/__init__.py index 2d20da87551..62afd7a253a 100644 --- a/src/botservice/azext_bot/botservice/__init__.py +++ b/src/botservice/azext_bot/botservice/__init__.py @@ -15,3 +15,4 @@ __all__ = ['AzureBotService'] __version__ = VERSION + diff --git a/src/botservice/azext_bot/botservice/azure_bot_service.py b/src/botservice/azext_bot/botservice/azure_bot_service.py index 3b955a8470e..723f6199f3b 100644 --- a/src/botservice/azext_bot/botservice/azure_bot_service.py +++ b/src/botservice/azext_bot/botservice/azure_bot_service.py @@ -16,6 +16,7 @@ from .operations.bots_operations import BotsOperations from .operations.channels_operations import ChannelsOperations from .operations.operations import Operations +from .operations.bot_connection_operations import BotConnectionOperations from . import models @@ -63,6 +64,8 @@ class AzureBotService(object): :vartype channels: azure.mgmt.botservice.operations.ChannelsOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.botservice.operations.Operations + :ivar bot_connection: BotConnection operations + :vartype bot_connection: azure.mgmt.botservice.operations.BotConnectionOperations :param credentials: Credentials needed for the client to connect to Azure. :type credentials: :mod:`A msrestazure Credentials @@ -89,3 +92,5 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.operations = Operations( self._client, self.config, self._serialize, self._deserialize) + self.bot_connection = BotConnectionOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/botservice/azext_bot/botservice/models/__init__.py b/src/botservice/azext_bot/botservice/models/__init__.py index 52017029217..1fec61eea2d 100644 --- a/src/botservice/azext_bot/botservice/models/__init__.py +++ b/src/botservice/azext_bot/botservice/models/__init__.py @@ -38,6 +38,14 @@ from .sms_channel import SmsChannel from .slack_channel_properties import SlackChannelProperties from .slack_channel import SlackChannel +from .connection_item_name import ConnectionItemName +from .connection_setting_parameter import ConnectionSettingParameter +from .connection_setting_properties import ConnectionSettingProperties +from .connection_setting import ConnectionSetting +from .service_provider_parameter import ServiceProviderParameter +from .service_provider_properties import ServiceProviderProperties +from .service_provider import ServiceProvider +from .service_provider_response_list import ServiceProviderResponseList from .error_body import ErrorBody from .error import Error, ErrorException from .operation_display_info import OperationDisplayInfo @@ -47,6 +55,7 @@ from .bot_paged import BotPaged from .bot_channel_paged import BotChannelPaged from .operation_entity_paged import OperationEntityPaged +from .connection_setting_paged import ConnectionSettingPaged from .azure_bot_service_enums import ( SkuName, SkuTier, @@ -84,6 +93,14 @@ 'SmsChannel', 'SlackChannelProperties', 'SlackChannel', + 'ConnectionItemName', + 'ConnectionSettingParameter', + 'ConnectionSettingProperties', + 'ConnectionSetting', + 'ServiceProviderParameter', + 'ServiceProviderProperties', + 'ServiceProvider', + 'ServiceProviderResponseList', 'ErrorBody', 'Error', 'ErrorException', 'OperationDisplayInfo', @@ -93,6 +110,7 @@ 'BotPaged', 'BotChannelPaged', 'OperationEntityPaged', + 'ConnectionSettingPaged', 'SkuName', 'SkuTier', 'Kind', diff --git a/src/botservice/azext_bot/botservice/models/connection_item_name.py b/src/botservice/azext_bot/botservice/models/connection_item_name.py new file mode 100644 index 00000000000..803f033c31f --- /dev/null +++ b/src/botservice/azext_bot/botservice/models/connection_item_name.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectionItemName(Model): + """The display name of a connection Item Setting registered with the Bot. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Connection Item name that has been added in the API + :vartype name: str + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self): + self.name = None diff --git a/src/botservice/azext_bot/botservice/models/connection_setting.py b/src/botservice/azext_bot/botservice/models/connection_setting.py new file mode 100644 index 00000000000..708356434b4 --- /dev/null +++ b/src/botservice/azext_bot/botservice/models/connection_setting.py @@ -0,0 +1,63 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource import Resource + + +class ConnectionSetting(Resource): + """Bot channel resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Specifies the resource ID. + :vartype id: str + :ivar name: Specifies the name of the resource. + :vartype name: str + :param location: Specifies the location of the resource. + :type location: str + :ivar type: Specifies the type of the resource. + :vartype type: str + :param tags: Contains resource tags defined as key/value pairs. + :type tags: dict[str, str] + :param sku: Gets or sets the SKU of the resource. + :type sku: ~azure.mgmt.botservice.models.Sku + :param kind: Required. Gets or sets the Kind of the resource. Possible + values include: 'sdk', 'designer', 'bot', 'function' + :type kind: str or ~azure.mgmt.botservice.models.Kind + :param etag: Entity Tag + :type etag: str + :param properties: The set of properties specific to bot channel resource + :type properties: + ~azure.mgmt.botservice.models.ConnectionSettingProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ConnectionSettingProperties'}, + } + + def __init__(self, location=None, tags=None, sku=None, kind=None, etag=None, properties=None): + super(ConnectionSetting, self).__init__(location=location, tags=tags, sku=sku, kind=kind, etag=etag) + self.properties = properties diff --git a/src/botservice/azext_bot/botservice/models/connection_setting_paged.py b/src/botservice/azext_bot/botservice/models/connection_setting_paged.py new file mode 100644 index 00000000000..5708e4ee7ee --- /dev/null +++ b/src/botservice/azext_bot/botservice/models/connection_setting_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ConnectionSettingPaged(Paged): + """ + A paging container for iterating over a list of :class:`ConnectionSetting ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ConnectionSetting]'} + } + + def __init__(self, *args, **kwargs): + + super(ConnectionSettingPaged, self).__init__(*args, **kwargs) diff --git a/src/botservice/azext_bot/botservice/models/connection_setting_parameter.py b/src/botservice/azext_bot/botservice/models/connection_setting_parameter.py new file mode 100644 index 00000000000..1185e763020 --- /dev/null +++ b/src/botservice/azext_bot/botservice/models/connection_setting_parameter.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectionSettingParameter(Model): + """Extra Parameter in a Connection Setting Properties to indicate service + provider specific properties. + + :param key: Key for the Connection Setting Parameter. + :type key: str + :param value: Value associated with the Connection Setting Parameter. + :type value: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, key=None, value=None): + self.key = key + self.value = value diff --git a/src/botservice/azext_bot/botservice/models/connection_setting_properties.py b/src/botservice/azext_bot/botservice/models/connection_setting_properties.py new file mode 100644 index 00000000000..505a98492a1 --- /dev/null +++ b/src/botservice/azext_bot/botservice/models/connection_setting_properties.py @@ -0,0 +1,63 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectionSettingProperties(Model): + """Properties for a Connection Setting Item. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param client_id: Client Id associated with the Connection Setting. + :type client_id: str + :ivar setting_id: Setting Id set by the service for the Connection + Setting. + :vartype setting_id: str + :param client_secret: Client Secret associated with the Connection Setting + :type client_secret: str + :param scopes: Scopes associated with the Connection Setting + :type scopes: str + :param service_provider_id: Service Provider Id associated with the + Connection Setting + :type service_provider_id: str + :param service_provider_display_name: Service Provider Display Name + associated with the Connection Setting + :type service_provider_display_name: str + :param parameters: Service Provider Parameters associated with the + Connection Setting + :type parameters: + list[~azure.mgmt.botservice.models.ConnectionSettingParameter] + """ + + _validation = { + 'setting_id': {'readonly': True}, + } + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'setting_id': {'key': 'settingId', 'type': 'str'}, + 'client_secret': {'key': 'clientSecret', 'type': 'str'}, + 'scopes': {'key': 'scopes', 'type': 'str'}, + 'service_provider_id': {'key': 'serviceProviderId', 'type': 'str'}, + 'service_provider_display_name': {'key': 'serviceProviderDisplayName', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[ConnectionSettingParameter]'}, + } + + def __init__(self, client_id=None, client_secret=None, scopes=None, service_provider_id=None, service_provider_display_name=None, parameters=None): + self.client_id = client_id + self.setting_id = None + self.client_secret = client_secret + self.scopes = scopes + self.service_provider_id = service_provider_id + self.service_provider_display_name = service_provider_display_name + self.parameters = parameters diff --git a/src/rdbms/azext_rdbms/postgresql/models/operation_list_result.py b/src/botservice/azext_bot/botservice/models/service_provider.py similarity index 57% rename from src/rdbms/azext_rdbms/postgresql/models/operation_list_result.py rename to src/botservice/azext_bot/botservice/models/service_provider.py index 064d889c587..7849723e8ee 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/operation_list_result.py +++ b/src/botservice/azext_bot/botservice/models/service_provider.py @@ -12,17 +12,16 @@ from msrest.serialization import Model -class OperationListResult(Model): - """A list of resource provider operations. +class ServiceProvider(Model): + """Service Provider Definition. - :param value: The list of resource provider operations. - :type value: list[~azure.mgmt.rdbms.postgresql.models.Operation] + :param properties: The Properties of a Service Provider Object + :type properties: ~azure.mgmt.botservice.models.ServiceProviderProperties """ _attribute_map = { - 'value': {'key': 'value', 'type': '[Operation]'}, + 'properties': {'key': 'properties', 'type': 'ServiceProviderProperties'}, } - def __init__(self, **kwargs): - super(OperationListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) + def __init__(self, properties=None): + self.properties = properties diff --git a/src/botservice/azext_bot/botservice/models/service_provider_parameter.py b/src/botservice/azext_bot/botservice/models/service_provider_parameter.py new file mode 100644 index 00000000000..d168ca32fa1 --- /dev/null +++ b/src/botservice/azext_bot/botservice/models/service_provider_parameter.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceProviderParameter(Model): + """Extra Parameters specific to each Service Provider. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the Service Provider + :vartype name: str + :ivar type: Type of the Service Provider + :vartype type: str + :ivar display_name: Display Name of the Service Provider + :vartype display_name: str + :ivar description: Description of the Service Provider + :vartype description: str + :ivar help_url: Help Url for the Service Provider + :vartype help_url: str + :ivar default: Default Name for the Service Provider + :vartype default: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'help_url': {'readonly': True}, + 'default': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'help_url': {'key': 'helpUrl', 'type': 'str'}, + 'default': {'key': 'default', 'type': 'str'}, + } + + def __init__(self): + self.name = None + self.type = None + self.display_name = None + self.description = None + self.help_url = None + self.default = None diff --git a/src/botservice/azext_bot/botservice/models/service_provider_properties.py b/src/botservice/azext_bot/botservice/models/service_provider_properties.py new file mode 100644 index 00000000000..20b40176836 --- /dev/null +++ b/src/botservice/azext_bot/botservice/models/service_provider_properties.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceProviderProperties(Model): + """The Object used to describe a Service Provider supported by Bot Service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Id for Service Provider + :vartype id: str + :ivar display_name: Diplay Name of the Service Provider + :vartype display_name: str + :ivar service_provider_name: Diplay Name of the Service Provider + :vartype service_provider_name: str + :ivar dev_portal_url: Diplay Name of the Service Provider + :vartype dev_portal_url: str + :ivar icon_url: Diplay Name of the Service Provider + :vartype icon_url: str + :param parameters: The list of parameters for the Service Provider + :type parameters: + list[~azure.mgmt.botservice.models.ServiceProviderParameter] + """ + + _validation = { + 'id': {'readonly': True}, + 'display_name': {'readonly': True}, + 'service_provider_name': {'readonly': True}, + 'dev_portal_url': {'readonly': True}, + 'icon_url': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, + 'dev_portal_url': {'key': 'devPortalUrl', 'type': 'str'}, + 'icon_url': {'key': 'iconUrl', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[ServiceProviderParameter]'}, + } + + def __init__(self, parameters=None): + self.id = None + self.display_name = None + self.service_provider_name = None + self.dev_portal_url = None + self.icon_url = None + self.parameters = parameters diff --git a/src/botservice/azext_bot/botservice/models/service_provider_response_list.py b/src/botservice/azext_bot/botservice/models/service_provider_response_list.py new file mode 100644 index 00000000000..269485a7d38 --- /dev/null +++ b/src/botservice/azext_bot/botservice/models/service_provider_response_list.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceProviderResponseList(Model): + """The list of bot service service providers response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param next_link: The link used to get the next page of bot service + service providers. + :type next_link: str + :ivar value: Gets the list of bot service service providers and their + properties. + :vartype value: list[~azure.mgmt.botservice.models.ServiceProvider] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ServiceProvider]'}, + } + + def __init__(self, next_link=None): + self.next_link = next_link + self.value = None diff --git a/src/botservice/azext_bot/botservice/operations/__init__.py b/src/botservice/azext_bot/botservice/operations/__init__.py index a587b5bcc9f..c52c36afa15 100644 --- a/src/botservice/azext_bot/botservice/operations/__init__.py +++ b/src/botservice/azext_bot/botservice/operations/__init__.py @@ -12,9 +12,11 @@ from .bots_operations import BotsOperations from .channels_operations import ChannelsOperations from .operations import Operations +from .bot_connection_operations import BotConnectionOperations __all__ = [ 'BotsOperations', 'ChannelsOperations', 'Operations', + 'BotConnectionOperations', ] diff --git a/src/botservice/azext_bot/botservice/operations/bot_connection_operations.py b/src/botservice/azext_bot/botservice/operations/bot_connection_operations.py new file mode 100644 index 00000000000..4803a84e8a5 --- /dev/null +++ b/src/botservice/azext_bot/botservice/operations/bot_connection_operations.py @@ -0,0 +1,501 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class BotConnectionOperations(object): + """BotConnectionOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An objec model deserializer. + :ivar api_version: Version of the API to be used with the client request. Current version is 2017-12-01. Constant value: "2017-12-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-12-01" + + self.config = config + + def list_service_providers( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists the available Service Providers for creating Connection Settings. + + :param resource_group_name: The name of the Bot resource group in the + user subscription. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceProviderResponseList or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.botservice.models.ServiceProviderResponseList or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = '/subscriptions/{subscriptionId}/providers/Microsoft.BotService/listAuthServiceProviders' + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ServiceProviderResponseList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_with_secrets( + self, resource_group_name, resource_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Get a Connection Setting registration for a Bot Service. + + :param resource_group_name: The name of the Bot resource group in the + user subscription. + :type resource_group_name: str + :param resource_name: The name of the Bot resource. + :type resource_name: str + :param connection_name: The name of the Bot Service Connection Setting + resource + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionSetting or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.botservice.models.ConnectionSetting or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets' + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectionSetting', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, resource_name, connection_name, parameters, custom_headers=None, raw=False, **operation_config): + """Register a new Auth Connection for a Bot Service. + + :param resource_group_name: The name of the Bot resource group in the + user subscription. + :type resource_group_name: str + :param resource_name: The name of the Bot resource. + :type resource_name: str + :param connection_name: The name of the Bot Service Connection Setting + resource + :type connection_name: str + :param parameters: The parameters to provide for creating the + Connection Setting. + :type parameters: ~azure.mgmt.botservice.models.ConnectionSetting + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionSetting or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.botservice.models.ConnectionSetting or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}' + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ConnectionSetting') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectionSetting', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionSetting', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, resource_name, connection_name, parameters, custom_headers=None, raw=False, **operation_config): + """Updates a Connection Setting registration for a Bot Service. + + :param resource_group_name: The name of the Bot resource group in the + user subscription. + :type resource_group_name: str + :param resource_name: The name of the Bot resource. + :type resource_name: str + :param connection_name: The name of the Bot Service Connection Setting + resource + :type connection_name: str + :param parameters: The parameters to provide for updating the + Connection Setting. + :type parameters: ~azure.mgmt.botservice.models.ConnectionSetting + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionSetting or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.botservice.models.ConnectionSetting or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}' + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ConnectionSetting') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectionSetting', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionSetting', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get( + self, resource_group_name, resource_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Get a Connection Setting registration for a Bot Service. + + :param resource_group_name: The name of the Bot resource group in the + user subscription. + :type resource_group_name: str + :param resource_name: The name of the Bot resource. + :type resource_name: str + :param connection_name: The name of the Bot Service Connection Setting + resource + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionSetting or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.botservice.models.ConnectionSetting or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}' + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectionSetting', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def delete( + self, resource_group_name, resource_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Deletes a Connection Setting registration for a Bot Service. + + :param resource_group_name: The name of the Bot resource group in the + user subscription. + :type resource_group_name: str + :param resource_name: The name of the Bot resource. + :type resource_name: str + :param connection_name: The name of the Bot Service Connection Setting + resource + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}' + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def list_by_bot_service( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns all the Connection Settings registered to a particular + BotService resource. + + :param resource_group_name: The name of the Bot resource group in the + user subscription. + :type resource_group_name: str + :param resource_name: The name of the Bot resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ConnectionSetting + :rtype: + ~azure.mgmt.botservice.models.ConnectionSettingPaged[~azure.mgmt.botservice.models.ConnectionSetting] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections' + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ConnectionSettingPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ConnectionSettingPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized diff --git a/src/botservice/azext_bot/botservice/operations/bots_operations.py b/src/botservice/azext_bot/botservice/operations/bots_operations.py index 6c198db96d6..ed14d253da5 100644 --- a/src/botservice/azext_bot/botservice/operations/bots_operations.py +++ b/src/botservice/azext_bot/botservice/operations/bots_operations.py @@ -41,8 +41,8 @@ def create( """Creates a Bot Service. Bot Service is a resource group wide resource type. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -62,7 +62,7 @@ def create( # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } @@ -110,8 +110,8 @@ def update( self, resource_group_name, resource_name, location=None, tags=None, sku=None, kind=None, etag=None, properties=None, custom_headers=None, raw=False, **operation_config): """Updates a Bot Service. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -144,7 +144,7 @@ def update( # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } @@ -192,8 +192,8 @@ def delete( self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): """Deletes a Bot Service from the resource group. . - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -210,7 +210,7 @@ def delete( # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } @@ -245,8 +245,8 @@ def get( self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): """Returns a BotService specified by the parameters. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -264,7 +264,7 @@ def get( # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } @@ -307,8 +307,8 @@ def list_by_resource_group( """Returns all the resources of a particular type belonging to a resource group. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the @@ -327,7 +327,7 @@ def internal_paging(next_link=None, raw=False): # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) diff --git a/src/botservice/azext_bot/botservice/operations/channels_operations.py b/src/botservice/azext_bot/botservice/operations/channels_operations.py index eada70665df..63a291a2c50 100644 --- a/src/botservice/azext_bot/botservice/operations/channels_operations.py +++ b/src/botservice/azext_bot/botservice/operations/channels_operations.py @@ -40,8 +40,8 @@ def create( self, resource_group_name, resource_name, channel_name, parameters, custom_headers=None, raw=False, **operation_config): """Creates a Channel registration for a Bot Service. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -66,7 +66,7 @@ def create( # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'channelName': self._serialize.url("channel_name", channel_name, 'ChannelName'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') @@ -115,8 +115,8 @@ def update( self, resource_group_name, resource_name, channel_name, location=None, tags=None, sku=None, kind=None, etag=None, properties=None, custom_headers=None, raw=False, **operation_config): """Updates a Channel registration for a Bot Service. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -155,7 +155,7 @@ def update( # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'channelName': self._serialize.url("channel_name", channel_name, 'ChannelName'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') @@ -204,8 +204,8 @@ def delete( self, resource_group_name, resource_name, channel_name, custom_headers=None, raw=False, **operation_config): """Deletes a Channel registration from a Bot Service. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -224,7 +224,7 @@ def delete( # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'channelName': self._serialize.url("channel_name", channel_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') @@ -260,8 +260,8 @@ def get( self, resource_group_name, resource_name, channel_name, custom_headers=None, raw=False, **operation_config): """Returns a BotService Channel registration specified by the parameters. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -281,7 +281,7 @@ def get( # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'channelName': self._serialize.url("channel_name", channel_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') @@ -324,8 +324,8 @@ def list_with_keys( self, resource_group_name, resource_name, channel_name, custom_headers=None, raw=False, **operation_config): """Lists a Channel registration for a Bot Service including secrets. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -348,7 +348,7 @@ def list_with_keys( # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'channelName': self._serialize.url("channel_name", channel_name, 'ChannelName'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') @@ -392,8 +392,8 @@ def list_by_resource_group( """Returns all the Channel registrations of a particular BotService resource. - :param resource_group_name: The name of the resource group within the - user's subscription. + :param resource_group_name: The name of the Bot resource group in the + user subscription. :type resource_group_name: str :param resource_name: The name of the Bot resource. :type resource_name: str @@ -414,7 +414,7 @@ def internal_paging(next_link=None, raw=False): # Construct URL url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels' path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=64, min_length=2, pattern=r'^[a-zA-Z0-9][a-zA-Z0-9_.-]*$'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } diff --git a/src/botservice/azext_bot/botservice/version.py b/src/botservice/azext_bot/botservice/version.py index fb0159ed93d..e0ec669828c 100644 --- a/src/botservice/azext_bot/botservice/version.py +++ b/src/botservice/azext_bot/botservice/version.py @@ -10,3 +10,4 @@ # -------------------------------------------------------------------------- VERSION = "0.1.0" + diff --git a/src/botservice/azext_bot/commands.py b/src/botservice/azext_bot/commands.py index f0c1689c8f2..5717f5e4bb1 100644 --- a/src/botservice/azext_bot/commands.py +++ b/src/botservice/azext_bot/commands.py @@ -37,6 +37,13 @@ def load_command_table(self, _): g.custom_command('delete', 'delete_bot') g.generic_update_command('update', setter_name='update', setter_type=updateBotService_commandType) + with self.command_group('bot connection', botOperations_commandType) as g: + g.custom_command('list', 'get_connections') + g.custom_command('show', 'get_connection') + g.custom_command('create', 'create_connection') + g.custom_command('delete', 'delete_connection') + g.custom_command('list-providers', 'get_service_providers') + for channel in ['facebook', 'email', 'msteams', 'skype', 'kik', 'webchat', 'directline', 'telegram', 'sms', 'slack']: with self.command_group('bot {}'.format(channel), channelOperations_commandType) as g: diff --git a/src/botservice/azext_bot/custom.py b/src/botservice/azext_bot/custom.py index b78458eda4d..7361f27494f 100644 --- a/src/botservice/azext_bot/custom.py +++ b/src/botservice/azext_bot/custom.py @@ -167,6 +167,55 @@ def get_bot(cmd, client, resource_group_name, resource_name, bot_json=None): return raw_bot_properties +def get_connections(client, resource_group_name, resource_name): + return client.bot_connection.list_by_bot_service(resource_group_name, resource_name) + + +def get_connection(client, resource_group_name, resource_name, connection_name): + return client.bot_connection.get(resource_group_name, resource_name, connection_name) + + +def create_connection(client, resource_group_name, resource_name, connection_name, client_id, + client_secret, scopes, service_provider_name, parameters=None): + from azext_bot.botservice.models import ConnectionSetting, ConnectionSettingProperties, ConnectionSettingParameter + service_provider = get_service_providers(client, name=service_provider_name) + if not service_provider: + raise CLIError('Invalid Service Provider Name passed. Use listprovider command to see all available providers') + connection_parameters = [] + if parameters: + for parameter in parameters: + pair = parameter.split('=', 1) + if len(pair) == 1: + raise CLIError('usage error: --parameters STRING=STRING STRING=STRING') + connection_parameters.append(ConnectionSettingParameter(key=pair[0], value=pair[1])) + setting = ConnectionSetting( + location='global', + properties=ConnectionSettingProperties( + client_id=client_id, + client_secret=client_secret, + scopes=scopes, + service_provider_id=service_provider.properties.id, + parameters=connection_parameters + ) + ) + return client.bot_connection.create(resource_group_name, resource_name, connection_name, setting) + + +def delete_connection(client, resource_group_name, resource_name, connection_name): + return client.bot_connection.delete(resource_group_name, resource_name, connection_name) + + +def get_service_providers(client, name=None): + service_provider_response = client.bot_connection.list_service_providers() + name = name and name.lower() + if name: + try: + return next((item for item in service_provider_response.value if item.properties.service_provider_name.lower() == name.lower())) # pylint: disable=line-too-long + except StopIteration: + raise CLIError('A service provider with the name {0} was not found'.format(name)) + return service_provider_response + + def create_app(cmd, client, resource_group_name, resource_name, description, kind, appid, password, storageAccountName, # pylint: disable=inconsistent-return-statements location, sku_name, appInsightsLocation, bot_json, language): if kind == 'function': @@ -233,7 +282,7 @@ def create_app(cmd, client, resource_group_name, resource_name, description, kin return create_bot_json(cmd, client, resource_group_name, resource_name, app_password=password) -def publish_app(cmd, _, resource_group_name, resource_name, git_url=None, git_token=None, git_branch='master', # pylint: disable=inconsistent-return-statements +def publish_app(cmd, resource_group_name, resource_name, git_url=None, git_token=None, git_branch='master', # pylint: disable=inconsistent-return-statements code_dir=None): # if given msbot json, use that to update environment settings like luis settings if git_url: diff --git a/src/botservice/setup.py b/src/botservice/setup.py index 86c46bbe21f..1c6e81fb4c0 100644 --- a/src/botservice/setup.py +++ b/src/botservice/setup.py @@ -13,7 +13,7 @@ logger.warn("Wheel is not available, disabling bdist_wheel hook") cmdclass = {} -VERSION = "0.0.1" +VERSION = "0.0.4" # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers CLASSIFIERS = [ diff --git a/src/datamigration/README.rst b/src/datamigration/README.rst new file mode 100644 index 00000000000..1cf1aca1af7 --- /dev/null +++ b/src/datamigration/README.rst @@ -0,0 +1,7 @@ +Microsoft Azure CLI 'Database Migration Service' Command Module +=============================================================== + +This package is for the 'Database Migration Service' module. +i.e. 'az dms' + + diff --git a/src/datamigration/azext_dms/__init__.py b/src/datamigration/azext_dms/__init__.py new file mode 100644 index 00000000000..89e9ef98420 --- /dev/null +++ b/src/datamigration/azext_dms/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +import azext_dms._help # pylint: disable=unused-import + + +class DmsCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azure.cli.command_modules.dms.commands import dms_api_exception_handler + dms_custom = CliCommandType(operations_tmpl='azext_dms.custom#{}', + exception_handler=dms_api_exception_handler) + super(DmsCommandsLoader, self).__init__(cli_ctx=cli_ctx, + min_profile='2017-03-10-profile', + custom_command_type=dms_custom) + + def load_command_table(self, args): + from azext_dms.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_dms._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = DmsCommandsLoader diff --git a/src/datamigration/azext_dms/_client_factory.py b/src/datamigration/azext_dms/_client_factory.py new file mode 100644 index 00000000000..f823802e8b4 --- /dev/null +++ b/src/datamigration/azext_dms/_client_factory.py @@ -0,0 +1,18 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def dms_client_factory(cli_ctx, **_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azext_dms.vendored_sdks.datamigration import DataMigrationServiceClient + return get_mgmt_service_client(cli_ctx, DataMigrationServiceClient) + + +def dms_cf_projects(cli_ctx, *_): + return dms_client_factory(cli_ctx).projects + + +def dms_cf_tasks(cli_ctx, *_): + return dms_client_factory(cli_ctx).tasks diff --git a/src/datamigration/azext_dms/_help.py b/src/datamigration/azext_dms/_help.py new file mode 100644 index 00000000000..8fed678b8e1 --- /dev/null +++ b/src/datamigration/azext_dms/_help.py @@ -0,0 +1,140 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps + +helps['dms project create'] = """ + type: command + short-summary: Create a migration Project which can contain multiple Tasks. + long-summary: | + This extension currently supports the following project configurations. + -) source -> target :: data movement type + 1) SQL -> SQLDB :: One time + 2) PostgreSQL -> AzureDbForPostgreSql :: Continuous + 3) MySQL -> AzureDbForMySql :: Continuous + + parameters: + - name: --source-platform + type: string + short-summary: > + The type of server for the source database. The supported types are: SQL, PostgreSQL, MySQL + - name: --target-platform + type: string + short-summary: > + The type of service for the target database. The supported types are: SQLDB, AzureDbForPostgreSql, AzureDbForMySql. + examples: + - name: Create a SQL Project for a DMS instance. + text: > + az dms project create -l westus -n myproject -g myresourcegroup --service-name mydms --source-platform SQL--target-platform SQLDB --tags tagName1=tagValue1 tagWithNoValue +""" + +helps['dms project task create'] = """ + type: command + short-summary: Create a migration Project which can contain multiple Tasks. + parameters: + - name: --source-platform + type: string + short-summary: > + The type of server for the source database. The supported types are: SQL, PostgreSQL, MySQL + - name: --target-platform + type: string + short-summary: > + The type of service for the target database. The supported types are: SQLDB, AzureDbForPostgreSql, AzureDbForMySql. + - name: --database-options-json + type: string + short-summary: > + Database and table information. This can be either a JSON-formatted string or the location to a file containing the JSON object. See example below for the format. + - name: --source-connection-json + type: string + short-summary: > + The connection information to the source server. This can be either a JSON-formatted string or the location to a file containing the JSON object. See example below for the format. + - name: --target-connection-json + type: string + short-summary: > + The connection information to the target server. This can be either a JSON-formatted string or the location to a file containing the JSON object. See example below for the format. + - name: --enable-data-integrity-validation + type: bool + short-summary: > + (For SQL only) Whether to perform a checksum based data integrity validation between source and target for the selected database and tables. + - name: --enable-query-analysis-validation + type: bool + short-summary: > + (For SQL only) Whether to perform a quick and intelligent query analysis by retrieving queries from the source database and executing them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries. + - name: --enable-schema-validation + type: bool + short-summary: > + (For SQL only) Whether to compare the schema information between source and target. + examples: + - name: Create and start a SQL Task which performs no validation checks. + text: > + az dms project task create --database-options-json C:\\CLI Files\\databaseOptions.json -n mytask --project-name myproject -g myresourcegroup --service-name mydms --source-connection-json '{'dataSource': 'myserver', 'authentication': 'SqlAuthentication', 'encryptConnection': 'true', 'trustServerCertificate': 'true'}' --target-connection-json C:\\CLI Files\\targetConnection.json + - name: Create and start a SQL Task which performs all validation checks. + text: > + az dms project task create --database-options-json C:\\CLI Files\\databaseOptions.json -n mytask --project-name myproject -g myresourcegroup --service-name mydms --source-connection-json C:\\CLI Files\\sourceConnection.json --target-connection-json C:\\CLI Files\\targetConnection.json --enable-data-integrity-validation=True --enable-query-analysis-validation --enable-schema-validation + - name: For SQL, the format of the database options JSON object. + long-summary: | + For SQL we support per table migrations. To use this, specify the tables names in the 'table_map' as below. + YOu can aslo set the source as read only. + text: > + [ + { + "name": "source database", + "target_database_name": "target database", + "make_source_db_read_only": false|true, + "table_map": { + "schema.SourceTableName1": "schema.TargetTableName1", + "schema.SourceTableName2": "schema.TargetTableName2", + ...n + } + }, + ...n + ] + - name: For PostgreSQL and MySQL, the format of the database options JSON object. + text: > + [ + { + "name": "source database", + "target_database_name": "target database", + }, + ...n + ] + - name: The format of the connection JSON object for SQL connections. + text: > + { + "userName": "user name", // if this is missing or null, you will be prompted + "password": null, // if this is missing or null (highly recommended) you will be prompted + "dataSource": "server name[,port]", + "authentication": "SqlAuthentication|WindowsAuthentication", + "encryptConnection": true, // highly recommended to leave as true + "trustServerCertificate": true // highly recommended to leave as true + } + - name: The format of the connection JSON object for MySql connections. + text: > + { + "userName": "user name", // if this is missing or null, you will be prompted + "password": null, // if this is missing or null (highly recommended) you will be prompted + "serverName": "server name", + "port": 3306 // if this is missing, it will default to 3306 + } + - name: The format of the connection JSON object for PostgreSql connections. + text: > + { + "userName": "user name", // if this is missing or null, you will be prompted + "password": null, // if this is missing or null (highly recommended) you will be prompted + "serverName": "server name", + "databaseName": "database name", // if this is missing, it will default to the 'postgres' database + "port": 5432 // if this is missing, it will default to 5432 + } +""" + +helps['dms project task cutover'] = """ + type: command + short-summary: For a continuous task, complete the migration by performing a cutover. + parameters: + - name: --database-name + type: string + short-summary: > + The name of the database on the source you wish to cutover. +""" diff --git a/src/datamigration/azext_dms/_params.py b/src/datamigration/azext_dms/_params.py new file mode 100644 index 00000000000..7e70c3ed007 --- /dev/null +++ b/src/datamigration/azext_dms/_params.py @@ -0,0 +1,22 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.arguments import CLIArgumentType + +from azure.cli.core.commands.parameters import tags_type + + +def load_arguments(self, _): + name_arg_type = CLIArgumentType(options_list=['--name', '-n'], metavar='NAME') + + with self.argument_context('dms project') as c: + c.argument('service_name', options_list=['--service-name'], help="The name of the Service.") + c.argument('project_name', name_arg_type, help='The name of the Project.') + c.argument('tags', tags_type, help='A space-delimited list of tags in tag1[=value1]" format.') + + with self.argument_context('dms project task') as c: + c.argument('service_name', options_list=['--service-name'], help="The name of the Service.") + c.argument('project_name', options_list=['--project-name']) + c.argument('task_name', name_arg_type, help='The name of the Task.') diff --git a/src/datamigration/azext_dms/azext_metadata.json b/src/datamigration/azext_dms/azext_metadata.json new file mode 100644 index 00000000000..7441f421b63 --- /dev/null +++ b/src/datamigration/azext_dms/azext_metadata.json @@ -0,0 +1,3 @@ +{ + "azext.isPreview": true +} diff --git a/src/datamigration/azext_dms/commands.py b/src/datamigration/azext_dms/commands.py new file mode 100644 index 00000000000..206b479b981 --- /dev/null +++ b/src/datamigration/azext_dms/commands.py @@ -0,0 +1,29 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + +from azext_dms._client_factory import (dms_client_factory, + dms_cf_projects, + dms_cf_tasks) + + +def load_command_table(self, _): + dms_projects_sdk = CliCommandType( + operations_tmpl='azext_dms.vendored_sdks.datamigration.operations.projects_operations#ProjectsOperations.{}', + client_factory=dms_client_factory + ) + + dms_tasks_sdk = CliCommandType( + operations_tmpl='azext_dms.vendored_sdks.datamigration.operations.tasks_operations#TasksOperations.{}', + client_factory=dms_client_factory + ) + + with self.command_group('dms project', dms_projects_sdk, client_factory=dms_cf_projects) as g: + g.custom_command('create', 'create_or_update_project') + + with self.command_group('dms project task', dms_tasks_sdk, client_factory=dms_cf_tasks) as g: + g.custom_command('create', 'create_task') + g.custom_command('cutover', 'cutover_sync_task') diff --git a/src/datamigration/azext_dms/custom.py b/src/datamigration/azext_dms/custom.py new file mode 100644 index 00000000000..04430694e88 --- /dev/null +++ b/src/datamigration/azext_dms/custom.py @@ -0,0 +1,232 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.core.util import get_file_json, shell_safe_json_parse +from knack.prompting import prompt, prompt_pass +from azext_dms.vendored_sdks.datamigration.models import (Project, + SqlConnectionInfo, + MySqlConnectionInfo, + PostgreSqlConnectionInfo, + MigrateSyncCompleteCommandInput, + MigrateSqlServerSqlDbTaskProperties, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, + MigrateMySqlAzureDbForMySqlSyncTaskProperties, + MigrateSyncCompleteCommandProperties) +from azext_dms.scenarios import (get_migrate_sql_server_to_sqldb_input, + get_migrate_postgresql_to_azuredbforpostgresql_sync_input, + get_migrate_mysql_to_azuredbformysql_sync_input) + + +# region Project +def create_or_update_project( + client, + project_name, + service_name, + resource_group_name, + location, + source_platform, + target_platform, + tags=None): + + # Validation: Test scenario eligibility + if not determine_scenario_eligibility(source_platform, target_platform): + raise ValueError('The provided source-platform and target-platform combination is not appropriate. \n\ + The only supported scenarios are: \n\ + 1) Sql -> SqlDb \n\ + 2) PostgreSql -> AzureDbForPostgreSql \n\ + 3) MySql -> AzureDbForMySql') + + # Get the data movement type + data_movement_type = get_data_movement_type(source_platform, target_platform) + + parameters = Project(location=location, + source_platform=source_platform, + target_platform=target_platform, + tags=tags, + data_movement=data_movement_type) + + return client.create_or_update(parameters=parameters, + group_name=resource_group_name, + service_name=service_name, + project_name=project_name) +# endregion + + +# region Task +def create_task( + client, + resource_group_name, + service_name, + project_name, + task_name, + source_platform, + target_platform, + source_connection_json, + target_connection_json, + database_options_json, + enable_schema_validation=False, + enable_data_integrity_validation=False, + enable_query_analysis_validation=False): + + # Validation: Test scenario eligibility + if not determine_scenario_eligibility(source_platform, target_platform): + raise ValueError('The provided source-platform and target-platform combination is not appropriate. \n\ + The only supported scenarios are: \n\ + 1) Sql -> SqlDb \n \ + 2) PostgreSql -> AzureDbForPostgreSql \n\ + 3) MySql -> AzureDbForMySql') + + if os.path.exists(source_connection_json): + source_connection_json = get_file_json(source_connection_json) + else: + source_connection_json = shell_safe_json_parse(source_connection_json) + source_connection_info = create_connection(source_connection_json, "Source Database", source_platform) + + if os.path.exists(target_connection_json): + target_connection_json = get_file_json(target_connection_json) + else: + target_connection_json = shell_safe_json_parse(target_connection_json) + target_connection_info = create_connection(target_connection_json, "Target Database", target_platform) + + if os.path.exists(database_options_json): + database_options_json = get_file_json(database_options_json) + else: + database_options_json = shell_safe_json_parse(database_options_json) + + task_properties = get_task_migration_properties(database_options_json, + source_platform, + target_platform, + source_connection_info, + target_connection_info, + enable_schema_validation, + enable_data_integrity_validation, + enable_query_analysis_validation) + + return client.create_or_update(group_name=resource_group_name, + service_name=service_name, + project_name=project_name, + task_name=task_name, + properties=task_properties) + + +def cutover_sync_task( + client, + resource_group_name, + service_name, + project_name, + task_name, + database_name): + sync_input = MigrateSyncCompleteCommandInput(database_name=database_name) + + # 'input' is a built in function. Even though we can technically use it, it's not recommended. + # https://stackoverflow.com/questions/20670732/is-input-a-keyword-in-python + sync_properties_params = {'input': sync_input} + sync_properties = MigrateSyncCompleteCommandProperties(**sync_properties_params) + + client.command(group_name=resource_group_name, + service_name=service_name, + project_name=project_name, + task_name=task_name, + parameters=sync_properties) + +# endregion + + +# region Helper Methods +def determine_scenario_eligibility(source_raw, target_raw): + source_type = source_raw.lower() + target_type = target_raw.lower() + + return (source_type == "sql" and target_type == "sqldb") or \ + (source_type == "postgresql" and target_type == "azuredbforpostgresql") or \ + (source_type == "mysql" and target_type == "azuredbformysql") + + +# As of now, we dont expose Sql continuous migrations. +# So we'll hard code the data movement type to simplify user interaction. +# In the future, we can remove this method and add a validation in its stead. +def get_data_movement_type(source_type, target_type): + source_type = source_type.lower() + target_type = target_type.lower() + oneTime = "OneTimeMigration" + cont = "Continuous" + + if source_type == "sql" and target_type == "sqldb": + return oneTime + return cont + + +def create_connection(connection_info_json, prompt_prefix, typeOfInfo): + typeOfInfo = typeOfInfo.lower() + + user_name = connection_info_json.get('userName', None) or prompt(prompt_prefix + 'Username: ') + password = connection_info_json.get('password', None) or prompt_pass(msg=prompt_prefix + 'Password: ') + server_name = connection_info_json.get('serverName', None) + if "mysql" in typeOfInfo: + port = connection_info_json.get('port', 3306) + return MySqlConnectionInfo(user_name=user_name, + password=password, + server_name=server_name, + port=port) + elif "postgre" in typeOfInfo: + database_name = connection_info_json.get('databaseName', "postgres") + port = connection_info_json.get('port', 5432) + return PostgreSqlConnectionInfo(user_name=user_name, + password=password, + server_name=server_name, + database_name=database_name, + port=port) + data_source = connection_info_json.get('dataSource', None) + authentication = connection_info_json.get('authentication', None) + encrypt_connection = connection_info_json.get('encryptConnection', None) + trust_server_certificate = connection_info_json.get('trustServerCertificate', None) + additional_settings = connection_info_json.get('additionalSettings', None) + return SqlConnectionInfo(user_name=user_name, + password=password, + data_source=data_source, + authentication=authentication, + encrypt_connection=encrypt_connection, + trust_server_certificate=trust_server_certificate, + additional_settings=additional_settings) + + +def get_task_migration_properties( + database_options_json, + source_raw, + target_raw, + source_connection_info, + target_connection_info, + enable_schema_validation, + enable_data_integrity_validation, + enable_query_analysis_validation): + source_type = source_raw.lower() + target_type = target_raw.lower() + + if source_type == 'sql' and target_type == 'sqldb': + TaskProperties = MigrateSqlServerSqlDbTaskProperties + task_input = get_migrate_sql_server_to_sqldb_input( + database_options_json, + source_connection_info, + target_connection_info, + enable_schema_validation, + enable_data_integrity_validation, + enable_query_analysis_validation) + elif source_type == 'postgresql' and target_type == 'azuredbforpostgresql': + TaskProperties = MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties + task_input = get_migrate_postgresql_to_azuredbforpostgresql_sync_input( + database_options_json, + source_connection_info, + target_connection_info) + elif source_type == 'mysql' and target_type == 'azuredbformysql': + TaskProperties = MigrateMySqlAzureDbForMySqlSyncTaskProperties + task_input = get_migrate_mysql_to_azuredbformysql_sync_input( + database_options_json, + source_connection_info, + target_connection_info) + + return TaskProperties(input=task_input) +# endregion diff --git a/src/datamigration/azext_dms/scenarios.py b/src/datamigration/azext_dms/scenarios.py new file mode 100644 index 00000000000..0dc60aaee80 --- /dev/null +++ b/src/datamigration/azext_dms/scenarios.py @@ -0,0 +1,71 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azext_dms.vendored_sdks.datamigration.models import (MigrationValidationOptions, + MigrateSqlServerSqlDbDatabaseInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, + MigrateMySqlAzureDbForMySqlSyncDatabaseInput, + MigrateSqlServerSqlDbTaskInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, + MigrateMySqlAzureDbForMySqlSyncTaskInput) + + +def get_migrate_sql_server_to_sqldb_input(database_options_json, + source_connection_info, + target_connection_info, + enable_schema_validation, + enable_data_integrity_validation, + enable_query_analysis_validation): + validation_options = MigrationValidationOptions(enable_schema_validation=enable_schema_validation, + enable_data_integrity_validation=enable_data_integrity_validation, + enable_query_analysis_validation=enable_query_analysis_validation) + + database_options = [] + + for d in database_options_json: + database_options.append(MigrateSqlServerSqlDbDatabaseInput( + name=d.get('name', None), + target_database_name=d.get('target_database_name', None), + make_source_db_read_only=d.get('make_source_db_read_only', None), + table_map=d.get('table_map', None))) + + return MigrateSqlServerSqlDbTaskInput(source_connection_info=source_connection_info, + target_connection_info=target_connection_info, + selected_databases=database_options, + validation_options=validation_options) + + +def get_migrate_postgresql_to_azuredbforpostgresql_sync_input(database_options_json, + source_connection_info, + target_connection_info): + database_options = [] + + for d in database_options_json: + database_options.append(MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput( + name=d.get('name', None), + target_database_name=d.get('target_database_name', None), + make_source_db_read_only=None, + table_map=None)) + + return MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput(source_connection_info=source_connection_info, + target_connection_info=target_connection_info, + selected_databases=database_options) + + +def get_migrate_mysql_to_azuredbformysql_sync_input(database_options_json, + source_connection_info, + target_connection_info): + database_options = [] + + for d in database_options_json: + database_options.append(MigrateMySqlAzureDbForMySqlSyncDatabaseInput( + name=d.get('name', None), + target_database_name=d.get('target_database_name', None), + make_source_db_read_only=None, + table_map=None)) + + return MigrateMySqlAzureDbForMySqlSyncTaskInput(source_connection_info=source_connection_info, + target_connection_info=target_connection_info, + selected_databases=database_options) diff --git a/src/datamigration/azext_dms/vendored_sdks/__init__.py b/src/datamigration/azext_dms/vendored_sdks/__init__.py new file mode 100644 index 00000000000..a5b81f3bde4 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +__import__('pkg_resources').declare_namespace(__name__) diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/__init__.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/__init__.py new file mode 100644 index 00000000000..50b17677a35 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .data_migration_service_client import DataMigrationServiceClient +from .version import VERSION + +__all__ = ['DataMigrationServiceClient'] + +__version__ = VERSION + diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/data_migration_service_client.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/data_migration_service_client.py new file mode 100644 index 00000000000..71e3f5ff95d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/data_migration_service_client.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import ServiceClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.resource_skus_operations import ResourceSkusOperations +from .operations.services_operations import ServicesOperations +from .operations.tasks_operations import TasksOperations +from .operations.projects_operations import ProjectsOperations +from .operations.usages_operations import UsagesOperations +from .operations.operations import Operations +from . import models + + +class DataMigrationServiceClientConfiguration(AzureConfiguration): + """Configuration for DataMigrationServiceClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Identifier of the subscription + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(DataMigrationServiceClientConfiguration, self).__init__(base_url) + + self.add_user_agent('datamigrationserviceclient/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class DataMigrationServiceClient(object): + """Data Migration Client + + :ivar config: Configuration for client. + :vartype config: DataMigrationServiceClientConfiguration + + :ivar resource_skus: ResourceSkus operations + :vartype resource_skus: azure.mgmt.datamigration.operations.ResourceSkusOperations + :ivar services: Services operations + :vartype services: azure.mgmt.datamigration.operations.ServicesOperations + :ivar tasks: Tasks operations + :vartype tasks: azure.mgmt.datamigration.operations.TasksOperations + :ivar projects: Projects operations + :vartype projects: azure.mgmt.datamigration.operations.ProjectsOperations + :ivar usages: Usages operations + :vartype usages: azure.mgmt.datamigration.operations.UsagesOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.datamigration.operations.Operations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Identifier of the subscription + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = DataMigrationServiceClientConfiguration(credentials, subscription_id, base_url) + self._client = ServiceClient(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2017-11-15-privatepreview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.resource_skus = ResourceSkusOperations( + self._client, self.config, self._serialize, self._deserialize) + self.services = ServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.tasks = TasksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.projects = ProjectsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.usages = UsagesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/__init__.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/__init__.py new file mode 100644 index 00000000000..cabbb157d36 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/__init__.py @@ -0,0 +1,428 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .odata_error import ODataError +from .reportable_exception import ReportableException +from .migrate_sync_complete_command_output import MigrateSyncCompleteCommandOutput +from .migrate_sync_complete_command_input import MigrateSyncCompleteCommandInput +from .migrate_sync_complete_command_properties import MigrateSyncCompleteCommandProperties +from .command_properties import CommandProperties +from .tracked_resource import TrackedResource +from .resource import Resource +from .validate_migration_input_sql_server_sql_server_task_output import ValidateMigrationInputSqlServerSqlServerTaskOutput +from .database_file_input import DatabaseFileInput +from .migrate_sql_server_sql_server_database_input import MigrateSqlServerSqlServerDatabaseInput +from .oracle_connection_info import OracleConnectionInfo +from .postgre_sql_connection_info import PostgreSqlConnectionInfo +from .my_sql_connection_info import MySqlConnectionInfo +from .connection_info import ConnectionInfo +from .sql_connection_info import SqlConnectionInfo +from .validate_migration_input_sql_server_sql_server_task_input import ValidateMigrationInputSqlServerSqlServerTaskInput +from .validate_migration_input_sql_server_sql_server_task_properties import ValidateMigrationInputSqlServerSqlServerTaskProperties +from .validate_migration_input_sql_server_sql_mi_task_output import ValidateMigrationInputSqlServerSqlMITaskOutput +from .blob_share import BlobShare +from .file_share import FileShare +from .migrate_sql_server_sql_mi_database_input import MigrateSqlServerSqlMIDatabaseInput +from .validate_migration_input_sql_server_sql_mi_task_input import ValidateMigrationInputSqlServerSqlMITaskInput +from .validate_migration_input_sql_server_sql_mi_task_properties import ValidateMigrationInputSqlServerSqlMITaskProperties +from .sync_migration_database_error_event import SyncMigrationDatabaseErrorEvent +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_error import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_error import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_table_level import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_level import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_migration_level import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_database_input import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_input import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_properties import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_error import MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_error import MigrateMySqlAzureDbForMySqlSyncTaskOutputError +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_table_level import MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_level import MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_migration_level import MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output import MigrateMySqlAzureDbForMySqlSyncTaskOutput +from .migrate_my_sql_azure_db_for_my_sql_sync_database_input import MigrateMySqlAzureDbForMySqlSyncDatabaseInput +from .migrate_my_sql_azure_db_for_my_sql_sync_task_input import MigrateMySqlAzureDbForMySqlSyncTaskInput +from .migrate_my_sql_azure_db_for_my_sql_sync_task_properties import MigrateMySqlAzureDbForMySqlSyncTaskProperties +from .migrate_sql_server_sql_db_sync_task_output_database_error import MigrateSqlServerSqlDbSyncTaskOutputDatabaseError +from .migrate_sql_server_sql_db_sync_task_output_error import MigrateSqlServerSqlDbSyncTaskOutputError +from .migrate_sql_server_sql_db_sync_task_output_table_level import MigrateSqlServerSqlDbSyncTaskOutputTableLevel +from .migrate_sql_server_sql_db_sync_task_output_database_level import MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel +from .migrate_sql_server_sql_db_sync_task_output_migration_level import MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel +from .migrate_sql_server_sql_db_sync_task_output import MigrateSqlServerSqlDbSyncTaskOutput +from .sql_migration_task_input import SqlMigrationTaskInput +from .migrate_sql_server_sql_db_database_input import MigrateSqlServerSqlDbDatabaseInput +from .migrate_sql_server_sql_db_sync_task_input import MigrateSqlServerSqlDbSyncTaskInput +from .migrate_sql_server_sql_db_sync_task_properties import MigrateSqlServerSqlDbSyncTaskProperties +from .migrate_sql_server_sql_server_task_output_error import MigrateSqlServerSqlServerTaskOutputError +from .data_item_migration_summary_result import DataItemMigrationSummaryResult +from .migrate_sql_server_sql_server_task_output_database_level import MigrateSqlServerSqlServerTaskOutputDatabaseLevel +from .migrate_sql_server_sql_server_task_output_migration_level import MigrateSqlServerSqlServerTaskOutputMigrationLevel +from .migrate_sql_server_sql_server_task_output import MigrateSqlServerSqlServerTaskOutput +from .migrate_sql_server_sql_server_task_input import MigrateSqlServerSqlServerTaskInput +from .migrate_sql_server_sql_server_task_properties import MigrateSqlServerSqlServerTaskProperties +from .validation_error import ValidationError +from .wait_statistics import WaitStatistics +from .execution_statistics import ExecutionStatistics +from .query_execution_result import QueryExecutionResult +from .query_analysis_validation_result import QueryAnalysisValidationResult +from .schema_comparison_validation_result_type import SchemaComparisonValidationResultType +from .schema_comparison_validation_result import SchemaComparisonValidationResult +from .data_integrity_validation_result import DataIntegrityValidationResult +from .migration_validation_database_level_result import MigrationValidationDatabaseLevelResult +from .migration_validation_database_summary_result import MigrationValidationDatabaseSummaryResult +from .migration_validation_result import MigrationValidationResult +from .migrate_sql_server_sql_db_task_output_error import MigrateSqlServerSqlDbTaskOutputError +from .migrate_sql_server_sql_db_task_output_table_level import MigrateSqlServerSqlDbTaskOutputTableLevel +from .migrate_sql_server_sql_db_task_output_database_level import MigrateSqlServerSqlDbTaskOutputDatabaseLevel +from .migration_report_result import MigrationReportResult +from .database_summary_result import DatabaseSummaryResult +from .migrate_sql_server_sql_db_task_output_migration_level import MigrateSqlServerSqlDbTaskOutputMigrationLevel +from .migrate_sql_server_sql_db_task_output import MigrateSqlServerSqlDbTaskOutput +from .migration_validation_options import MigrationValidationOptions +from .migrate_sql_server_sql_db_task_input import MigrateSqlServerSqlDbTaskInput +from .migrate_sql_server_sql_db_task_properties import MigrateSqlServerSqlDbTaskProperties +from .migrate_sql_server_sql_mi_task_output_error import MigrateSqlServerSqlMITaskOutputError +from .migrate_sql_server_sql_mi_task_output_login_level import MigrateSqlServerSqlMITaskOutputLoginLevel +from .migrate_sql_server_sql_mi_task_output_agent_job_level import MigrateSqlServerSqlMITaskOutputAgentJobLevel +from .migrate_sql_server_sql_mi_task_output_database_level import MigrateSqlServerSqlMITaskOutputDatabaseLevel +from .start_migration_scenario_server_role_result import StartMigrationScenarioServerRoleResult +from .migrate_sql_server_sql_mi_task_output_migration_level import MigrateSqlServerSqlMITaskOutputMigrationLevel +from .migrate_sql_server_sql_mi_task_output import MigrateSqlServerSqlMITaskOutput +from .migrate_sql_server_sql_mi_task_input import MigrateSqlServerSqlMITaskInput +from .migrate_sql_server_sql_mi_task_properties import MigrateSqlServerSqlMITaskProperties +from .migration_table_metadata import MigrationTableMetadata +from .data_migration_project_metadata import DataMigrationProjectMetadata +from .oracle_data_migration_project_metadata import OracleDataMigrationProjectMetadata +from .get_project_details_oracle_sql_task_output import GetProjectDetailsOracleSqlTaskOutput +from .get_project_details_non_sql_task_input import GetProjectDetailsNonSqlTaskInput +from .get_project_details_oracle_sql_task_properties import GetProjectDetailsOracleSqlTaskProperties +from .my_sql_data_migration_project_metadata import MySqlDataMigrationProjectMetadata +from .get_project_details_my_sql_sql_task_output import GetProjectDetailsMySqlSqlTaskOutput +from .get_project_details_my_sql_sql_task_properties import GetProjectDetailsMySqlSqlTaskProperties +from .connect_to_target_azure_db_for_my_sql_task_output import ConnectToTargetAzureDbForMySqlTaskOutput +from .connect_to_target_azure_db_for_my_sql_task_input import ConnectToTargetAzureDbForMySqlTaskInput +from .connect_to_target_azure_db_for_my_sql_task_properties import ConnectToTargetAzureDbForMySqlTaskProperties +from .connect_to_target_sql_server_task_output import ConnectToTargetSqlServerTaskOutput +from .connect_to_target_sql_server_task_input import ConnectToTargetSqlServerTaskInput +from .connect_to_target_sql_server_task_properties import ConnectToTargetSqlServerTaskProperties +from .connect_to_target_sql_mi_task_output import ConnectToTargetSqlMITaskOutput +from .connect_to_target_sql_mi_task_input import ConnectToTargetSqlMITaskInput +from .connect_to_target_sql_mi_task_properties import ConnectToTargetSqlMITaskProperties +from .database_table import DatabaseTable +from .get_user_tables_sql_task_output import GetUserTablesSqlTaskOutput +from .get_user_tables_sql_task_input import GetUserTablesSqlTaskInput +from .get_user_tables_sql_task_properties import GetUserTablesSqlTaskProperties +from .connect_to_target_sql_db_task_output import ConnectToTargetSqlDbTaskOutput +from .connect_to_target_sql_db_task_input import ConnectToTargetSqlDbTaskInput +from .connect_to_target_sql_db_task_properties import ConnectToTargetSqlDbTaskProperties +from .migration_eligibility_info import MigrationEligibilityInfo +from .connect_to_source_sql_server_task_output_agent_job_level import ConnectToSourceSqlServerTaskOutputAgentJobLevel +from .connect_to_source_sql_server_task_output_login_level import ConnectToSourceSqlServerTaskOutputLoginLevel +from .database_file_info import DatabaseFileInfo +from .connect_to_source_sql_server_task_output_database_level import ConnectToSourceSqlServerTaskOutputDatabaseLevel +from .connect_to_source_sql_server_task_output_task_level import ConnectToSourceSqlServerTaskOutputTaskLevel +from .connect_to_source_sql_server_task_output import ConnectToSourceSqlServerTaskOutput +from .connect_to_source_sql_server_task_input import ConnectToSourceSqlServerTaskInput +from .connect_to_source_sql_server_task_properties import ConnectToSourceSqlServerTaskProperties +from .project_task_properties import ProjectTaskProperties +from .project_task import ProjectTask +from .service_sku import ServiceSku +from .data_migration_service import DataMigrationService +from .name_availability_request import NameAvailabilityRequest +from .database_info import DatabaseInfo +from .project import Project +from .api_error import ApiError, ApiErrorException +from .service_operation_display import ServiceOperationDisplay +from .service_operation import ServiceOperation +from .quota_name import QuotaName +from .quota import Quota +from .name_availability_response import NameAvailabilityResponse +from .project_artifacts_response import ProjectArtifactsResponse +from .available_service_sku_sku import AvailableServiceSkuSku +from .available_service_sku_capacity import AvailableServiceSkuCapacity +from .available_service_sku import AvailableServiceSku +from .data_migration_service_status_response import DataMigrationServiceStatusResponse +from .resource_sku_restrictions import ResourceSkuRestrictions +from .resource_sku_capabilities import ResourceSkuCapabilities +from .resource_sku_costs import ResourceSkuCosts +from .resource_sku_capacity import ResourceSkuCapacity +from .resource_sku import ResourceSku +from .connect_to_source_my_sql_task_input import ConnectToSourceMySqlTaskInput +from .server_properties import ServerProperties +from .connect_to_source_non_sql_task_output import ConnectToSourceNonSqlTaskOutput +from .connect_to_source_my_sql_task_properties import ConnectToSourceMySqlTaskProperties +from .connect_to_source_oracle_task_input import ConnectToSourceOracleTaskInput +from .connect_to_source_oracle_task_properties import ConnectToSourceOracleTaskProperties +from .migrate_my_sql_sql_task_input import MigrateMySqlSqlTaskInput +from .migrate_my_sql_sql_task_output import MigrateMySqlSqlTaskOutput +from .migrate_my_sql_sql_task_properties import MigrateMySqlSqlTaskProperties +from .data_migration_error import DataMigrationError +from .non_sql_data_migration_table_result import NonSqlDataMigrationTableResult +from .non_sql_migration_task_output import NonSqlMigrationTaskOutput +from .non_sql_data_migration_table import NonSqlDataMigrationTable +from .non_sql_migration_task_input import NonSqlMigrationTaskInput +from .migrate_oracle_sql_task_input import MigrateOracleSqlTaskInput +from .migrate_oracle_sql_task_output import MigrateOracleSqlTaskOutput +from .migrate_oracle_sql_task_properties import MigrateOracleSqlTaskProperties +from .database import Database +from .database_object_name import DatabaseObjectName +from .resource_sku_paged import ResourceSkuPaged +from .available_service_sku_paged import AvailableServiceSkuPaged +from .data_migration_service_paged import DataMigrationServicePaged +from .project_task_paged import ProjectTaskPaged +from .project_paged import ProjectPaged +from .quota_paged import QuotaPaged +from .service_operation_paged import ServiceOperationPaged +from .data_migration_service_client_enums import ( + CommandState, + DatabaseFileType, + AuthenticationType, + OracleConnectionMode, + SyncTableMigrationState, + SyncDatabaseMigrationReportingState, + SyncMigrationState, + MigrationState, + DatabaseMigrationStage, + MigrationStatus, + ValidationStatus, + Severity, + UpdateActionType, + ObjectType, + LoginMigrationStage, + LoginType, + DatabaseState, + DatabaseCompatLevel, + ServerLevelPermissionsGroup, + TaskState, + ServiceProvisioningState, + ProjectTargetPlatform, + ProjectSourcePlatform, + ProjectProvisioningState, + DataMovement, + NameCheckFailureReason, + ServiceScalability, + ResourceSkuRestrictionsType, + ResourceSkuRestrictionsReasonCode, + ResourceSkuCapacityScaleType, + MySqlTargetPlatformType, + ErrorType, + DataMigrationResultCode, +) + +__all__ = [ + 'ODataError', + 'ReportableException', + 'MigrateSyncCompleteCommandOutput', + 'MigrateSyncCompleteCommandInput', + 'MigrateSyncCompleteCommandProperties', + 'CommandProperties', + 'TrackedResource', + 'Resource', + 'ValidateMigrationInputSqlServerSqlServerTaskOutput', + 'DatabaseFileInput', + 'MigrateSqlServerSqlServerDatabaseInput', + 'OracleConnectionInfo', + 'PostgreSqlConnectionInfo', + 'MySqlConnectionInfo', + 'ConnectionInfo', + 'SqlConnectionInfo', + 'ValidateMigrationInputSqlServerSqlServerTaskInput', + 'ValidateMigrationInputSqlServerSqlServerTaskProperties', + 'ValidateMigrationInputSqlServerSqlMITaskOutput', + 'BlobShare', + 'FileShare', + 'MigrateSqlServerSqlMIDatabaseInput', + 'ValidateMigrationInputSqlServerSqlMITaskInput', + 'ValidateMigrationInputSqlServerSqlMITaskProperties', + 'SyncMigrationDatabaseErrorEvent', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputError', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutput', + 'MigrateMySqlAzureDbForMySqlSyncDatabaseInput', + 'MigrateMySqlAzureDbForMySqlSyncTaskInput', + 'MigrateMySqlAzureDbForMySqlSyncTaskProperties', + 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseError', + 'MigrateSqlServerSqlDbSyncTaskOutputError', + 'MigrateSqlServerSqlDbSyncTaskOutputTableLevel', + 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel', + 'MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel', + 'MigrateSqlServerSqlDbSyncTaskOutput', + 'SqlMigrationTaskInput', + 'MigrateSqlServerSqlDbDatabaseInput', + 'MigrateSqlServerSqlDbSyncTaskInput', + 'MigrateSqlServerSqlDbSyncTaskProperties', + 'MigrateSqlServerSqlServerTaskOutputError', + 'DataItemMigrationSummaryResult', + 'MigrateSqlServerSqlServerTaskOutputDatabaseLevel', + 'MigrateSqlServerSqlServerTaskOutputMigrationLevel', + 'MigrateSqlServerSqlServerTaskOutput', + 'MigrateSqlServerSqlServerTaskInput', + 'MigrateSqlServerSqlServerTaskProperties', + 'ValidationError', + 'WaitStatistics', + 'ExecutionStatistics', + 'QueryExecutionResult', + 'QueryAnalysisValidationResult', + 'SchemaComparisonValidationResultType', + 'SchemaComparisonValidationResult', + 'DataIntegrityValidationResult', + 'MigrationValidationDatabaseLevelResult', + 'MigrationValidationDatabaseSummaryResult', + 'MigrationValidationResult', + 'MigrateSqlServerSqlDbTaskOutputError', + 'MigrateSqlServerSqlDbTaskOutputTableLevel', + 'MigrateSqlServerSqlDbTaskOutputDatabaseLevel', + 'MigrationReportResult', + 'DatabaseSummaryResult', + 'MigrateSqlServerSqlDbTaskOutputMigrationLevel', + 'MigrateSqlServerSqlDbTaskOutput', + 'MigrationValidationOptions', + 'MigrateSqlServerSqlDbTaskInput', + 'MigrateSqlServerSqlDbTaskProperties', + 'MigrateSqlServerSqlMITaskOutputError', + 'MigrateSqlServerSqlMITaskOutputLoginLevel', + 'MigrateSqlServerSqlMITaskOutputAgentJobLevel', + 'MigrateSqlServerSqlMITaskOutputDatabaseLevel', + 'StartMigrationScenarioServerRoleResult', + 'MigrateSqlServerSqlMITaskOutputMigrationLevel', + 'MigrateSqlServerSqlMITaskOutput', + 'MigrateSqlServerSqlMITaskInput', + 'MigrateSqlServerSqlMITaskProperties', + 'MigrationTableMetadata', + 'DataMigrationProjectMetadata', + 'OracleDataMigrationProjectMetadata', + 'GetProjectDetailsOracleSqlTaskOutput', + 'GetProjectDetailsNonSqlTaskInput', + 'GetProjectDetailsOracleSqlTaskProperties', + 'MySqlDataMigrationProjectMetadata', + 'GetProjectDetailsMySqlSqlTaskOutput', + 'GetProjectDetailsMySqlSqlTaskProperties', + 'ConnectToTargetAzureDbForMySqlTaskOutput', + 'ConnectToTargetAzureDbForMySqlTaskInput', + 'ConnectToTargetAzureDbForMySqlTaskProperties', + 'ConnectToTargetSqlServerTaskOutput', + 'ConnectToTargetSqlServerTaskInput', + 'ConnectToTargetSqlServerTaskProperties', + 'ConnectToTargetSqlMITaskOutput', + 'ConnectToTargetSqlMITaskInput', + 'ConnectToTargetSqlMITaskProperties', + 'DatabaseTable', + 'GetUserTablesSqlTaskOutput', + 'GetUserTablesSqlTaskInput', + 'GetUserTablesSqlTaskProperties', + 'ConnectToTargetSqlDbTaskOutput', + 'ConnectToTargetSqlDbTaskInput', + 'ConnectToTargetSqlDbTaskProperties', + 'MigrationEligibilityInfo', + 'ConnectToSourceSqlServerTaskOutputAgentJobLevel', + 'ConnectToSourceSqlServerTaskOutputLoginLevel', + 'DatabaseFileInfo', + 'ConnectToSourceSqlServerTaskOutputDatabaseLevel', + 'ConnectToSourceSqlServerTaskOutputTaskLevel', + 'ConnectToSourceSqlServerTaskOutput', + 'ConnectToSourceSqlServerTaskInput', + 'ConnectToSourceSqlServerTaskProperties', + 'ProjectTaskProperties', + 'ProjectTask', + 'ServiceSku', + 'DataMigrationService', + 'NameAvailabilityRequest', + 'DatabaseInfo', + 'Project', + 'ApiError', 'ApiErrorException', + 'ServiceOperationDisplay', + 'ServiceOperation', + 'QuotaName', + 'Quota', + 'NameAvailabilityResponse', + 'ProjectArtifactsResponse', + 'AvailableServiceSkuSku', + 'AvailableServiceSkuCapacity', + 'AvailableServiceSku', + 'DataMigrationServiceStatusResponse', + 'ResourceSkuRestrictions', + 'ResourceSkuCapabilities', + 'ResourceSkuCosts', + 'ResourceSkuCapacity', + 'ResourceSku', + 'ConnectToSourceMySqlTaskInput', + 'ServerProperties', + 'ConnectToSourceNonSqlTaskOutput', + 'ConnectToSourceMySqlTaskProperties', + 'ConnectToSourceOracleTaskInput', + 'ConnectToSourceOracleTaskProperties', + 'MigrateMySqlSqlTaskInput', + 'MigrateMySqlSqlTaskOutput', + 'MigrateMySqlSqlTaskProperties', + 'DataMigrationError', + 'NonSqlDataMigrationTableResult', + 'NonSqlMigrationTaskOutput', + 'NonSqlDataMigrationTable', + 'NonSqlMigrationTaskInput', + 'MigrateOracleSqlTaskInput', + 'MigrateOracleSqlTaskOutput', + 'MigrateOracleSqlTaskProperties', + 'Database', + 'DatabaseObjectName', + 'ResourceSkuPaged', + 'AvailableServiceSkuPaged', + 'DataMigrationServicePaged', + 'ProjectTaskPaged', + 'ProjectPaged', + 'QuotaPaged', + 'ServiceOperationPaged', + 'CommandState', + 'DatabaseFileType', + 'AuthenticationType', + 'OracleConnectionMode', + 'SyncTableMigrationState', + 'SyncDatabaseMigrationReportingState', + 'SyncMigrationState', + 'MigrationState', + 'DatabaseMigrationStage', + 'MigrationStatus', + 'ValidationStatus', + 'Severity', + 'UpdateActionType', + 'ObjectType', + 'LoginMigrationStage', + 'LoginType', + 'DatabaseState', + 'DatabaseCompatLevel', + 'ServerLevelPermissionsGroup', + 'TaskState', + 'ServiceProvisioningState', + 'ProjectTargetPlatform', + 'ProjectSourcePlatform', + 'ProjectProvisioningState', + 'DataMovement', + 'NameCheckFailureReason', + 'ServiceScalability', + 'ResourceSkuRestrictionsType', + 'ResourceSkuRestrictionsReasonCode', + 'ResourceSkuCapacityScaleType', + 'MySqlTargetPlatformType', + 'ErrorType', + 'DataMigrationResultCode', +] diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/api_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/api_error.py new file mode 100644 index 00000000000..e14fcd41d59 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/api_error.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ApiError(Model): + """Error information. + + :param error: Error information in OData format + :type error: ~azure.mgmt.datamigration.models.ODataError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ODataError'}, + } + + def __init__(self, error=None): + super(ApiError, self).__init__() + self.error = error + + +class ApiErrorException(HttpOperationError): + """Server responsed with exception of type: 'ApiError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ApiErrorException, self).__init__(deserialize, response, 'ApiError', *args) diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku.py new file mode 100644 index 00000000000..3b186fc62c0 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class AvailableServiceSku(Model): + """Describes the available service SKU. + + :param resource_type: The resource type, including the provider namespace + :type resource_type: str + :param sku: SKU name, tier, etc. + :type sku: ~azure.mgmt.datamigration.models.AvailableServiceSkuSku + :param capacity: A description of the scaling capacities of the SKU + :type capacity: + ~azure.mgmt.datamigration.models.AvailableServiceSkuCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'AvailableServiceSkuSku'}, + 'capacity': {'key': 'capacity', 'type': 'AvailableServiceSkuCapacity'}, + } + + def __init__(self, resource_type=None, sku=None, capacity=None): + super(AvailableServiceSku, self).__init__() + self.resource_type = resource_type + self.sku = sku + self.capacity = capacity diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku_capacity.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku_capacity.py new file mode 100644 index 00000000000..6253220f9c4 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku_capacity.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class AvailableServiceSkuCapacity(Model): + """A description of the scaling capacities of the SKU. + + :param minimum: The minimum capacity, usually 0 or 1. + :type minimum: int + :param maximum: The maximum capacity + :type maximum: int + :param default: The default capacity + :type default: int + :param scale_type: The scalability approach. Possible values include: + 'none', 'manual', 'automatic' + :type scale_type: str or + ~azure.mgmt.datamigration.models.ServiceScalability + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, minimum=None, maximum=None, default=None, scale_type=None): + super(AvailableServiceSkuCapacity, self).__init__() + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku_paged.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku_paged.py new file mode 100644 index 00000000000..9f2cc263342 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class AvailableServiceSkuPaged(Paged): + """ + A paging container for iterating over a list of :class:`AvailableServiceSku ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AvailableServiceSku]'} + } + + def __init__(self, *args, **kwargs): + + super(AvailableServiceSkuPaged, self).__init__(*args, **kwargs) diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku_sku.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku_sku.py new file mode 100644 index 00000000000..730d866f2ae --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/available_service_sku_sku.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class AvailableServiceSkuSku(Model): + """SKU name, tier, etc. + + :param name: The name of the SKU + :type name: str + :param family: SKU family + :type family: str + :param size: SKU size + :type size: str + :param tier: The tier of the SKU, such as "Free", "Basic", "Standard", or + "Premium" + :type tier: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, name=None, family=None, size=None, tier=None): + super(AvailableServiceSkuSku, self).__init__() + self.name = name + self.family = family + self.size = size + self.tier = tier diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/blob_share.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/blob_share.py new file mode 100644 index 00000000000..b4408dfce85 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/blob_share.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class BlobShare(Model): + """Blob container storage information. + + :param sas_uri: SAS URI of Azure Storage Account Container. + :type sas_uri: str + """ + + _validation = { + 'sas_uri': {'required': True}, + } + + _attribute_map = { + 'sas_uri': {'key': 'sasUri', 'type': 'str'}, + } + + def __init__(self, sas_uri): + super(BlobShare, self).__init__() + self.sas_uri = sas_uri diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/command_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/command_properties.py new file mode 100644 index 00000000000..5c243d2bd21 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/command_properties.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CommandProperties(Model): + """Base class for all types of DMS command properties. If command is not + supported by current client, this object is returned. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSyncCompleteCommandProperties + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. + Possible values include: 'Unknown', 'Accepted', 'Running', 'Succeeded', + 'Failed' + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param command_type: Constant filled by server. + :type command_type: str + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'command_type': {'required': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'command_type': {'key': 'commandType', 'type': 'str'}, + } + + _subtype_map = { + 'command_type': {'Migrate.Sync.Complete.Database': 'MigrateSyncCompleteCommandProperties'} + } + + def __init__(self): + super(CommandProperties, self).__init__() + self.errors = None + self.state = None + self.command_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_my_sql_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_my_sql_task_input.py new file mode 100644 index 00000000000..75d849f42be --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_my_sql_task_input.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToSourceMySqlTaskInput(Model): + """Input for the task that validates MySQL database connection. + + :param source_connection_info: Information for connecting to MySQL source + :type source_connection_info: + ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_platform: Target Platform for the migration. Possible values + include: 'SqlServer', 'AzureDbForMySQL' + :type target_platform: str or + ~azure.mgmt.datamigration.models.MySqlTargetPlatformType + :param check_permissions_group: Permission group for validations. Possible + values include: 'Default', 'MigrationFromSqlServerToAzureDB', + 'MigrationFromSqlServerToAzureMI', 'MigrationFromSqlServerToAzureVM', + 'MigrationFromOracleToSQL', 'MigrationFromOracleToAzureDB', + 'MigrationFromOracleToAzureDW', 'MigrationFromMySQLToSQL', + 'MigrationFromMySQLToAzureDB', 'MigrationFromMySQLToAzureDBForMySQL' + :type check_permissions_group: str or + ~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_platform': {'key': 'targetPlatform', 'type': 'str'}, + 'check_permissions_group': {'key': 'checkPermissionsGroup', 'type': 'str'}, + } + + def __init__(self, source_connection_info, target_platform=None, check_permissions_group=None): + super(ConnectToSourceMySqlTaskInput, self).__init__() + self.source_connection_info = source_connection_info + self.target_platform = target_platform + self.check_permissions_group = check_permissions_group diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_my_sql_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_my_sql_task_properties.py new file mode 100644 index 00000000000..3d78dbeae22 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_my_sql_task_properties.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class ConnectToSourceMySqlTaskProperties(ProjectTaskProperties): + """Properties for the task that validates MySQL database connection. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.ConnectToSourceMySqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToSourceNonSqlTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceMySqlTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceNonSqlTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(ConnectToSourceMySqlTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'ConnectToSource.MySql' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_non_sql_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_non_sql_task_output.py new file mode 100644 index 00000000000..78d028ee42d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_non_sql_task_output.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToSourceNonSqlTaskOutput(Model): + """Output for connect to Oracle, MySQL type source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar source_server_brand_version: Server brand version + :vartype source_server_brand_version: str + :ivar server_properties: Server properties + :vartype server_properties: + ~azure.mgmt.datamigration.models.ServerProperties + :ivar databases: List of databases on the server + :vartype databases: list[str] + :ivar validation_errors: Validation errors associated with the task + :vartype validation_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'server_properties': {'readonly': True}, + 'databases': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'server_properties': {'key': 'serverProperties', 'type': 'ServerProperties'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(ConnectToSourceNonSqlTaskOutput, self).__init__() + self.id = None + self.source_server_brand_version = None + self.server_properties = None + self.databases = None + self.validation_errors = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_oracle_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_oracle_task_input.py new file mode 100644 index 00000000000..5cbe4a96ae5 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_oracle_task_input.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToSourceOracleTaskInput(Model): + """Input for the task that validates Oracle database connection. + + :param source_connection_info: Information for connecting to Oracle source + :type source_connection_info: + ~azure.mgmt.datamigration.models.OracleConnectionInfo + :param check_permissions_group: Permission group for validations. Possible + values include: 'Default', 'MigrationFromSqlServerToAzureDB', + 'MigrationFromSqlServerToAzureMI', 'MigrationFromSqlServerToAzureVM', + 'MigrationFromOracleToSQL', 'MigrationFromOracleToAzureDB', + 'MigrationFromOracleToAzureDW', 'MigrationFromMySQLToSQL', + 'MigrationFromMySQLToAzureDB', 'MigrationFromMySQLToAzureDBForMySQL' + :type check_permissions_group: str or + ~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'OracleConnectionInfo'}, + 'check_permissions_group': {'key': 'checkPermissionsGroup', 'type': 'str'}, + } + + def __init__(self, source_connection_info, check_permissions_group=None): + super(ConnectToSourceOracleTaskInput, self).__init__() + self.source_connection_info = source_connection_info + self.check_permissions_group = check_permissions_group diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_oracle_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_oracle_task_properties.py new file mode 100644 index 00000000000..ad8b1abb7f2 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_oracle_task_properties.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class ConnectToSourceOracleTaskProperties(ProjectTaskProperties): + """Properties for the task that validates Oracle database connection. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.ConnectToSourceOracleTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToSourceNonSqlTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceOracleTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceNonSqlTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(ConnectToSourceOracleTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'ConnectToSource.Oracle' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_input.py new file mode 100644 index 00000000000..aa84f537cfb --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_input.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToSourceSqlServerTaskInput(Model): + """Input for the task that validates connection to SQL Server and also + validates source server requirements. + + :param source_connection_info: Connection information for Source SQL + Server + :type source_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param check_permissions_group: Permission group for validations. Possible + values include: 'Default', 'MigrationFromSqlServerToAzureDB', + 'MigrationFromSqlServerToAzureMI', 'MigrationFromSqlServerToAzureVM', + 'MigrationFromOracleToSQL', 'MigrationFromOracleToAzureDB', + 'MigrationFromOracleToAzureDW', 'MigrationFromMySQLToSQL', + 'MigrationFromMySQLToAzureDB', 'MigrationFromMySQLToAzureDBForMySQL' + :type check_permissions_group: str or + ~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup + :param collect_logins: Flag for whether to collect logins from source + server. Default value: False . + :type collect_logins: bool + :param collect_agent_jobs: Flag for whether to collect agent jobs from + source server. Default value: False . + :type collect_agent_jobs: bool + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'check_permissions_group': {'key': 'checkPermissionsGroup', 'type': 'str'}, + 'collect_logins': {'key': 'collectLogins', 'type': 'bool'}, + 'collect_agent_jobs': {'key': 'collectAgentJobs', 'type': 'bool'}, + } + + def __init__(self, source_connection_info, check_permissions_group=None, collect_logins=False, collect_agent_jobs=False): + super(ConnectToSourceSqlServerTaskInput, self).__init__() + self.source_connection_info = source_connection_info + self.check_permissions_group = check_permissions_group + self.collect_logins = collect_logins + self.collect_agent_jobs = collect_agent_jobs diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output.py new file mode 100644 index 00000000000..eb59c54ffa2 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToSourceSqlServerTaskOutput(Model): + """Output for the task that validates connection to SQL Server and also + validates source server requirements. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ConnectToSourceSqlServerTaskOutputAgentJobLevel, + ConnectToSourceSqlServerTaskOutputLoginLevel, + ConnectToSourceSqlServerTaskOutputDatabaseLevel, + ConnectToSourceSqlServerTaskOutputTaskLevel + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'AgentJobLevelOutput': 'ConnectToSourceSqlServerTaskOutputAgentJobLevel', 'LoginLevelOutput': 'ConnectToSourceSqlServerTaskOutputLoginLevel', 'DatabaseLevelOutput': 'ConnectToSourceSqlServerTaskOutputDatabaseLevel', 'TaskLevelOutput': 'ConnectToSourceSqlServerTaskOutputTaskLevel'} + } + + def __init__(self): + super(ConnectToSourceSqlServerTaskOutput, self).__init__() + self.id = None + self.result_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_agent_job_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_agent_job_level.py new file mode 100644 index 00000000000..446a82c9208 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_agent_job_level.py @@ -0,0 +1,79 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .connect_to_source_sql_server_task_output import ConnectToSourceSqlServerTaskOutput + + +class ConnectToSourceSqlServerTaskOutputAgentJobLevel(ConnectToSourceSqlServerTaskOutput): + """AgentJob level output for the task that validates connection to SQL Server + and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar name: AgentJob name + :vartype name: str + :ivar job_category: The type of AgentJob. + :vartype job_category: str + :ivar is_enabled: The state of the original AgentJob. + :vartype is_enabled: bool + :ivar job_owner: The owner of the AgentJob + :vartype job_owner: str + :ivar last_executed_on: UTC Date and time when the AgentJob was last + executed. + :vartype last_executed_on: datetime + :ivar validation_errors: Validation errors + :vartype validation_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar migration_eligibility: Information about eligiblity of agent job for + migration. + :vartype migration_eligibility: + ~azure.mgmt.datamigration.models.MigrationEligibilityInfo + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'job_category': {'readonly': True}, + 'is_enabled': {'readonly': True}, + 'job_owner': {'readonly': True}, + 'last_executed_on': {'readonly': True}, + 'validation_errors': {'readonly': True}, + 'migration_eligibility': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'job_category': {'key': 'jobCategory', 'type': 'str'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'job_owner': {'key': 'jobOwner', 'type': 'str'}, + 'last_executed_on': {'key': 'lastExecutedOn', 'type': 'iso-8601'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + 'migration_eligibility': {'key': 'migrationEligibility', 'type': 'MigrationEligibilityInfo'}, + } + + def __init__(self): + super(ConnectToSourceSqlServerTaskOutputAgentJobLevel, self).__init__() + self.name = None + self.job_category = None + self.is_enabled = None + self.job_owner = None + self.last_executed_on = None + self.validation_errors = None + self.migration_eligibility = None + self.result_type = 'AgentJobLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_database_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_database_level.py new file mode 100644 index 00000000000..804d07e9e18 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_database_level.py @@ -0,0 +1,73 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .connect_to_source_sql_server_task_output import ConnectToSourceSqlServerTaskOutput + + +class ConnectToSourceSqlServerTaskOutputDatabaseLevel(ConnectToSourceSqlServerTaskOutput): + """Database level output for the task that validates connection to SQL Server + and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar name: Database name + :vartype name: str + :ivar size_mb: Size of the file in megabytes + :vartype size_mb: float + :ivar database_files: The list of database files + :vartype database_files: + list[~azure.mgmt.datamigration.models.DatabaseFileInfo] + :ivar compatibility_level: SQL Server compatibility level of database. + Possible values include: 'CompatLevel80', 'CompatLevel90', + 'CompatLevel100', 'CompatLevel110', 'CompatLevel120', 'CompatLevel130', + 'CompatLevel140' + :vartype compatibility_level: str or + ~azure.mgmt.datamigration.models.DatabaseCompatLevel + :ivar database_state: State of the database. Possible values include: + 'Online', 'Restoring', 'Recovering', 'RecoveryPending', 'Suspect', + 'Emergency', 'Offline', 'Copying', 'OfflineSecondary' + :vartype database_state: str or + ~azure.mgmt.datamigration.models.DatabaseState + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'size_mb': {'readonly': True}, + 'database_files': {'readonly': True}, + 'compatibility_level': {'readonly': True}, + 'database_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + 'database_files': {'key': 'databaseFiles', 'type': '[DatabaseFileInfo]'}, + 'compatibility_level': {'key': 'compatibilityLevel', 'type': 'str'}, + 'database_state': {'key': 'databaseState', 'type': 'str'}, + } + + def __init__(self): + super(ConnectToSourceSqlServerTaskOutputDatabaseLevel, self).__init__() + self.name = None + self.size_mb = None + self.database_files = None + self.compatibility_level = None + self.database_state = None + self.result_type = 'DatabaseLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_login_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_login_level.py new file mode 100644 index 00000000000..bd8215a1a59 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_login_level.py @@ -0,0 +1,69 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .connect_to_source_sql_server_task_output import ConnectToSourceSqlServerTaskOutput + + +class ConnectToSourceSqlServerTaskOutputLoginLevel(ConnectToSourceSqlServerTaskOutput): + """Login level output for the task that validates connection to SQL Server and + also validates source server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar name: Login name. + :vartype name: str + :ivar login_type: The type of login. Possible values include: + 'WindowsUser', 'WindowsGroup', 'SqlLogin', 'Certificate', 'AsymmetricKey', + 'ExternalUser', 'ExternalGroup' + :vartype login_type: str or ~azure.mgmt.datamigration.models.LoginType + :ivar default_database: The default database for the login. + :vartype default_database: str + :ivar is_enabled: The state of the login. + :vartype is_enabled: bool + :ivar migration_eligibility: Information about eligiblity of login for + migration. + :vartype migration_eligibility: + ~azure.mgmt.datamigration.models.MigrationEligibilityInfo + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'login_type': {'readonly': True}, + 'default_database': {'readonly': True}, + 'is_enabled': {'readonly': True}, + 'migration_eligibility': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'login_type': {'key': 'loginType', 'type': 'str'}, + 'default_database': {'key': 'defaultDatabase', 'type': 'str'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'migration_eligibility': {'key': 'migrationEligibility', 'type': 'MigrationEligibilityInfo'}, + } + + def __init__(self): + super(ConnectToSourceSqlServerTaskOutputLoginLevel, self).__init__() + self.name = None + self.login_type = None + self.default_database = None + self.is_enabled = None + self.migration_eligibility = None + self.result_type = 'LoginLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_task_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_task_level.py new file mode 100644 index 00000000000..8eb5b26a6df --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_output_task_level.py @@ -0,0 +1,72 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .connect_to_source_sql_server_task_output import ConnectToSourceSqlServerTaskOutput + + +class ConnectToSourceSqlServerTaskOutputTaskLevel(ConnectToSourceSqlServerTaskOutput): + """Task level output for the task that validates connection to SQL Server and + also validates source server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar databases: Source databases as a map from database name to database + id + :vartype databases: dict[str, str] + :ivar logins: Source logins as a map from login name to login id. + :vartype logins: dict[str, str] + :ivar agent_jobs: Source agent jobs as a map from agent job name to id. + :vartype agent_jobs: dict[str, str] + :ivar source_server_version: Source server version + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version + :vartype source_server_brand_version: str + :ivar validation_errors: Validation errors + :vartype validation_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'databases': {'readonly': True}, + 'logins': {'readonly': True}, + 'agent_jobs': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '{str}'}, + 'logins': {'key': 'logins', 'type': '{str}'}, + 'agent_jobs': {'key': 'agentJobs', 'type': '{str}'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(ConnectToSourceSqlServerTaskOutputTaskLevel, self).__init__() + self.databases = None + self.logins = None + self.agent_jobs = None + self.source_server_version = None + self.source_server_brand_version = None + self.validation_errors = None + self.result_type = 'TaskLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_properties.py new file mode 100644 index 00000000000..66f7ede5de9 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_source_sql_server_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class ConnectToSourceSqlServerTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL Server and also + validates source server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceSqlServerTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(ConnectToSourceSqlServerTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'ConnectToSource.SqlServer' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_azure_db_for_my_sql_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_azure_db_for_my_sql_task_input.py new file mode 100644 index 00000000000..391d558e271 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_azure_db_for_my_sql_task_input.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToTargetAzureDbForMySqlTaskInput(Model): + """Input for the task that validates connection to Azure Database for MySQL + and target server requirements. + + :param source_connection_info: Connection information for source MySQL + server + :type source_connection_info: + ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_connection_info: Connection information for target Azure + Database for MySQL server + :type target_connection_info: + ~azure.mgmt.datamigration.models.MySqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'}, + } + + def __init__(self, source_connection_info, target_connection_info): + super(ConnectToTargetAzureDbForMySqlTaskInput, self).__init__() + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_azure_db_for_my_sql_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_azure_db_for_my_sql_task_output.py new file mode 100644 index 00000000000..4b19e2d1202 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_azure_db_for_my_sql_task_output.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToTargetAzureDbForMySqlTaskOutput(Model): + """Output for the task that validates connection to Azure Database for MySQL + and target server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar server_version: Version of the target server + :vartype server_version: str + :ivar databases: List of databases on target server + :vartype databases: list[str] + :ivar target_server_brand_version: Target server brand version + :vartype target_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task + :vartype validation_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(ConnectToTargetAzureDbForMySqlTaskOutput, self).__init__() + self.id = None + self.server_version = None + self.databases = None + self.target_server_brand_version = None + self.validation_errors = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_azure_db_for_my_sql_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_azure_db_for_my_sql_task_properties.py new file mode 100644 index 00000000000..f935b4619b5 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_azure_db_for_my_sql_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class ConnectToTargetAzureDbForMySqlTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure Database for + MySQL and target server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForMySqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForMySqlTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetAzureDbForMySqlTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetAzureDbForMySqlTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(ConnectToTargetAzureDbForMySqlTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'ConnectToTarget.AzureDbForMySql' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_db_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_db_task_input.py new file mode 100644 index 00000000000..f417cb5bda2 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_db_task_input.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToTargetSqlDbTaskInput(Model): + """Input for the task that validates connection to SQL DB and target server + requirements. + + :param target_connection_info: Connection information for target SQL DB + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__(self, target_connection_info): + super(ConnectToTargetSqlDbTaskInput, self).__init__() + self.target_connection_info = target_connection_info diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_db_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_db_task_output.py new file mode 100644 index 00000000000..3763bfed08a --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_db_task_output.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToTargetSqlDbTaskOutput(Model): + """Output for the task that validates connection to SQL DB and target server + requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar databases: Source databases as a map from database name to database + id + :vartype databases: dict[str, str] + :ivar target_server_version: Version of the target server + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version + :vartype target_server_brand_version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '{str}'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + } + + def __init__(self): + super(ConnectToTargetSqlDbTaskOutput, self).__init__() + self.id = None + self.databases = None + self.target_server_version = None + self.target_server_brand_version = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_db_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_db_task_properties.py new file mode 100644 index 00000000000..1664cf0f23d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_db_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class ConnectToTargetSqlDbTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL DB and target + server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.ConnectToTargetSqlDbTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetSqlDbTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlDbTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlDbTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(ConnectToTargetSqlDbTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'ConnectToTarget.SqlDb' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_mi_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_mi_task_input.py new file mode 100644 index 00000000000..aeed2ae4a87 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_mi_task_input.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToTargetSqlMITaskInput(Model): + """Input for the task that validates connection to Azure SQL Database Managed + Instance. + + :param target_connection_info: Connection information for target SQL + Server + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__(self, target_connection_info): + super(ConnectToTargetSqlMITaskInput, self).__init__() + self.target_connection_info = target_connection_info diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_mi_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_mi_task_output.py new file mode 100644 index 00000000000..f0a33fe53da --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_mi_task_output.py @@ -0,0 +1,62 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToTargetSqlMITaskOutput(Model): + """Output for the task that validates connection to Azure SQL Database Managed + Instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar target_server_version: Target server version + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version + :vartype target_server_brand_version: str + :ivar logins: List of logins on the target server. + :vartype logins: list[str] + :ivar agent_jobs: List of agent jobs on the target server. + :vartype agent_jobs: list[str] + :ivar validation_errors: Validation errors + :vartype validation_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'logins': {'readonly': True}, + 'agent_jobs': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'logins': {'key': 'logins', 'type': '[str]'}, + 'agent_jobs': {'key': 'agentJobs', 'type': '[str]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(ConnectToTargetSqlMITaskOutput, self).__init__() + self.id = None + self.target_server_version = None + self.target_server_brand_version = None + self.logins = None + self.agent_jobs = None + self.validation_errors = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_mi_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_mi_task_properties.py new file mode 100644 index 00000000000..8ae1108f5ed --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_mi_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class ConnectToTargetSqlMITaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure SQL Database + Managed Instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.ConnectToTargetSqlMITaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetSqlMITaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlMITaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlMITaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(ConnectToTargetSqlMITaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'ConnectToTarget.AzureSqlDbMI' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_server_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_server_task_input.py new file mode 100644 index 00000000000..424d38217d0 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_server_task_input.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToTargetSqlServerTaskInput(Model): + """Input for the task that validates connection to SQL Server and target + server requirements. + + :param target_connection_info: Connection information for target SQL + Server + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__(self, target_connection_info): + super(ConnectToTargetSqlServerTaskInput, self).__init__() + self.target_connection_info = target_connection_info diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_server_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_server_task_output.py new file mode 100644 index 00000000000..e66aafefabf --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_server_task_output.py @@ -0,0 +1,62 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectToTargetSqlServerTaskOutput(Model): + """Output for the task that validates connection to SQL Server and target + server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar target_server_version: Target server version + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version + :vartype target_server_brand_version: str + :ivar server_default_data_path: Default path of the data files + :vartype server_default_data_path: str + :ivar server_default_log_path: Default path of the log files + :vartype server_default_log_path: str + :ivar validation_errors: Validation errors + :vartype validation_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'server_default_data_path': {'readonly': True}, + 'server_default_log_path': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'server_default_data_path': {'key': 'serverDefaultDataPath', 'type': 'str'}, + 'server_default_log_path': {'key': 'serverDefaultLogPath', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(ConnectToTargetSqlServerTaskOutput, self).__init__() + self.id = None + self.target_server_version = None + self.target_server_brand_version = None + self.server_default_data_path = None + self.server_default_log_path = None + self.validation_errors = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_server_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_server_task_properties.py new file mode 100644 index 00000000000..9718274430d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connect_to_target_sql_server_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class ConnectToTargetSqlServerTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL Server and target + server requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.ConnectToTargetSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetSqlServerTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlServerTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(ConnectToTargetSqlServerTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'ConnectToTarget.SqlServer' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connection_info.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connection_info.py new file mode 100644 index 00000000000..2caab30b68a --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/connection_info.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectionInfo(Model): + """Defines the connection properties of a server. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: OracleConnectionInfo, PostgreSqlConnectionInfo, + MySqlConnectionInfo, SqlConnectionInfo + + :param user_name: User name + :type user_name: str + :param password: Password credential. + :type password: str + :param type: Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'OracleConnectionInfo': 'OracleConnectionInfo', 'PostgreSqlConnectionInfo': 'PostgreSqlConnectionInfo', 'MySqlConnectionInfo': 'MySqlConnectionInfo', 'SqlConnectionInfo': 'SqlConnectionInfo'} + } + + def __init__(self, user_name=None, password=None): + super(ConnectionInfo, self).__init__() + self.user_name = user_name + self.password = password + self.type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_integrity_validation_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_integrity_validation_result.py new file mode 100644 index 00000000000..2d659aeac9f --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_integrity_validation_result.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DataIntegrityValidationResult(Model): + """Results for checksum based Data Integrity validation results. + + :param failed_objects: List of failed table names of source and target + pair + :type failed_objects: dict[str, str] + :param validation_errors: List of errors that happened while performing + data integrity validation + :type validation_errors: ~azure.mgmt.datamigration.models.ValidationError + """ + + _attribute_map = { + 'failed_objects': {'key': 'failedObjects', 'type': '{str}'}, + 'validation_errors': {'key': 'validationErrors', 'type': 'ValidationError'}, + } + + def __init__(self, failed_objects=None, validation_errors=None): + super(DataIntegrityValidationResult, self).__init__() + self.failed_objects = failed_objects + self.validation_errors = validation_errors diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_item_migration_summary_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_item_migration_summary_result.py new file mode 100644 index 00000000000..692ec37ad44 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_item_migration_summary_result.py @@ -0,0 +1,78 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DataItemMigrationSummaryResult(Model): + """Basic summary of a data item migration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the item + :vartype name: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message + :vartype status_message: str + :ivar items_count: Number of items + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors + of the item + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all + sub-tem results of the item + :vartype result_prefix: str + """ + + _validation = { + 'name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + } + + def __init__(self): + super(DataItemMigrationSummaryResult, self).__init__() + self.name = None + self.started_on = None + self.ended_on = None + self.state = None + self.status_message = None + self.items_count = None + self.items_completed_count = None + self.error_prefix = None + self.result_prefix = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_error.py new file mode 100644 index 00000000000..906a4505cf9 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_error.py @@ -0,0 +1,39 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DataMigrationError(Model): + """Migration Task errors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar message: Error description + :vartype message: str + :param type: Possible values include: 'Default', 'Warning', 'Error' + :type type: str or ~azure.mgmt.datamigration.models.ErrorType + """ + + _validation = { + 'message': {'readonly': True}, + } + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, type=None): + super(DataMigrationError, self).__init__() + self.message = None + self.type = type diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_project_metadata.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_project_metadata.py new file mode 100644 index 00000000000..34425519b63 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_project_metadata.py @@ -0,0 +1,72 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DataMigrationProjectMetadata(Model): + """Common metadata for migration projects. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar source_server_name: Source server name + :vartype source_server_name: str + :ivar source_server_port: Source server port number + :vartype source_server_port: str + :ivar source_username: Source username + :vartype source_username: str + :ivar target_server_name: Target server name + :vartype target_server_name: str + :ivar target_username: Target username + :vartype target_username: str + :ivar target_db_name: Target database name + :vartype target_db_name: str + :ivar target_using_win_auth: Whether target connection is Windows + authentication + :vartype target_using_win_auth: bool + :ivar selected_migration_tables: List of tables selected for migration + :vartype selected_migration_tables: + list[~azure.mgmt.datamigration.models.MigrationTableMetadata] + """ + + _validation = { + 'source_server_name': {'readonly': True}, + 'source_server_port': {'readonly': True}, + 'source_username': {'readonly': True}, + 'target_server_name': {'readonly': True}, + 'target_username': {'readonly': True}, + 'target_db_name': {'readonly': True}, + 'target_using_win_auth': {'readonly': True}, + 'selected_migration_tables': {'readonly': True}, + } + + _attribute_map = { + 'source_server_name': {'key': 'sourceServerName', 'type': 'str'}, + 'source_server_port': {'key': 'sourceServerPort', 'type': 'str'}, + 'source_username': {'key': 'sourceUsername', 'type': 'str'}, + 'target_server_name': {'key': 'targetServerName', 'type': 'str'}, + 'target_username': {'key': 'targetUsername', 'type': 'str'}, + 'target_db_name': {'key': 'targetDbName', 'type': 'str'}, + 'target_using_win_auth': {'key': 'targetUsingWinAuth', 'type': 'bool'}, + 'selected_migration_tables': {'key': 'selectedMigrationTables', 'type': '[MigrationTableMetadata]'}, + } + + def __init__(self): + super(DataMigrationProjectMetadata, self).__init__() + self.source_server_name = None + self.source_server_port = None + self.source_username = None + self.target_server_name = None + self.target_username = None + self.target_db_name = None + self.target_using_win_auth = None + self.selected_migration_tables = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service.py new file mode 100644 index 00000000000..bf7b088de62 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service.py @@ -0,0 +1,82 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource import TrackedResource + + +class DataMigrationService(TrackedResource): + """A Data Migration Service resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Resource location. + :type location: str + :param etag: HTTP strong entity tag value. Ignored if submitted + :type etag: str + :param kind: The resource kind. Only 'vm' (the default) is supported. + :type kind: str + :ivar provisioning_state: The resource's provisioning state. Possible + values include: 'Accepted', 'Deleting', 'Deploying', 'Stopped', + 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop', 'Succeeded', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.datamigration.models.ServiceProvisioningState + :param public_key: The public key of the service, used to encrypt secrets + sent to the service + :type public_key: str + :param virtual_subnet_id: The ID of the + Microsoft.Network/virtualNetworks/subnets resource to which the service + should be joined + :type virtual_subnet_id: str + :param sku: Service SKU + :type sku: ~azure.mgmt.datamigration.models.ServiceSku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_subnet_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, + 'virtual_subnet_id': {'key': 'properties.virtualSubnetId', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'ServiceSku'}, + } + + def __init__(self, location, virtual_subnet_id, tags=None, etag=None, kind=None, public_key=None, sku=None): + super(DataMigrationService, self).__init__(tags=tags, location=location) + self.etag = etag + self.kind = kind + self.provisioning_state = None + self.public_key = public_key + self.virtual_subnet_id = virtual_subnet_id + self.sku = sku diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service_client_enums.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service_client_enums.py new file mode 100644 index 00000000000..1d52c50c9d0 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service_client_enums.py @@ -0,0 +1,332 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class CommandState(Enum): + + unknown = "Unknown" + accepted = "Accepted" + running = "Running" + succeeded = "Succeeded" + failed = "Failed" + + +class DatabaseFileType(Enum): + + rows = "Rows" + log = "Log" + filestream = "Filestream" + not_supported = "NotSupported" + fulltext = "Fulltext" + + +class AuthenticationType(Enum): + + none = "None" + windows_authentication = "WindowsAuthentication" + sql_authentication = "SqlAuthentication" + active_directory_integrated = "ActiveDirectoryIntegrated" + active_directory_password = "ActiveDirectoryPassword" + + +class OracleConnectionMode(Enum): + + connection_string = "ConnectionString" + standard = "Standard" + + +class SyncTableMigrationState(Enum): + + before_load = "BEFORE_LOAD" + full_load = "FULL_LOAD" + completed = "COMPLETED" + canceled = "CANCELED" + error = "ERROR" + failed = "FAILED" + + +class SyncDatabaseMigrationReportingState(Enum): + + undefined = "UNDEFINED" + configuring = "CONFIGURING" + initialiazing = "INITIALIAZING" + starting = "STARTING" + running = "RUNNING" + ready_to_complete = "READY_TO_COMPLETE" + completing = "COMPLETING" + complete = "COMPLETE" + cancelling = "CANCELLING" + cancelled = "CANCELLED" + failed = "FAILED" + + +class SyncMigrationState(Enum): + + undefined = "UNDEFINED" + validating = "VALIDATING" + pending = "PENDING" + complete = "COMPLETE" + action_required = "ACTION_REQUIRED" + failed = "FAILED" + + +class MigrationState(Enum): + + none = "None" + in_progress = "InProgress" + failed = "Failed" + warning = "Warning" + completed = "Completed" + skipped = "Skipped" + stopped = "Stopped" + + +class DatabaseMigrationStage(Enum): + + none = "None" + initialize = "Initialize" + backup = "Backup" + file_copy = "FileCopy" + restore = "Restore" + completed = "Completed" + + +class MigrationStatus(Enum): + + default = "Default" + connecting = "Connecting" + source_and_target_selected = "SourceAndTargetSelected" + select_logins = "SelectLogins" + configured = "Configured" + running = "Running" + error = "Error" + stopped = "Stopped" + completed = "Completed" + completed_with_warnings = "CompletedWithWarnings" + + +class ValidationStatus(Enum): + + default = "Default" + not_started = "NotStarted" + initialized = "Initialized" + in_progress = "InProgress" + completed = "Completed" + completed_with_issues = "CompletedWithIssues" + stopped = "Stopped" + failed = "Failed" + + +class Severity(Enum): + + message = "Message" + warning = "Warning" + error = "Error" + + +class UpdateActionType(Enum): + + deleted_on_target = "DeletedOnTarget" + changed_on_target = "ChangedOnTarget" + added_on_target = "AddedOnTarget" + + +class ObjectType(Enum): + + stored_procedures = "StoredProcedures" + table = "Table" + user = "User" + view = "View" + function = "Function" + + +class LoginMigrationStage(Enum): + + none = "None" + initialize = "Initialize" + login_migration = "LoginMigration" + establish_user_mapping = "EstablishUserMapping" + assign_role_membership = "AssignRoleMembership" + assign_role_ownership = "AssignRoleOwnership" + establish_server_permissions = "EstablishServerPermissions" + establish_object_permissions = "EstablishObjectPermissions" + completed = "Completed" + + +class LoginType(Enum): + + windows_user = "WindowsUser" + windows_group = "WindowsGroup" + sql_login = "SqlLogin" + certificate = "Certificate" + asymmetric_key = "AsymmetricKey" + external_user = "ExternalUser" + external_group = "ExternalGroup" + + +class DatabaseState(Enum): + + online = "Online" + restoring = "Restoring" + recovering = "Recovering" + recovery_pending = "RecoveryPending" + suspect = "Suspect" + emergency = "Emergency" + offline = "Offline" + copying = "Copying" + offline_secondary = "OfflineSecondary" + + +class DatabaseCompatLevel(Enum): + + compat_level80 = "CompatLevel80" + compat_level90 = "CompatLevel90" + compat_level100 = "CompatLevel100" + compat_level110 = "CompatLevel110" + compat_level120 = "CompatLevel120" + compat_level130 = "CompatLevel130" + compat_level140 = "CompatLevel140" + + +class ServerLevelPermissionsGroup(Enum): + + default = "Default" + migration_from_sql_server_to_azure_db = "MigrationFromSqlServerToAzureDB" + migration_from_sql_server_to_azure_mi = "MigrationFromSqlServerToAzureMI" + migration_from_sql_server_to_azure_vm = "MigrationFromSqlServerToAzureVM" + migration_from_oracle_to_sql = "MigrationFromOracleToSQL" + migration_from_oracle_to_azure_db = "MigrationFromOracleToAzureDB" + migration_from_oracle_to_azure_dw = "MigrationFromOracleToAzureDW" + migration_from_my_sql_to_sql = "MigrationFromMySQLToSQL" + migration_from_my_sql_to_azure_db = "MigrationFromMySQLToAzureDB" + migration_from_my_sql_to_azure_db_for_my_sql = "MigrationFromMySQLToAzureDBForMySQL" + + +class TaskState(Enum): + + unknown = "Unknown" + queued = "Queued" + running = "Running" + canceled = "Canceled" + succeeded = "Succeeded" + failed = "Failed" + failed_input_validation = "FailedInputValidation" + faulted = "Faulted" + + +class ServiceProvisioningState(Enum): + + accepted = "Accepted" + deleting = "Deleting" + deploying = "Deploying" + stopped = "Stopped" + stopping = "Stopping" + starting = "Starting" + failed_to_start = "FailedToStart" + failed_to_stop = "FailedToStop" + succeeded = "Succeeded" + failed = "Failed" + + +class ProjectTargetPlatform(Enum): + + sql10 = "SQL10" + sql11 = "SQL11" + sql12 = "SQL12" + sql13 = "SQL13" + sql14 = "SQL14" + sqldb = "SQLDB" + sqldw = "SQLDW" + sqlmi = "SQLMI" + sqlvm = "SQLVM" + azure_db_for_my_sql = "AzureDbForMySql" + azure_db_for_postgre_sql = "AzureDbForPostgreSql" + unknown = "Unknown" + + +class ProjectSourcePlatform(Enum): + + sql = "SQL" + access = "Access" + db2 = "DB2" + my_sql = "MySQL" + oracle = "Oracle" + sybase = "Sybase" + postgre_sql = "PostgreSql" + unknown = "Unknown" + + +class ProjectProvisioningState(Enum): + + deleting = "Deleting" + succeeded = "Succeeded" + + +class DataMovement(Enum): + + one_time_migration = "OneTimeMigration" + continuous = "Continuous" + + +class NameCheckFailureReason(Enum): + + already_exists = "AlreadyExists" + invalid = "Invalid" + + +class ServiceScalability(Enum): + + none = "none" + manual = "manual" + automatic = "automatic" + + +class ResourceSkuRestrictionsType(Enum): + + location = "location" + + +class ResourceSkuRestrictionsReasonCode(Enum): + + quota_id = "QuotaId" + not_available_for_subscription = "NotAvailableForSubscription" + + +class ResourceSkuCapacityScaleType(Enum): + + automatic = "Automatic" + manual = "Manual" + none = "None" + + +class MySqlTargetPlatformType(Enum): + + sql_server = "SqlServer" + azure_db_for_my_sql = "AzureDbForMySQL" + + +class ErrorType(Enum): + + default = "Default" + warning = "Warning" + error = "Error" + + +class DataMigrationResultCode(Enum): + + initial = "Initial" + completed = "Completed" + object_not_exists_in_source = "ObjectNotExistsInSource" + object_not_exists_in_target = "ObjectNotExistsInTarget" + target_object_is_inaccessible = "TargetObjectIsInaccessible" + fatal_error = "FatalError" diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service_paged.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service_paged.py new file mode 100644 index 00000000000..c49a03551cb --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class DataMigrationServicePaged(Paged): + """ + A paging container for iterating over a list of :class:`DataMigrationService ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DataMigrationService]'} + } + + def __init__(self, *args, **kwargs): + + super(DataMigrationServicePaged, self).__init__(*args, **kwargs) diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service_status_response.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service_status_response.py new file mode 100644 index 00000000000..3c90e5c91ed --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/data_migration_service_status_response.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DataMigrationServiceStatusResponse(Model): + """Service health status. + + :param agent_version: The DMS instance agent version + :type agent_version: str + :param status: The machine-readable status, such as 'Initializing', + 'Offline', 'Online', 'Deploying', 'Deleting', 'Stopped', 'Stopping', + 'Starting', 'FailedToStart', 'FailedToStop' or 'Failed' + :type status: str + :param vm_size: The services virtual machine size, such as + 'Standard_D2_v2' + :type vm_size: str + :param supported_task_types: The list of supported task types + :type supported_task_types: list[str] + """ + + _attribute_map = { + 'agent_version': {'key': 'agentVersion', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'supported_task_types': {'key': 'supportedTaskTypes', 'type': '[str]'}, + } + + def __init__(self, agent_version=None, status=None, vm_size=None, supported_task_types=None): + super(DataMigrationServiceStatusResponse, self).__init__() + self.agent_version = agent_version + self.status = status + self.vm_size = vm_size + self.supported_task_types = supported_task_types diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database.py new file mode 100644 index 00000000000..069644f6aa0 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Database(Model): + """Information about a single database. + + :param id: Unique identifier for the database + :type id: str + :param name: Name of the database + :type name: str + :param compatibility_level: SQL Server compatibility level of database. + Possible values include: 'CompatLevel80', 'CompatLevel90', + 'CompatLevel100', 'CompatLevel110', 'CompatLevel120', 'CompatLevel130', + 'CompatLevel140' + :type compatibility_level: str or + ~azure.mgmt.datamigration.models.DatabaseCompatLevel + :param collation: Collation name of the database + :type collation: str + :param server_name: Name of the server + :type server_name: str + :param fqdn: Fully qualified name + :type fqdn: str + :param install_id: Install id of the database + :type install_id: str + :param server_version: Version of the server + :type server_version: str + :param server_edition: Edition of the server + :type server_edition: str + :param server_level: Product level of the server (RTM, SP, CTP). + :type server_level: str + :param server_default_data_path: Default path of the data files + :type server_default_data_path: str + :param server_default_log_path: Default path of the log files + :type server_default_log_path: str + :param server_default_backup_path: Default path of the backup folder + :type server_default_backup_path: str + :param server_core_count: Number of cores on the server + :type server_core_count: int + :param server_visible_online_core_count: Number of cores on the server + that have VISIBLE ONLINE status + :type server_visible_online_core_count: int + :param database_state: State of the database. Possible values include: + 'Online', 'Restoring', 'Recovering', 'RecoveryPending', 'Suspect', + 'Emergency', 'Offline', 'Copying', 'OfflineSecondary' + :type database_state: str or + ~azure.mgmt.datamigration.models.DatabaseState + :param server_id: The unique Server Id + :type server_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'compatibility_level': {'key': 'compatibilityLevel', 'type': 'str'}, + 'collation': {'key': 'collation', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'install_id': {'key': 'installId', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'server_edition': {'key': 'serverEdition', 'type': 'str'}, + 'server_level': {'key': 'serverLevel', 'type': 'str'}, + 'server_default_data_path': {'key': 'serverDefaultDataPath', 'type': 'str'}, + 'server_default_log_path': {'key': 'serverDefaultLogPath', 'type': 'str'}, + 'server_default_backup_path': {'key': 'serverDefaultBackupPath', 'type': 'str'}, + 'server_core_count': {'key': 'serverCoreCount', 'type': 'int'}, + 'server_visible_online_core_count': {'key': 'serverVisibleOnlineCoreCount', 'type': 'int'}, + 'database_state': {'key': 'databaseState', 'type': 'str'}, + 'server_id': {'key': 'serverId', 'type': 'str'}, + } + + def __init__(self, id=None, name=None, compatibility_level=None, collation=None, server_name=None, fqdn=None, install_id=None, server_version=None, server_edition=None, server_level=None, server_default_data_path=None, server_default_log_path=None, server_default_backup_path=None, server_core_count=None, server_visible_online_core_count=None, database_state=None, server_id=None): + super(Database, self).__init__() + self.id = id + self.name = name + self.compatibility_level = compatibility_level + self.collation = collation + self.server_name = server_name + self.fqdn = fqdn + self.install_id = install_id + self.server_version = server_version + self.server_edition = server_edition + self.server_level = server_level + self.server_default_data_path = server_default_data_path + self.server_default_log_path = server_default_log_path + self.server_default_backup_path = server_default_backup_path + self.server_core_count = server_core_count + self.server_visible_online_core_count = server_visible_online_core_count + self.database_state = database_state + self.server_id = server_id diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_file_info.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_file_info.py new file mode 100644 index 00000000000..e963e64ebbf --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_file_info.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DatabaseFileInfo(Model): + """Database file specific information. + + :param database_name: Name of the database + :type database_name: str + :param id: Unique identifier for database file + :type id: str + :param logical_name: Logical name of the file + :type logical_name: str + :param physical_full_name: Operating-system full path of the file + :type physical_full_name: str + :param restore_full_name: Suggested full path of the file for restoring + :type restore_full_name: str + :param file_type: Database file type. Possible values include: 'Rows', + 'Log', 'Filestream', 'NotSupported', 'Fulltext' + :type file_type: str or ~azure.mgmt.datamigration.models.DatabaseFileType + :param size_mb: Size of the file in megabytes + :type size_mb: float + """ + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'logical_name': {'key': 'logicalName', 'type': 'str'}, + 'physical_full_name': {'key': 'physicalFullName', 'type': 'str'}, + 'restore_full_name': {'key': 'restoreFullName', 'type': 'str'}, + 'file_type': {'key': 'fileType', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + } + + def __init__(self, database_name=None, id=None, logical_name=None, physical_full_name=None, restore_full_name=None, file_type=None, size_mb=None): + super(DatabaseFileInfo, self).__init__() + self.database_name = database_name + self.id = id + self.logical_name = logical_name + self.physical_full_name = physical_full_name + self.restore_full_name = restore_full_name + self.file_type = file_type + self.size_mb = size_mb diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_file_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_file_input.py new file mode 100644 index 00000000000..007c6ad5363 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_file_input.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DatabaseFileInput(Model): + """Database file specific information for input. + + :param id: Unique identifier for database file + :type id: str + :param logical_name: Logical name of the file + :type logical_name: str + :param physical_full_name: Operating-system full path of the file + :type physical_full_name: str + :param restore_full_name: Suggested full path of the file for restoring + :type restore_full_name: str + :param file_type: Database file type. Possible values include: 'Rows', + 'Log', 'Filestream', 'NotSupported', 'Fulltext' + :type file_type: str or ~azure.mgmt.datamigration.models.DatabaseFileType + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'logical_name': {'key': 'logicalName', 'type': 'str'}, + 'physical_full_name': {'key': 'physicalFullName', 'type': 'str'}, + 'restore_full_name': {'key': 'restoreFullName', 'type': 'str'}, + 'file_type': {'key': 'fileType', 'type': 'str'}, + } + + def __init__(self, id=None, logical_name=None, physical_full_name=None, restore_full_name=None, file_type=None): + super(DatabaseFileInput, self).__init__() + self.id = id + self.logical_name = logical_name + self.physical_full_name = physical_full_name + self.restore_full_name = restore_full_name + self.file_type = file_type diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_info.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_info.py new file mode 100644 index 00000000000..8d4172eb106 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_info.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DatabaseInfo(Model): + """Project Database Details. + + :param source_database_name: Name of the database + :type source_database_name: str + """ + + _validation = { + 'source_database_name': {'required': True}, + } + + _attribute_map = { + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + } + + def __init__(self, source_database_name): + super(DatabaseInfo, self).__init__() + self.source_database_name = source_database_name diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_object_name.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_object_name.py new file mode 100644 index 00000000000..41d6d8fca9e --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_object_name.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DatabaseObjectName(Model): + """A representation of the name of an object in a database. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar database_name: The unescaped name of the database containing the + object + :vartype database_name: str + :ivar object_name: The unescaped name of the object + :vartype object_name: str + :ivar schema_name: The unescaped name of the schema containing the object + :vartype schema_name: str + :param object_type: Type of the object in the database. Possible values + include: 'StoredProcedures', 'Table', 'User', 'View', 'Function' + :type object_type: str or ~azure.mgmt.datamigration.models.ObjectType + """ + + _validation = { + 'database_name': {'readonly': True}, + 'object_name': {'readonly': True}, + 'schema_name': {'readonly': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + } + + def __init__(self, object_type=None): + super(DatabaseObjectName, self).__init__() + self.database_name = None + self.object_name = None + self.schema_name = None + self.object_type = object_type diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_summary_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_summary_result.py new file mode 100644 index 00000000000..fc5b8ee7d10 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_summary_result.py @@ -0,0 +1,74 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .data_item_migration_summary_result import DataItemMigrationSummaryResult + + +class DatabaseSummaryResult(DataItemMigrationSummaryResult): + """Summary of database results in the migration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the item + :vartype name: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message + :vartype status_message: str + :ivar items_count: Number of items + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors + of the item + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all + sub-tem results of the item + :vartype result_prefix: str + :ivar size_mb: Size of the database in megabytes + :vartype size_mb: float + """ + + _validation = { + 'name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'size_mb': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + } + + def __init__(self): + super(DatabaseSummaryResult, self).__init__() + self.size_mb = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_table.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_table.py new file mode 100644 index 00000000000..685fcca40a7 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/database_table.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DatabaseTable(Model): + """Table properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar has_rows: Indicates whether table is empty or not + :vartype has_rows: bool + :ivar name: Schema-qualified name of the table + :vartype name: str + """ + + _validation = { + 'has_rows': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'has_rows': {'key': 'hasRows', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self): + super(DatabaseTable, self).__init__() + self.has_rows = None + self.name = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/execution_statistics.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/execution_statistics.py new file mode 100644 index 00000000000..aa54dea81c8 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/execution_statistics.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ExecutionStatistics(Model): + """Description about the errors happen while performing migration validation. + + :param execution_count: No. of query executions + :type execution_count: long + :param cpu_time_ms: CPU Time in millisecond(s) for the query execution + :type cpu_time_ms: float + :param elapsed_time_ms: Time taken in millisecond(s) for executing the + query + :type elapsed_time_ms: float + :param wait_stats: Dictionary of sql query execution wait types and the + respective statistics + :type wait_stats: dict[str, + ~azure.mgmt.datamigration.models.WaitStatistics] + :param has_errors: Indicates whether the query resulted in an error + :type has_errors: bool + :param sql_errors: List of sql Errors + :type sql_errors: list[str] + """ + + _attribute_map = { + 'execution_count': {'key': 'executionCount', 'type': 'long'}, + 'cpu_time_ms': {'key': 'cpuTimeMs', 'type': 'float'}, + 'elapsed_time_ms': {'key': 'elapsedTimeMs', 'type': 'float'}, + 'wait_stats': {'key': 'waitStats', 'type': '{WaitStatistics}'}, + 'has_errors': {'key': 'hasErrors', 'type': 'bool'}, + 'sql_errors': {'key': 'sqlErrors', 'type': '[str]'}, + } + + def __init__(self, execution_count=None, cpu_time_ms=None, elapsed_time_ms=None, wait_stats=None, has_errors=None, sql_errors=None): + super(ExecutionStatistics, self).__init__() + self.execution_count = execution_count + self.cpu_time_ms = cpu_time_ms + self.elapsed_time_ms = elapsed_time_ms + self.wait_stats = wait_stats + self.has_errors = has_errors + self.sql_errors = sql_errors diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/file_share.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/file_share.py new file mode 100644 index 00000000000..10f079a5e11 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/file_share.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class FileShare(Model): + """File share information with Path, Username, and Password. + + :param user_name: User name credential to connect to the share location + :type user_name: str + :param password: Password credential used to connect to the share + location. + :type password: str + :param path: The folder path for this share. + :type path: str + """ + + _validation = { + 'path': {'required': True}, + } + + _attribute_map = { + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, path, user_name=None, password=None): + super(FileShare, self).__init__() + self.user_name = user_name + self.password = password + self.path = path diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_my_sql_sql_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_my_sql_sql_task_output.py new file mode 100644 index 00000000000..6a5a2d83e14 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_my_sql_sql_task_output.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class GetProjectDetailsMySqlSqlTaskOutput(Model): + """Output for task that reads information from project artifacts for MySQL as + source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar migration_project_metadata: Metadata obtained from project + :vartype migration_project_metadata: + ~azure.mgmt.datamigration.models.MySqlDataMigrationProjectMetadata + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_project_metadata': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_project_metadata': {'key': 'migrationProjectMetadata', 'type': 'MySqlDataMigrationProjectMetadata'}, + } + + def __init__(self): + super(GetProjectDetailsMySqlSqlTaskOutput, self).__init__() + self.id = None + self.migration_project_metadata = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_my_sql_sql_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_my_sql_sql_task_properties.py new file mode 100644 index 00000000000..98c57d64426 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_my_sql_sql_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class GetProjectDetailsMySqlSqlTaskProperties(ProjectTaskProperties): + """Properties for task that reads information from project artifacts for MySQL + as source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.GetProjectDetailsNonSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.GetProjectDetailsMySqlSqlTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'GetProjectDetailsNonSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetProjectDetailsMySqlSqlTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(GetProjectDetailsMySqlSqlTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'GetProjectDetails.MySql.Sql' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_non_sql_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_non_sql_task_input.py new file mode 100644 index 00000000000..04059885287 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_non_sql_task_input.py @@ -0,0 +1,38 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class GetProjectDetailsNonSqlTaskInput(Model): + """Input for the task that reads configuration from project artifacts. + + :param project_name: Name of the migration project + :type project_name: str + :param project_location: A URL that points to the location to access + project artifacts + :type project_location: str + """ + + _validation = { + 'project_name': {'required': True}, + 'project_location': {'required': True}, + } + + _attribute_map = { + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'project_location': {'key': 'projectLocation', 'type': 'str'}, + } + + def __init__(self, project_name, project_location): + super(GetProjectDetailsNonSqlTaskInput, self).__init__() + self.project_name = project_name + self.project_location = project_location diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_oracle_sql_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_oracle_sql_task_output.py new file mode 100644 index 00000000000..53d2e92f771 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_oracle_sql_task_output.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class GetProjectDetailsOracleSqlTaskOutput(Model): + """Output for task that reads information from project artifacts for Oracle as + source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar migration_project_metadata: Metadata obtained from project + :vartype migration_project_metadata: + ~azure.mgmt.datamigration.models.OracleDataMigrationProjectMetadata + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_project_metadata': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_project_metadata': {'key': 'migrationProjectMetadata', 'type': 'OracleDataMigrationProjectMetadata'}, + } + + def __init__(self): + super(GetProjectDetailsOracleSqlTaskOutput, self).__init__() + self.id = None + self.migration_project_metadata = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_oracle_sql_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_oracle_sql_task_properties.py new file mode 100644 index 00000000000..ec56f4bdb99 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_project_details_oracle_sql_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class GetProjectDetailsOracleSqlTaskProperties(ProjectTaskProperties): + """Properties for task that reads information from project artifacts for + Oracle as source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.GetProjectDetailsNonSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.GetProjectDetailsOracleSqlTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'GetProjectDetailsNonSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetProjectDetailsOracleSqlTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(GetProjectDetailsOracleSqlTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'GetProjectDetails.Oracle.Sql' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_user_tables_sql_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_user_tables_sql_task_input.py new file mode 100644 index 00000000000..8207803dbbe --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_user_tables_sql_task_input.py @@ -0,0 +1,38 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class GetUserTablesSqlTaskInput(Model): + """Input for the task that collects user tables for the given list of + databases. + + :param connection_info: Connection information for SQL Server + :type connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: List of database names to collect tables for + :type selected_databases: list[str] + """ + + _validation = { + 'connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[str]'}, + } + + def __init__(self, connection_info, selected_databases): + super(GetUserTablesSqlTaskInput, self).__init__() + self.connection_info = connection_info + self.selected_databases = selected_databases diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_user_tables_sql_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_user_tables_sql_task_output.py new file mode 100644 index 00000000000..12a6a07e8b0 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_user_tables_sql_task_output.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class GetUserTablesSqlTaskOutput(Model): + """Output of the task that collects user tables for the given list of + databases. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar databases_to_tables: Mapping from database name to list of tables + :vartype databases_to_tables: dict[str, + list[~azure.mgmt.datamigration.models.DatabaseTable]] + :ivar validation_errors: Validation errors + :vartype validation_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'databases_to_tables': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'databases_to_tables': {'key': 'databasesToTables', 'type': '{[DatabaseTable]}'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(GetUserTablesSqlTaskOutput, self).__init__() + self.id = None + self.databases_to_tables = None + self.validation_errors = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_user_tables_sql_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_user_tables_sql_task_properties.py new file mode 100644 index 00000000000..b335fbfeb9a --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/get_user_tables_sql_task_properties.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class GetUserTablesSqlTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of + databases. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: ~azure.mgmt.datamigration.models.GetUserTablesSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.GetUserTablesSqlTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'GetUserTablesSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesSqlTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(GetUserTablesSqlTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'GetUserTables.Sql' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_database_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_database_input.py new file mode 100644 index 00000000000..0c025398b02 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_database_input.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateMySqlAzureDbForMySqlSyncDatabaseInput(Model): + """Database specific information for MySQL to Azure Database for MySQL + migration task inputs. + + :param name: Name of the database + :type name: str + :param target_database_name: Name of target database. Note: Target + database will be truncated before starting migration. + :type target_database_name: str + :param make_source_db_read_only: Whether to set database read only before + migration + :type make_source_db_read_only: bool + :param table_map: Mapping of source to target tables + :type table_map: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'make_source_db_read_only': {'key': 'makeSourceDbReadOnly', 'type': 'bool'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + } + + def __init__(self, name=None, target_database_name=None, make_source_db_read_only=None, table_map=None): + super(MigrateMySqlAzureDbForMySqlSyncDatabaseInput, self).__init__() + self.name = name + self.target_database_name = target_database_name + self.make_source_db_read_only = make_source_db_read_only + self.table_map = table_map diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_input.py new file mode 100644 index 00000000000..31d4353081b --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_input.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateMySqlAzureDbForMySqlSyncTaskInput(Model): + """Input for the task that migrates MySQL databases to Azure Database for + MySQL with continuous sync. + + :param selected_databases: Databases to migrate + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncDatabaseInput] + :param target_connection_info: Connection information for target Azure + Database for MySQL + :type target_connection_info: + ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param source_connection_info: Connection information for source MySQL + :type source_connection_info: + ~azure.mgmt.datamigration.models.MySqlConnectionInfo + """ + + _validation = { + 'selected_databases': {'required': True}, + 'target_connection_info': {'required': True}, + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateMySqlAzureDbForMySqlSyncDatabaseInput]'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + } + + def __init__(self, selected_databases, target_connection_info, source_connection_info): + super(MigrateMySqlAzureDbForMySqlSyncTaskInput, self).__init__() + self.selected_databases = selected_databases + self.target_connection_info = target_connection_info + self.source_connection_info = source_connection_info diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output.py new file mode 100644 index 00000000000..c700914b9cc --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutput(Model): + """Output for the task that migrates MySQL databases to Azure Database for + MySQL with continuous sync. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError', 'ErrorOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputError', 'TableLevelOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel', 'DatabaseLevelOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel', 'MigrationLevelOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel'} + } + + def __init__(self): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutput, self).__init__() + self.id = None + self.result_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_error.py new file mode 100644 index 00000000000..965a138ce59 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_error.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output import MigrateMySqlAzureDbForMySqlSyncTaskOutput + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :param error_message: Error message + :type error_message: str + :param events: List of error events. + :type events: + list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__(self, error_message=None, events=None): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, self).__init__() + self.error_message = error_message + self.events = events + self.result_type = 'DatabaseLevelErrorOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_level.py new file mode 100644 index 00000000000..a821acd23b2 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_level.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output import MigrateMySqlAzureDbForMySqlSyncTaskOutput + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database + :vartype database_name: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar migration_state: Migration state that this database is in. Possible + values include: 'UNDEFINED', 'CONFIGURING', 'INITIALIAZING', 'STARTING', + 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', 'CANCELLING', + 'CANCELLED', 'FAILED' + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has + been completed + :vartype initialization_completed: bool + :ivar latency: CDC apply latency + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__(self): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, self).__init__() + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + self.result_type = 'DatabaseLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_error.py new file mode 100644 index 00000000000..c8080354690 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_error.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output import MigrateMySqlAzureDbForMySqlSyncTaskOutput + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputError(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputError. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar error: Migration error + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__(self): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputError, self).__init__() + self.error = None + self.result_type = 'ErrorOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_migration_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_migration_level.py new file mode 100644 index 00000000000..77212cd97f0 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_migration_level.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output import MigrateMySqlAzureDbForMySqlSyncTaskOutput + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar state: Current state of migration. Possible values include: + 'UNDEFINED', 'VALIDATING', 'PENDING', 'COMPLETE', 'ACTION_REQUIRED', + 'FAILED' + :vartype state: str or ~azure.mgmt.datamigration.models.SyncMigrationState + :ivar source_server_version: Source server version + :vartype source_server_version: str + :ivar source_server: Source server name + :vartype source_server: str + :ivar target_server_version: Target server version + :vartype target_server_version: str + :ivar target_server: Target server name + :vartype target_server: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + } + + def __init__(self): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, self).__init__() + self.started_on = None + self.ended_on = None + self.state = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + self.result_type = 'MigrationLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_table_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_table_level.py new file mode 100644 index 00000000000..6eadd0921be --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_output_table_level.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_my_sql_azure_db_for_my_sql_sync_task_output import MigrateMySqlAzureDbForMySqlSyncTaskOutput + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table + :vartype table_name: str + :ivar database_name: Name of the database + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts + :vartype cdc_insert_counter: str + :ivar cdc_update_counter: Number of applied updates + :vartype cdc_update_counter: str + :ivar cdc_delete_counter: Number of applied deletes + :vartype cdc_delete_counter: str + :ivar full_load_est_finish_time: Estimate to finish FullLoad + :vartype full_load_est_finish_time: datetime + :ivar full_load_started_on: Full load start time + :vartype full_load_started_on: datetime + :ivar full_load_ended_on: Full load end time + :vartype full_load_ended_on: datetime + :ivar full_load_total_volume_bytes: Total size of full load in bytes + :vartype full_load_total_volume_bytes: long + :ivar full_load_total_rows: Number of rows applied in full load + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values + include: 'BEFORE_LOAD', 'FULL_LOAD', 'COMPLETED', 'CANCELED', 'ERROR', + 'FAILED' + :vartype state: str or + ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target + :vartype last_modified_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_volume_bytes': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'str'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'str'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'str'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_volume_bytes': {'key': 'fullLoadTotalVolumeBytes', 'type': 'long'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__(self): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, self).__init__() + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_volume_bytes = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + self.result_type = 'TableLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_properties.py new file mode 100644 index 00000000000..da94ecb877b --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_azure_db_for_my_sql_sync_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class MigrateMySqlAzureDbForMySqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates MySQL databases to Azure Database for + MySQL with continuous sync. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateMySqlAzureDbForMySqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateMySqlAzureDbForMySqlSyncTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(MigrateMySqlAzureDbForMySqlSyncTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'Migrate.MySql.AzureDbForMySql.Sync' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_sql_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_sql_task_input.py new file mode 100644 index 00000000000..bf954fee8db --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_sql_task_input.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .non_sql_migration_task_input import NonSqlMigrationTaskInput + + +class MigrateMySqlSqlTaskInput(NonSqlMigrationTaskInput): + """Input for task that migrates MySQL databases to Azure and SQL Server + databases. + + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_database_name: Target database name + :type target_database_name: str + :param project_name: Name of the migration project + :type project_name: str + :param project_location: An URL that points to the drop location to access + project artifacts + :type project_location: str + :param selected_tables: Metadata of the tables selected for migration + :type selected_tables: + list[~azure.mgmt.datamigration.models.NonSqlDataMigrationTable] + :param source_connection_info: Information for connecting to MySQL source + :type source_connection_info: + ~azure.mgmt.datamigration.models.MySqlConnectionInfo + """ + + _validation = { + 'target_connection_info': {'required': True}, + 'target_database_name': {'required': True}, + 'project_name': {'required': True}, + 'project_location': {'required': True}, + 'selected_tables': {'required': True}, + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'project_location': {'key': 'projectLocation', 'type': 'str'}, + 'selected_tables': {'key': 'selectedTables', 'type': '[NonSqlDataMigrationTable]'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + } + + def __init__(self, target_connection_info, target_database_name, project_name, project_location, selected_tables, source_connection_info): + super(MigrateMySqlSqlTaskInput, self).__init__(target_connection_info=target_connection_info, target_database_name=target_database_name, project_name=project_name, project_location=project_location, selected_tables=selected_tables) + self.source_connection_info = source_connection_info diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_sql_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_sql_task_output.py new file mode 100644 index 00000000000..84b8212579a --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_sql_task_output.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .non_sql_migration_task_output import NonSqlMigrationTaskOutput + + +class MigrateMySqlSqlTaskOutput(NonSqlMigrationTaskOutput): + """Output for task that migrates MySQL databases to Azure and SQL Server + databases. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar status: Current state of migration. Possible values include: + 'Default', 'Connecting', 'SourceAndTargetSelected', 'SelectLogins', + 'Configured', 'Running', 'Error', 'Stopped', 'Completed', + 'CompletedWithWarnings' + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar data_migration_table_results: Results of the migration. The key + contains the table name and the value the table result object + :vartype data_migration_table_results: dict[str, + ~azure.mgmt.datamigration.models.NonSqlDataMigrationTableResult] + :ivar progress_message: Message about the progress of the migration + :vartype progress_message: str + :ivar source_server_name: Name of source server + :vartype source_server_name: str + :ivar target_server_name: Name of target server + :vartype target_server_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'data_migration_table_results': {'readonly': True}, + 'progress_message': {'readonly': True}, + 'source_server_name': {'readonly': True}, + 'target_server_name': {'readonly': True}, + } + + def __init__(self): + super(MigrateMySqlSqlTaskOutput, self).__init__() diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_sql_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_sql_task_properties.py new file mode 100644 index 00000000000..1b0458babe7 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_my_sql_sql_task_properties.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class MigrateMySqlSqlTaskProperties(ProjectTaskProperties): + """Properties for task that migrates MySQL databases to Azure and SQL Server + databases. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: ~azure.mgmt.datamigration.models.MigrateMySqlSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateMySqlSqlTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateMySqlSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateMySqlSqlTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(MigrateMySqlSqlTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'Migrate.MySql.Sql' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_oracle_sql_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_oracle_sql_task_input.py new file mode 100644 index 00000000000..4b63760271d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_oracle_sql_task_input.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .non_sql_migration_task_input import NonSqlMigrationTaskInput + + +class MigrateOracleSqlTaskInput(NonSqlMigrationTaskInput): + """Input for task that migrates Oracle databases to Azure and SQL Server + databases. + + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_database_name: Target database name + :type target_database_name: str + :param project_name: Name of the migration project + :type project_name: str + :param project_location: An URL that points to the drop location to access + project artifacts + :type project_location: str + :param selected_tables: Metadata of the tables selected for migration + :type selected_tables: + list[~azure.mgmt.datamigration.models.NonSqlDataMigrationTable] + :param source_connection_info: Information for connecting to Oracle source + :type source_connection_info: + ~azure.mgmt.datamigration.models.OracleConnectionInfo + """ + + _validation = { + 'target_connection_info': {'required': True}, + 'target_database_name': {'required': True}, + 'project_name': {'required': True}, + 'project_location': {'required': True}, + 'selected_tables': {'required': True}, + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'project_location': {'key': 'projectLocation', 'type': 'str'}, + 'selected_tables': {'key': 'selectedTables', 'type': '[NonSqlDataMigrationTable]'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'OracleConnectionInfo'}, + } + + def __init__(self, target_connection_info, target_database_name, project_name, project_location, selected_tables, source_connection_info): + super(MigrateOracleSqlTaskInput, self).__init__(target_connection_info=target_connection_info, target_database_name=target_database_name, project_name=project_name, project_location=project_location, selected_tables=selected_tables) + self.source_connection_info = source_connection_info diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_oracle_sql_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_oracle_sql_task_output.py new file mode 100644 index 00000000000..fd59373c94f --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_oracle_sql_task_output.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .non_sql_migration_task_output import NonSqlMigrationTaskOutput + + +class MigrateOracleSqlTaskOutput(NonSqlMigrationTaskOutput): + """Output for task that migrates Oracle databases to Azure and SQL Server + databases. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar status: Current state of migration. Possible values include: + 'Default', 'Connecting', 'SourceAndTargetSelected', 'SelectLogins', + 'Configured', 'Running', 'Error', 'Stopped', 'Completed', + 'CompletedWithWarnings' + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar data_migration_table_results: Results of the migration. The key + contains the table name and the value the table result object + :vartype data_migration_table_results: dict[str, + ~azure.mgmt.datamigration.models.NonSqlDataMigrationTableResult] + :ivar progress_message: Message about the progress of the migration + :vartype progress_message: str + :ivar source_server_name: Name of source server + :vartype source_server_name: str + :ivar target_server_name: Name of target server + :vartype target_server_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'data_migration_table_results': {'readonly': True}, + 'progress_message': {'readonly': True}, + 'source_server_name': {'readonly': True}, + 'target_server_name': {'readonly': True}, + } + + def __init__(self): + super(MigrateOracleSqlTaskOutput, self).__init__() diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_oracle_sql_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_oracle_sql_task_properties.py new file mode 100644 index 00000000000..de9cbdd7556 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_oracle_sql_task_properties.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class MigrateOracleSqlTaskProperties(ProjectTaskProperties): + """Properties for task that migrates Oracle databases to Azure and SQL Server + databases. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: ~azure.mgmt.datamigration.models.MigrateOracleSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateOracleSqlTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateOracleSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateOracleSqlTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(MigrateOracleSqlTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'Migrate.Oracle.Sql' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_database_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_database_input.py new file mode 100644 index 00000000000..19baa60c451 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_database_input.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput(Model): + """Database specific information for PostgreSQL to Azure Database for + PostgreSQL migration task inputs. + + :param name: Name of the database + :type name: str + :param target_database_name: Name of target database. Note: Target + database will be truncated before starting migration. + :type target_database_name: str + :param make_source_db_read_only: Whether to set database read only before + migration + :type make_source_db_read_only: bool + :param table_map: Mapping of source to target tables + :type table_map: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'make_source_db_read_only': {'key': 'makeSourceDbReadOnly', 'type': 'bool'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + } + + def __init__(self, name=None, target_database_name=None, make_source_db_read_only=None, table_map=None): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, self).__init__() + self.name = name + self.target_database_name = target_database_name + self.make_source_db_read_only = make_source_db_read_only + self.table_map = table_map diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_input.py new file mode 100644 index 00000000000..e93b7f5fac5 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_input.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput(Model): + """Input for the task that migrates PostgreSQL databases to Azure Database for + PostgreSQL with continuous sync. + + :param selected_databases: Databases to migrate + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput] + :param target_connection_info: Connection information for target Azure + Database for PostgreSQL + :type target_connection_info: + ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param source_connection_info: Connection information for source + PostgreSQL + :type source_connection_info: + ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + """ + + _validation = { + 'selected_databases': {'required': True}, + 'target_connection_info': {'required': True}, + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput]'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + } + + def __init__(self, selected_databases, target_connection_info, source_connection_info): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, self).__init__() + self.selected_databases = selected_databases + self.target_connection_info = target_connection_info + self.source_connection_info = source_connection_info diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output.py new file mode 100644 index 00000000000..7e01c72c3aa --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput(Model): + """Output for the task that migrates PostgreSQL databases to Azure Database + for PostgreSQL with continuous sync. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError', 'ErrorOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError', 'TableLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel', 'DatabaseLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel', 'MigrationLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel'} + } + + def __init__(self): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, self).__init__() + self.id = None + self.result_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_error.py new file mode 100644 index 00000000000..6533e6c1306 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_error.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """Output database task error. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :param error_message: Error message + :type error_message: str + :param events: List of error events. + :type events: + list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__(self, error_message=None, events=None): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, self).__init__() + self.error_message = error_message + self.events = events + self.result_type = 'DatabaseLevelErrorOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_level.py new file mode 100644 index 00000000000..c1278ff4457 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_level.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """Output info on the database level. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database + :vartype database_name: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar migration_state: Migration state that this database is in. Possible + values include: 'UNDEFINED', 'CONFIGURING', 'INITIALIAZING', 'STARTING', + 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', 'CANCELLING', + 'CANCELLED', 'FAILED' + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has + been completed + :vartype initialization_completed: bool + :ivar latency: CDC apply latency + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__(self): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, self).__init__() + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + self.result_type = 'DatabaseLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_error.py new file mode 100644 index 00000000000..ac363855ae1 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_error.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """Output task error. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar error: Migration error + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__(self): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, self).__init__() + self.error = None + self.result_type = 'ErrorOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_migration_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_migration_level.py new file mode 100644 index 00000000000..9044c24bd49 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_migration_level.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """Output info on the migration level. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar state: Current state of migration. Possible values include: + 'UNDEFINED', 'VALIDATING', 'PENDING', 'COMPLETE', 'ACTION_REQUIRED', + 'FAILED' + :vartype state: str or ~azure.mgmt.datamigration.models.SyncMigrationState + :ivar source_server_version: Source server version + :vartype source_server_version: str + :ivar source_server: Source server name + :vartype source_server: str + :ivar target_server_version: Target server version + :vartype target_server_version: str + :ivar target_server: Target server name + :vartype target_server: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + } + + def __init__(self): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, self).__init__() + self.started_on = None + self.ended_on = None + self.state = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + self.result_type = 'MigrationLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_table_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_table_level.py new file mode 100644 index 00000000000..b457fdfb126 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_table_level.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """Output info on the table level. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table + :vartype table_name: str + :ivar database_name: Name of the database + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts + :vartype cdc_insert_counter: str + :ivar cdc_update_counter: Number of applied updates + :vartype cdc_update_counter: str + :ivar cdc_delete_counter: Number of applied deletes + :vartype cdc_delete_counter: str + :ivar full_load_est_finish_time: Estimate to finish FullLoad + :vartype full_load_est_finish_time: datetime + :ivar full_load_started_on: Full load start time + :vartype full_load_started_on: datetime + :ivar full_load_ended_on: Full load end time + :vartype full_load_ended_on: datetime + :ivar full_load_total_volume_bytes: Total size of full load in bytes + :vartype full_load_total_volume_bytes: long + :ivar full_load_total_rows: Number of rows applied in full load + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values + include: 'BEFORE_LOAD', 'FULL_LOAD', 'COMPLETED', 'CANCELED', 'ERROR', + 'FAILED' + :vartype state: str or + ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target + :vartype last_modified_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_volume_bytes': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'str'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'str'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'str'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_volume_bytes': {'key': 'fullLoadTotalVolumeBytes', 'type': 'long'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__(self): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, self).__init__() + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_volume_bytes = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + self.result_type = 'TableLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_properties.py new file mode 100644 index 00000000000..d04e32efb3c --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates PostgreSQL databases to Azure + Database for PostgreSQL with continuous sync. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'Migrate.PostgreSql.AzureDbForPostgreSql.Sync' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_database_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_database_input.py new file mode 100644 index 00000000000..323847870db --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_database_input.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateSqlServerSqlDbDatabaseInput(Model): + """Database specific information for SQL to Azure SQL DB migration task + inputs. + + :param name: Name of the database + :type name: str + :param target_database_name: Name of target database. Note: Target + database will be truncated before starting migration. + :type target_database_name: str + :param make_source_db_read_only: Whether to set database read only before + migration + :type make_source_db_read_only: bool + :param table_map: Mapping of source to target tables + :type table_map: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'make_source_db_read_only': {'key': 'makeSourceDbReadOnly', 'type': 'bool'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + } + + def __init__(self, name=None, target_database_name=None, make_source_db_read_only=None, table_map=None): + super(MigrateSqlServerSqlDbDatabaseInput, self).__init__() + self.name = name + self.target_database_name = target_database_name + self.make_source_db_read_only = make_source_db_read_only + self.table_map = table_map diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_input.py new file mode 100644 index 00000000000..7d1ff426957 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_input.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .sql_migration_task_input import SqlMigrationTaskInput + + +class MigrateSqlServerSqlDbSyncTaskInput(SqlMigrationTaskInput): + """Input for the task that migrates on-prem SQL Server databases to Azure SQL + Database with continuous sync. + + :param source_connection_info: Information for connecting to source + :type source_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Databases to migrate + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbDatabaseInput] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlDbDatabaseInput]'}, + } + + def __init__(self, source_connection_info, target_connection_info, selected_databases): + super(MigrateSqlServerSqlDbSyncTaskInput, self).__init__(source_connection_info=source_connection_info, target_connection_info=target_connection_info) + self.selected_databases = selected_databases diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output.py new file mode 100644 index 00000000000..94efca91bb3 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateSqlServerSqlDbSyncTaskOutput(Model): + """Output for the task that migrates on-prem SQL Server databases to Azure SQL + Database with continuous sync. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, + MigrateSqlServerSqlDbSyncTaskOutputError, + MigrateSqlServerSqlDbSyncTaskOutputTableLevel, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseError', 'ErrorOutput': 'MigrateSqlServerSqlDbSyncTaskOutputError', 'TableLevelOutput': 'MigrateSqlServerSqlDbSyncTaskOutputTableLevel', 'DatabaseLevelOutput': 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel', 'MigrationLevelOutput': 'MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel'} + } + + def __init__(self): + super(MigrateSqlServerSqlDbSyncTaskOutput, self).__init__() + self.id = None + self.result_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_database_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_database_error.py new file mode 100644 index 00000000000..f91b229b5ec --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_database_error.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_db_sync_task_output import MigrateSqlServerSqlDbSyncTaskOutput + + +class MigrateSqlServerSqlDbSyncTaskOutputDatabaseError(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputDatabaseError. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :param error_message: Error message + :type error_message: str + :param events: List of error events. + :type events: + list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__(self, error_message=None, events=None): + super(MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, self).__init__() + self.error_message = error_message + self.events = events + self.result_type = 'DatabaseLevelErrorOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_database_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_database_level.py new file mode 100644 index 00000000000..6a678eab61d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_database_level.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_db_sync_task_output import MigrateSqlServerSqlDbSyncTaskOutput + + +class MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database + :vartype database_name: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar migration_state: Migration state that this database is in. Possible + values include: 'UNDEFINED', 'CONFIGURING', 'INITIALIAZING', 'STARTING', + 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', 'CANCELLING', + 'CANCELLED', 'FAILED' + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has + been completed + :vartype initialization_completed: bool + :ivar latency: CDC apply latency + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__(self): + super(MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, self).__init__() + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + self.result_type = 'DatabaseLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_error.py new file mode 100644 index 00000000000..5abd29c3b76 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_error.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_db_sync_task_output import MigrateSqlServerSqlDbSyncTaskOutput + + +class MigrateSqlServerSqlDbSyncTaskOutputError(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputError. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar error: Migration error + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__(self): + super(MigrateSqlServerSqlDbSyncTaskOutputError, self).__init__() + self.error = None + self.result_type = 'ErrorOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_migration_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_migration_level.py new file mode 100644 index 00000000000..fcafdb9a229 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_migration_level.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_db_sync_task_output import MigrateSqlServerSqlDbSyncTaskOutput + + +class MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar state: Current state of migration. Possible values include: + 'UNDEFINED', 'VALIDATING', 'PENDING', 'COMPLETE', 'ACTION_REQUIRED', + 'FAILED' + :vartype state: str or ~azure.mgmt.datamigration.models.SyncMigrationState + :ivar source_server_version: Source server version + :vartype source_server_version: str + :ivar source_server: Source server name + :vartype source_server: str + :ivar target_server_version: Target server version + :vartype target_server_version: str + :ivar target_server: Target server name + :vartype target_server: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + } + + def __init__(self): + super(MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, self).__init__() + self.started_on = None + self.ended_on = None + self.state = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + self.result_type = 'MigrationLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_table_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_table_level.py new file mode 100644 index 00000000000..cac7fe7505b --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_output_table_level.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_db_sync_task_output import MigrateSqlServerSqlDbSyncTaskOutput + + +class MigrateSqlServerSqlDbSyncTaskOutputTableLevel(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputTableLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table + :vartype table_name: str + :ivar database_name: Name of the database + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts + :vartype cdc_insert_counter: str + :ivar cdc_update_counter: Number of applied updates + :vartype cdc_update_counter: str + :ivar cdc_delete_counter: Number of applied deletes + :vartype cdc_delete_counter: str + :ivar full_load_est_finish_time: Estimate to finish FullLoad + :vartype full_load_est_finish_time: datetime + :ivar full_load_started_on: Full load start time + :vartype full_load_started_on: datetime + :ivar full_load_ended_on: Full load end time + :vartype full_load_ended_on: datetime + :ivar full_load_total_volume_bytes: Total size of full load in bytes + :vartype full_load_total_volume_bytes: long + :ivar full_load_total_rows: Number of rows applied in full load + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values + include: 'BEFORE_LOAD', 'FULL_LOAD', 'COMPLETED', 'CANCELED', 'ERROR', + 'FAILED' + :vartype state: str or + ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target + :vartype last_modified_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_volume_bytes': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'str'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'str'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'str'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_volume_bytes': {'key': 'fullLoadTotalVolumeBytes', 'type': 'long'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__(self): + super(MigrateSqlServerSqlDbSyncTaskOutputTableLevel, self).__init__() + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_volume_bytes = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + self.result_type = 'TableLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_properties.py new file mode 100644 index 00000000000..6decb7a953d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_sync_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class MigrateSqlServerSqlDbSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates on-prem SQL Server databases to Azure + SQL Database with continuous sync. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlDbSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlDbSyncTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(MigrateSqlServerSqlDbSyncTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'Migrate.SqlServer.AzureSqlDb.Sync' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_input.py new file mode 100644 index 00000000000..b00e84e522c --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_input.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .sql_migration_task_input import SqlMigrationTaskInput + + +class MigrateSqlServerSqlDbTaskInput(SqlMigrationTaskInput): + """Input for the task that migrates on-prem SQL Server databases to Azure SQL + Database. + + :param source_connection_info: Information for connecting to source + :type source_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Databases to migrate + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbDatabaseInput] + :param validation_options: Options for enabling various post migration + validations. Available options, + 1.) Data Integrity Check: Performs a checksum based comparison on source + and target tables after the migration to ensure the correctness of the + data. + 2.) Schema Validation: Performs a thorough schema comparison between the + source and target tables and provides a list of differences between the + source and target database, 3.) Query Analysis: Executes a set of queries + picked up automatically either from the Query Plan Cache or Query Store + and execute them and compares the execution time between the source and + target database. + :type validation_options: + ~azure.mgmt.datamigration.models.MigrationValidationOptions + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlDbDatabaseInput]'}, + 'validation_options': {'key': 'validationOptions', 'type': 'MigrationValidationOptions'}, + } + + def __init__(self, source_connection_info, target_connection_info, selected_databases, validation_options=None): + super(MigrateSqlServerSqlDbTaskInput, self).__init__(source_connection_info=source_connection_info, target_connection_info=target_connection_info) + self.selected_databases = selected_databases + self.validation_options = validation_options diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output.py new file mode 100644 index 00000000000..5425b38d076 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateSqlServerSqlDbTaskOutput(Model): + """Output for the task that migrates on-prem SQL Server databases to Azure SQL + Database. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlDbTaskOutputError, + MigrateSqlServerSqlDbTaskOutputTableLevel, + MigrateSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbTaskOutputMigrationLevel + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'ErrorOutput': 'MigrateSqlServerSqlDbTaskOutputError', 'TableLevelOutput': 'MigrateSqlServerSqlDbTaskOutputTableLevel', 'DatabaseLevelOutput': 'MigrateSqlServerSqlDbTaskOutputDatabaseLevel', 'MigrationLevelOutput': 'MigrateSqlServerSqlDbTaskOutputMigrationLevel'} + } + + def __init__(self): + super(MigrateSqlServerSqlDbTaskOutput, self).__init__() + self.id = None + self.result_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_database_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_database_level.py new file mode 100644 index 00000000000..ed3d14a2b95 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_database_level.py @@ -0,0 +1,118 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_db_task_output import MigrateSqlServerSqlDbTaskOutput + + +class MigrateSqlServerSqlDbTaskOutputDatabaseLevel(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputDatabaseLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar database_name: Name of the item + :vartype database_name: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Migration stage that this database is in. Possible values + include: 'None', 'Initialize', 'Backup', 'FileCopy', 'Restore', + 'Completed' + :vartype stage: str or + ~azure.mgmt.datamigration.models.DatabaseMigrationStage + :ivar status_message: Status message + :vartype status_message: str + :ivar message: Migration progress message + :vartype message: str + :ivar number_of_objects: Number of objects + :vartype number_of_objects: long + :ivar number_of_objects_completed: Number of successfully completed + objects + :vartype number_of_objects_completed: long + :ivar error_count: Number of database/object errors. + :vartype error_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors + of the item + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all + sub-tem results of the item + :vartype result_prefix: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar object_summary: Summary of object results in the migration + :vartype object_summary: dict[str, + ~azure.mgmt.datamigration.models.DataItemMigrationSummaryResult] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'number_of_objects': {'readonly': True}, + 'number_of_objects_completed': {'readonly': True}, + 'error_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'object_summary': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'number_of_objects': {'key': 'numberOfObjects', 'type': 'long'}, + 'number_of_objects_completed': {'key': 'numberOfObjectsCompleted', 'type': 'long'}, + 'error_count': {'key': 'errorCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'object_summary': {'key': 'objectSummary', 'type': '{DataItemMigrationSummaryResult}'}, + } + + def __init__(self): + super(MigrateSqlServerSqlDbTaskOutputDatabaseLevel, self).__init__() + self.database_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.stage = None + self.status_message = None + self.message = None + self.number_of_objects = None + self.number_of_objects_completed = None + self.error_count = None + self.error_prefix = None + self.result_prefix = None + self.exceptions_and_warnings = None + self.object_summary = None + self.result_type = 'DatabaseLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_error.py new file mode 100644 index 00000000000..663cf4b0e2f --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_error.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_db_task_output import MigrateSqlServerSqlDbTaskOutput + + +class MigrateSqlServerSqlDbTaskOutputError(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputError. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar error: Migration error + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__(self): + super(MigrateSqlServerSqlDbTaskOutputError, self).__init__() + self.error = None + self.result_type = 'ErrorOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_migration_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_migration_level.py new file mode 100644 index 00000000000..f50a3295081 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_migration_level.py @@ -0,0 +1,121 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_db_task_output import MigrateSqlServerSqlDbTaskOutput + + +class MigrateSqlServerSqlDbTaskOutputMigrationLevel(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputMigrationLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar duration_in_seconds: Duration of task execution in seconds. + :vartype duration_in_seconds: long + :ivar status: Current status of migration. Possible values include: + 'Default', 'Connecting', 'SourceAndTargetSelected', 'SelectLogins', + 'Configured', 'Running', 'Error', 'Stopped', 'Completed', + 'CompletedWithWarnings' + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar status_message: Migration status message + :vartype status_message: str + :ivar message: Migration progress message + :vartype message: str + :ivar databases: Selected databases as a map from database name to + database id + :vartype databases: dict[str, str] + :ivar database_summary: Summary of database results in the migration + :vartype database_summary: dict[str, + ~azure.mgmt.datamigration.models.DatabaseSummaryResult] + :param migration_validation_result: Migration Validation Results + :type migration_validation_result: + ~azure.mgmt.datamigration.models.MigrationValidationResult + :param migration_report_result: Migration Report Result, provides unique + url for downloading your migration report. + :type migration_report_result: + ~azure.mgmt.datamigration.models.MigrationReportResult + :ivar source_server_version: Source server version + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'duration_in_seconds': {'readonly': True}, + 'status': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'databases': {'readonly': True}, + 'database_summary': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'duration_in_seconds': {'key': 'durationInSeconds', 'type': 'long'}, + 'status': {'key': 'status', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '{str}'}, + 'database_summary': {'key': 'databaseSummary', 'type': '{DatabaseSummaryResult}'}, + 'migration_validation_result': {'key': 'migrationValidationResult', 'type': 'MigrationValidationResult'}, + 'migration_report_result': {'key': 'migrationReportResult', 'type': 'MigrationReportResult'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__(self, migration_validation_result=None, migration_report_result=None): + super(MigrateSqlServerSqlDbTaskOutputMigrationLevel, self).__init__() + self.started_on = None + self.ended_on = None + self.duration_in_seconds = None + self.status = None + self.status_message = None + self.message = None + self.databases = None + self.database_summary = None + self.migration_validation_result = migration_validation_result + self.migration_report_result = migration_report_result + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + self.result_type = 'MigrationLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_table_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_table_level.py new file mode 100644 index 00000000000..942f4b65ddb --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_output_table_level.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_db_task_output import MigrateSqlServerSqlDbTaskOutput + + +class MigrateSqlServerSqlDbTaskOutputTableLevel(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputTableLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar object_name: Name of the item + :vartype object_name: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message + :vartype status_message: str + :ivar items_count: Number of items + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors + of the item + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all + sub-tem results of the item + :vartype result_prefix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'object_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + } + + def __init__(self): + super(MigrateSqlServerSqlDbTaskOutputTableLevel, self).__init__() + self.object_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.status_message = None + self.items_count = None + self.items_completed_count = None + self.error_prefix = None + self.result_prefix = None + self.result_type = 'TableLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_properties.py new file mode 100644 index 00000000000..d3df4d55005 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_db_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class MigrateSqlServerSqlDbTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates on-prem SQL Server databases to Azure + SQL Database. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlDbTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlDbTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(MigrateSqlServerSqlDbTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'Migrate.SqlServer.SqlDb' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_database_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_database_input.py new file mode 100644 index 00000000000..fbd9ea429ea --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_database_input.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateSqlServerSqlMIDatabaseInput(Model): + """Database specific information for SQL to Azure SQL DB Managed Instance + migration task inputs. + + :param name: Name of the database + :type name: str + :param restore_database_name: Name of the database at destination + :type restore_database_name: str + :param backup_file_share: Backup file share information for backing up + this database. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + """ + + _validation = { + 'name': {'required': True}, + 'restore_database_name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name': {'key': 'restoreDatabaseName', 'type': 'str'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + } + + def __init__(self, name, restore_database_name, backup_file_share=None): + super(MigrateSqlServerSqlMIDatabaseInput, self).__init__() + self.name = name + self.restore_database_name = restore_database_name + self.backup_file_share = backup_file_share diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_input.py new file mode 100644 index 00000000000..22697197ad7 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_input.py @@ -0,0 +1,63 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .sql_migration_task_input import SqlMigrationTaskInput + + +class MigrateSqlServerSqlMITaskInput(SqlMigrationTaskInput): + """Input for task that migrates SQL Server databases to Azure SQL Database + Managed Instance. + + :param source_connection_info: Information for connecting to source + :type source_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Databases to migrate + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMIDatabaseInput] + :param selected_logins: Logins to migrate. + :type selected_logins: list[str] + :param selected_agent_jobs: Agent Jobs to migrate. + :type selected_agent_jobs: list[str] + :param backup_file_share: Backup file share information for all selected + databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param backup_blob_share: SAS URI of Azure Storage Account Container to be + used for storing backup files. + :type backup_blob_share: ~azure.mgmt.datamigration.models.BlobShare + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + 'backup_blob_share': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMIDatabaseInput]'}, + 'selected_logins': {'key': 'selectedLogins', 'type': '[str]'}, + 'selected_agent_jobs': {'key': 'selectedAgentJobs', 'type': '[str]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'backup_blob_share': {'key': 'backupBlobShare', 'type': 'BlobShare'}, + } + + def __init__(self, source_connection_info, target_connection_info, selected_databases, backup_blob_share, selected_logins=None, selected_agent_jobs=None, backup_file_share=None): + super(MigrateSqlServerSqlMITaskInput, self).__init__(source_connection_info=source_connection_info, target_connection_info=target_connection_info) + self.selected_databases = selected_databases + self.selected_logins = selected_logins + self.selected_agent_jobs = selected_agent_jobs + self.backup_file_share = backup_file_share + self.backup_blob_share = backup_blob_share diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output.py new file mode 100644 index 00000000000..186c8080e37 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateSqlServerSqlMITaskOutput(Model): + """Output for task that migrates SQL Server databases to Azure SQL Database + Managed Instance. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlMITaskOutputError, + MigrateSqlServerSqlMITaskOutputLoginLevel, + MigrateSqlServerSqlMITaskOutputAgentJobLevel, + MigrateSqlServerSqlMITaskOutputDatabaseLevel, + MigrateSqlServerSqlMITaskOutputMigrationLevel + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'ErrorOutput': 'MigrateSqlServerSqlMITaskOutputError', 'LoginLevelOutput': 'MigrateSqlServerSqlMITaskOutputLoginLevel', 'AgentJobLevelOutput': 'MigrateSqlServerSqlMITaskOutputAgentJobLevel', 'DatabaseLevelOutput': 'MigrateSqlServerSqlMITaskOutputDatabaseLevel', 'MigrationLevelOutput': 'MigrateSqlServerSqlMITaskOutputMigrationLevel'} + } + + def __init__(self): + super(MigrateSqlServerSqlMITaskOutput, self).__init__() + self.id = None + self.result_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_agent_job_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_agent_job_level.py new file mode 100644 index 00000000000..eadcf747c1d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_agent_job_level.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_mi_task_output import MigrateSqlServerSqlMITaskOutput + + +class MigrateSqlServerSqlMITaskOutputAgentJobLevel(MigrateSqlServerSqlMITaskOutput): + """MigrateSqlServerSqlMITaskOutputAgentJobLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar name: AgentJob name. + :vartype name: str + :ivar is_enabled: The state of the original AgentJob. + :vartype is_enabled: bool + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar message: Migration progress message + :vartype message: str + :ivar exceptions_and_warnings: Migration errors and warnings per job + :vartype exceptions_and_warnings: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'is_enabled': {'readonly': True}, + 'state': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'state': {'key': 'state', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(MigrateSqlServerSqlMITaskOutputAgentJobLevel, self).__init__() + self.name = None + self.is_enabled = None + self.state = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + self.result_type = 'AgentJobLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_database_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_database_level.py new file mode 100644 index 00000000000..deb0eb4970e --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_database_level.py @@ -0,0 +1,83 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_mi_task_output import MigrateSqlServerSqlMITaskOutput + + +class MigrateSqlServerSqlMITaskOutputDatabaseLevel(MigrateSqlServerSqlMITaskOutput): + """MigrateSqlServerSqlMITaskOutputDatabaseLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database + :vartype database_name: str + :ivar size_mb: Size of the database in megabytes + :vartype size_mb: float + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Current stage of migration. Possible values include: 'None', + 'Initialize', 'Backup', 'FileCopy', 'Restore', 'Completed' + :vartype stage: str or + ~azure.mgmt.datamigration.models.DatabaseMigrationStage + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar message: Migration progress message + :vartype message: str + :ivar exceptions_and_warnings: Migration exceptions and warnings + :vartype exceptions_and_warnings: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'size_mb': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(MigrateSqlServerSqlMITaskOutputDatabaseLevel, self).__init__() + self.database_name = None + self.size_mb = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + self.result_type = 'DatabaseLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_error.py new file mode 100644 index 00000000000..cbe008f98f2 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_error.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_mi_task_output import MigrateSqlServerSqlMITaskOutput + + +class MigrateSqlServerSqlMITaskOutputError(MigrateSqlServerSqlMITaskOutput): + """MigrateSqlServerSqlMITaskOutputError. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar error: Migration error + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__(self): + super(MigrateSqlServerSqlMITaskOutputError, self).__init__() + self.error = None + self.result_type = 'ErrorOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_login_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_login_level.py new file mode 100644 index 00000000000..fc2ca422c32 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_login_level.py @@ -0,0 +1,81 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_mi_task_output import MigrateSqlServerSqlMITaskOutput + + +class MigrateSqlServerSqlMITaskOutputLoginLevel(MigrateSqlServerSqlMITaskOutput): + """MigrateSqlServerSqlMITaskOutputLoginLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar login_name: Login name. + :vartype login_name: str + :ivar state: Current state of login. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Current stage of login. Possible values include: 'None', + 'Initialize', 'LoginMigration', 'EstablishUserMapping', + 'AssignRoleMembership', 'AssignRoleOwnership', + 'EstablishServerPermissions', 'EstablishObjectPermissions', 'Completed' + :vartype stage: str or + ~azure.mgmt.datamigration.models.LoginMigrationStage + :ivar started_on: Login migration start time + :vartype started_on: datetime + :ivar ended_on: Login migration end time + :vartype ended_on: datetime + :ivar message: Login migration progress message + :vartype message: str + :ivar exceptions_and_warnings: Login migration errors and warnings per + login + :vartype exceptions_and_warnings: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'login_name': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'login_name': {'key': 'loginName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(MigrateSqlServerSqlMITaskOutputLoginLevel, self).__init__() + self.login_name = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + self.result_type = 'LoginLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_migration_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_migration_level.py new file mode 100644 index 00000000000..f3c7f2f47d4 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_output_migration_level.py @@ -0,0 +1,121 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_mi_task_output import MigrateSqlServerSqlMITaskOutput + + +class MigrateSqlServerSqlMITaskOutputMigrationLevel(MigrateSqlServerSqlMITaskOutput): + """MigrateSqlServerSqlMITaskOutputMigrationLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar status: Current status of migration. Possible values include: + 'Default', 'Connecting', 'SourceAndTargetSelected', 'SelectLogins', + 'Configured', 'Running', 'Error', 'Stopped', 'Completed', + 'CompletedWithWarnings' + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar agent_jobs: Selected agent jobs as a map from name to id + :vartype agent_jobs: dict[str, str] + :ivar logins: Selected logins as a map from name to id + :vartype logins: dict[str, str] + :ivar message: Migration progress message + :vartype message: str + :ivar server_role_results: Map of server role migration results. + :vartype server_role_results: dict[str, + ~azure.mgmt.datamigration.models.StartMigrationScenarioServerRoleResult] + :ivar orphaned_users: Map of users to database name of orphaned users. + :vartype orphaned_users: dict[str, str] + :ivar databases: Selected databases as a map from database name to + database id + :vartype databases: dict[str, str] + :ivar source_server_version: Source server version + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'state': {'readonly': True}, + 'agent_jobs': {'readonly': True}, + 'logins': {'readonly': True}, + 'message': {'readonly': True}, + 'server_role_results': {'readonly': True}, + 'orphaned_users': {'readonly': True}, + 'databases': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'agent_jobs': {'key': 'agentJobs', 'type': '{str}'}, + 'logins': {'key': 'logins', 'type': '{str}'}, + 'message': {'key': 'message', 'type': 'str'}, + 'server_role_results': {'key': 'serverRoleResults', 'type': '{StartMigrationScenarioServerRoleResult}'}, + 'orphaned_users': {'key': 'orphanedUsers', 'type': '{str}'}, + 'databases': {'key': 'databases', 'type': '{str}'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(MigrateSqlServerSqlMITaskOutputMigrationLevel, self).__init__() + self.started_on = None + self.ended_on = None + self.status = None + self.state = None + self.agent_jobs = None + self.logins = None + self.message = None + self.server_role_results = None + self.orphaned_users = None + self.databases = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + self.result_type = 'MigrationLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_properties.py new file mode 100644 index 00000000000..c457023f700 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_mi_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class MigrateSqlServerSqlMITaskProperties(ProjectTaskProperties): + """Properties for task that migrates SQL Server databases to Azure SQL + Database Managed Instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.MigrateSqlServerSqlMITaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMITaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlMITaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlMITaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(MigrateSqlServerSqlMITaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'Migrate.SqlServer.AzureSqlDbMI' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_database_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_database_input.py new file mode 100644 index 00000000000..15c8fd272cf --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_database_input.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateSqlServerSqlServerDatabaseInput(Model): + """Database specific information for SQL to SQL migration task inputs. + + :param name: Name of the database + :type name: str + :param restore_database_name: Name of the database at destination + :type restore_database_name: str + :param backup_and_restore_folder: The backup and restore folder + :type backup_and_restore_folder: str + :param database_files: The list of database files + :type database_files: + list[~azure.mgmt.datamigration.models.DatabaseFileInput] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name': {'key': 'restoreDatabaseName', 'type': 'str'}, + 'backup_and_restore_folder': {'key': 'backupAndRestoreFolder', 'type': 'str'}, + 'database_files': {'key': 'databaseFiles', 'type': '[DatabaseFileInput]'}, + } + + def __init__(self, name=None, restore_database_name=None, backup_and_restore_folder=None, database_files=None): + super(MigrateSqlServerSqlServerDatabaseInput, self).__init__() + self.name = name + self.restore_database_name = restore_database_name + self.backup_and_restore_folder = backup_and_restore_folder + self.database_files = database_files diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_input.py new file mode 100644 index 00000000000..203d234ba4b --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_input.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .sql_migration_task_input import SqlMigrationTaskInput + + +class MigrateSqlServerSqlServerTaskInput(SqlMigrationTaskInput): + """Input for the task that migrates on-prem SQL Server databases to SQL on VM. + + :param source_connection_info: Information for connecting to source + :type source_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Databases to migrate + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlServerDatabaseInput] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlServerDatabaseInput]'}, + } + + def __init__(self, source_connection_info, target_connection_info, selected_databases): + super(MigrateSqlServerSqlServerTaskInput, self).__init__(source_connection_info=source_connection_info, target_connection_info=target_connection_info) + self.selected_databases = selected_databases diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output.py new file mode 100644 index 00000000000..49122c36370 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateSqlServerSqlServerTaskOutput(Model): + """Output for the task that migrates on-prem SQL Server databases to SQL on + VM. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlServerTaskOutputError, + MigrateSqlServerSqlServerTaskOutputDatabaseLevel, + MigrateSqlServerSqlServerTaskOutputMigrationLevel + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'ErrorOutput': 'MigrateSqlServerSqlServerTaskOutputError', 'DatabaseLevelOutput': 'MigrateSqlServerSqlServerTaskOutputDatabaseLevel', 'MigrationLevelOutput': 'MigrateSqlServerSqlServerTaskOutputMigrationLevel'} + } + + def __init__(self): + super(MigrateSqlServerSqlServerTaskOutput, self).__init__() + self.id = None + self.result_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output_database_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output_database_level.py new file mode 100644 index 00000000000..19e123f28dd --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output_database_level.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_server_task_output import MigrateSqlServerSqlServerTaskOutput + + +class MigrateSqlServerSqlServerTaskOutputDatabaseLevel(MigrateSqlServerSqlServerTaskOutput): + """MigrateSqlServerSqlServerTaskOutputDatabaseLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database + :vartype database_name: str + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Current stage of migration. Possible values include: 'None', + 'Initialize', 'Backup', 'FileCopy', 'Restore', 'Completed' + :vartype stage: str or + ~azure.mgmt.datamigration.models.DatabaseMigrationStage + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar message: Migration progress message + :vartype message: str + :ivar exceptions_and_warnings: Migration exceptions and warnings + :vartype exceptions_and_warnings: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar number_of_objects_completed: Number of database artifacts/objects + completed + :vartype number_of_objects_completed: int + :ivar number_of_objects: Total number of database artifacts/objects + :vartype number_of_objects: int + :ivar error_count: Count of database/object errors + :vartype error_count: int + :ivar object_summary: Source databases as a map from database name to + database id + :vartype object_summary: dict[str, + ~azure.mgmt.datamigration.models.DataItemMigrationSummaryResult] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'number_of_objects_completed': {'readonly': True}, + 'number_of_objects': {'readonly': True}, + 'error_count': {'readonly': True}, + 'object_summary': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'number_of_objects_completed': {'key': 'numberOfObjectsCompleted', 'type': 'int'}, + 'number_of_objects': {'key': 'numberOfObjects', 'type': 'int'}, + 'error_count': {'key': 'errorCount', 'type': 'int'}, + 'object_summary': {'key': 'objectSummary', 'type': '{DataItemMigrationSummaryResult}'}, + } + + def __init__(self): + super(MigrateSqlServerSqlServerTaskOutputDatabaseLevel, self).__init__() + self.database_name = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + self.number_of_objects_completed = None + self.number_of_objects = None + self.error_count = None + self.object_summary = None + self.result_type = 'DatabaseLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output_error.py new file mode 100644 index 00000000000..57aaea639e9 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output_error.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_server_task_output import MigrateSqlServerSqlServerTaskOutput + + +class MigrateSqlServerSqlServerTaskOutputError(MigrateSqlServerSqlServerTaskOutput): + """MigrateSqlServerSqlServerTaskOutputError. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar error: Migration error + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__(self): + super(MigrateSqlServerSqlServerTaskOutputError, self).__init__() + self.error = None + self.result_type = 'ErrorOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output_migration_level.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output_migration_level.py new file mode 100644 index 00000000000..05fa1b7e837 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_output_migration_level.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .migrate_sql_server_sql_server_task_output import MigrateSqlServerSqlServerTaskOutput + + +class MigrateSqlServerSqlServerTaskOutputMigrationLevel(MigrateSqlServerSqlServerTaskOutput): + """MigrateSqlServerSqlServerTaskOutputMigrationLevel. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :param result_type: Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar status: Current status of migration. Possible values include: + 'Default', 'Connecting', 'SourceAndTargetSelected', 'SelectLogins', + 'Configured', 'Running', 'Error', 'Stopped', 'Completed', + 'CompletedWithWarnings' + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Migration status message + :vartype status_message: str + :ivar message: Migration progress message + :vartype message: str + :ivar databases: Selected databases as a map from database name to + database id + :vartype databases: dict[str, str] + :ivar database_summary: Summary of database results in the migration + :vartype database_summary: dict[str, + ~azure.mgmt.datamigration.models.DataItemMigrationSummaryResult] + :ivar source_server_version: Source server version + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'databases': {'readonly': True}, + 'database_summary': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '{str}'}, + 'database_summary': {'key': 'databaseSummary', 'type': '{DataItemMigrationSummaryResult}'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(MigrateSqlServerSqlServerTaskOutputMigrationLevel, self).__init__() + self.started_on = None + self.ended_on = None + self.status = None + self.state = None + self.status_message = None + self.message = None + self.databases = None + self.database_summary = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + self.result_type = 'MigrationLevelOutput' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_properties.py new file mode 100644 index 00000000000..b0b28c26cb8 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sql_server_sql_server_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class MigrateSqlServerSqlServerTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates on-prem SQL Server databases to SQL + on VM. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.MigrateSqlServerSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlServerTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlServerTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(MigrateSqlServerSqlServerTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'Migrate.SqlServer.SqlServer' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sync_complete_command_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sync_complete_command_input.py new file mode 100644 index 00000000000..bc3570cc443 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sync_complete_command_input.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateSyncCompleteCommandInput(Model): + """Input for command that completes sync migration for a database. + + :param database_name: Name of database + :type database_name: str + :param commit_time_stamp: Time stamp to complete + :type commit_time_stamp: datetime + """ + + _validation = { + 'database_name': {'required': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'commit_time_stamp': {'key': 'commitTimeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, database_name, commit_time_stamp=None): + super(MigrateSyncCompleteCommandInput, self).__init__() + self.database_name = database_name + self.commit_time_stamp = commit_time_stamp diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sync_complete_command_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sync_complete_command_output.py new file mode 100644 index 00000000000..a5a55443692 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sync_complete_command_output.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrateSyncCompleteCommandOutput(Model): + """Output for command that completes sync migration for a database. + + :param errors: List of errors that happened during the command execution + :type errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ReportableException]'}, + } + + def __init__(self, errors=None): + super(MigrateSyncCompleteCommandOutput, self).__init__() + self.errors = errors diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sync_complete_command_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sync_complete_command_properties.py new file mode 100644 index 00000000000..0ba78b4953b --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migrate_sync_complete_command_properties.py @@ -0,0 +1,56 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .command_properties import CommandProperties + + +class MigrateSyncCompleteCommandProperties(CommandProperties): + """Properties for the command that completes sync migration for a database. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. + Possible values include: 'Unknown', 'Accepted', 'Running', 'Succeeded', + 'Failed' + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param command_type: Constant filled by server. + :type command_type: str + :param input: Command input + :type input: + ~azure.mgmt.datamigration.models.MigrateSyncCompleteCommandInput + :ivar output: Command output. This is ignored if submitted. + :vartype output: + ~azure.mgmt.datamigration.models.MigrateSyncCompleteCommandOutput + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'command_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateSyncCompleteCommandInput'}, + 'output': {'key': 'output', 'type': 'MigrateSyncCompleteCommandOutput'}, + } + + def __init__(self, input=None): + super(MigrateSyncCompleteCommandProperties, self).__init__() + self.input = input + self.output = None + self.command_type = 'Migrate.Sync.Complete.Database' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_eligibility_info.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_eligibility_info.py new file mode 100644 index 00000000000..4fad8951f86 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_eligibility_info.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrationEligibilityInfo(Model): + """Information about migration eligibility of a server object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar is_eligibile_for_migration: Whether object is eligible for migration + or not. + :vartype is_eligibile_for_migration: bool + :ivar validation_messages: Information about eligibility failure for the + server object. + :vartype validation_messages: list[str] + """ + + _validation = { + 'is_eligibile_for_migration': {'readonly': True}, + 'validation_messages': {'readonly': True}, + } + + _attribute_map = { + 'is_eligibile_for_migration': {'key': 'isEligibileForMigration', 'type': 'bool'}, + 'validation_messages': {'key': 'validationMessages', 'type': '[str]'}, + } + + def __init__(self): + super(MigrationEligibilityInfo, self).__init__() + self.is_eligibile_for_migration = None + self.validation_messages = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_report_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_report_result.py new file mode 100644 index 00000000000..46536a5b513 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_report_result.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrationReportResult(Model): + """Migration validation report result, contains the url for downloading the + generated report. + + :param id: Migration validation result identifier + :type id: str + :param report_url: The url of the report. + :type report_url: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'report_url': {'key': 'reportUrl', 'type': 'str'}, + } + + def __init__(self, id=None, report_url=None): + super(MigrationReportResult, self).__init__() + self.id = id + self.report_url = report_url diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_table_metadata.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_table_metadata.py new file mode 100644 index 00000000000..7b1feba4549 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_table_metadata.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrationTableMetadata(Model): + """Metadata for tables selected in migration project. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar source_table_name: Source table name + :vartype source_table_name: str + :ivar target_table_name: Target table name + :vartype target_table_name: str + """ + + _validation = { + 'source_table_name': {'readonly': True}, + 'target_table_name': {'readonly': True}, + } + + _attribute_map = { + 'source_table_name': {'key': 'sourceTableName', 'type': 'str'}, + 'target_table_name': {'key': 'targetTableName', 'type': 'str'}, + } + + def __init__(self): + super(MigrationTableMetadata, self).__init__() + self.source_table_name = None + self.target_table_name = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_database_level_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_database_level_result.py new file mode 100644 index 00000000000..22b7f272fb8 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_database_level_result.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrationValidationDatabaseLevelResult(Model): + """Database level validation results. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar migration_id: Migration Identifier + :vartype migration_id: str + :ivar source_database_name: Name of the source database + :vartype source_database_name: str + :ivar target_database_name: Name of the target database + :vartype target_database_name: str + :ivar started_on: Validation start time + :vartype started_on: datetime + :ivar ended_on: Validation end time + :vartype ended_on: datetime + :ivar data_integrity_validation_result: Provides data integrity validation + result between the source and target tables that are migrated. + :vartype data_integrity_validation_result: + ~azure.mgmt.datamigration.models.DataIntegrityValidationResult + :ivar schema_validation_result: Provides schema comparison result between + source and target database + :vartype schema_validation_result: + ~azure.mgmt.datamigration.models.SchemaComparisonValidationResult + :ivar query_analysis_validation_result: Results of some of the query + execution result between source and target database + :vartype query_analysis_validation_result: + ~azure.mgmt.datamigration.models.QueryAnalysisValidationResult + :ivar status: Current status of validation at the database level. Possible + values include: 'Default', 'NotStarted', 'Initialized', 'InProgress', + 'Completed', 'CompletedWithIssues', 'Stopped', 'Failed' + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_id': {'readonly': True}, + 'source_database_name': {'readonly': True}, + 'target_database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'data_integrity_validation_result': {'readonly': True}, + 'schema_validation_result': {'readonly': True}, + 'query_analysis_validation_result': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'data_integrity_validation_result': {'key': 'dataIntegrityValidationResult', 'type': 'DataIntegrityValidationResult'}, + 'schema_validation_result': {'key': 'schemaValidationResult', 'type': 'SchemaComparisonValidationResult'}, + 'query_analysis_validation_result': {'key': 'queryAnalysisValidationResult', 'type': 'QueryAnalysisValidationResult'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__(self): + super(MigrationValidationDatabaseLevelResult, self).__init__() + self.id = None + self.migration_id = None + self.source_database_name = None + self.target_database_name = None + self.started_on = None + self.ended_on = None + self.data_integrity_validation_result = None + self.schema_validation_result = None + self.query_analysis_validation_result = None + self.status = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_database_summary_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_database_summary_result.py new file mode 100644 index 00000000000..d44a6f44c89 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_database_summary_result.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrationValidationDatabaseSummaryResult(Model): + """Migration Validation Database level summary result. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar migration_id: Migration Identifier + :vartype migration_id: str + :ivar source_database_name: Name of the source database + :vartype source_database_name: str + :ivar target_database_name: Name of the target database + :vartype target_database_name: str + :ivar started_on: Validation start time + :vartype started_on: datetime + :ivar ended_on: Validation end time + :vartype ended_on: datetime + :ivar status: Current status of validation at the database level. Possible + values include: 'Default', 'NotStarted', 'Initialized', 'InProgress', + 'Completed', 'CompletedWithIssues', 'Stopped', 'Failed' + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_id': {'readonly': True}, + 'source_database_name': {'readonly': True}, + 'target_database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__(self): + super(MigrationValidationDatabaseSummaryResult, self).__init__() + self.id = None + self.migration_id = None + self.source_database_name = None + self.target_database_name = None + self.started_on = None + self.ended_on = None + self.status = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_options.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_options.py new file mode 100644 index 00000000000..7c4ab1a0543 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_options.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrationValidationOptions(Model): + """Types of validations to run after the migration. + + :param enable_schema_validation: Allows to compare the schema information + between source and target. + :type enable_schema_validation: bool + :param enable_data_integrity_validation: Allows to perform a checksum + based data integrity validation between source and target for the selected + database / tables . + :type enable_data_integrity_validation: bool + :param enable_query_analysis_validation: Allows to perform a quick and + intelligent query analysis by retrieving queries from the source database + and executes them in the target. The result will have execution statistics + for executions in source and target databases for the extracted queries. + :type enable_query_analysis_validation: bool + """ + + _attribute_map = { + 'enable_schema_validation': {'key': 'enableSchemaValidation', 'type': 'bool'}, + 'enable_data_integrity_validation': {'key': 'enableDataIntegrityValidation', 'type': 'bool'}, + 'enable_query_analysis_validation': {'key': 'enableQueryAnalysisValidation', 'type': 'bool'}, + } + + def __init__(self, enable_schema_validation=None, enable_data_integrity_validation=None, enable_query_analysis_validation=None): + super(MigrationValidationOptions, self).__init__() + self.enable_schema_validation = enable_schema_validation + self.enable_data_integrity_validation = enable_data_integrity_validation + self.enable_query_analysis_validation = enable_query_analysis_validation diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_result.py new file mode 100644 index 00000000000..964d356c547 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/migration_validation_result.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MigrationValidationResult(Model): + """Migration Validation Result. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Migration validation result identifier + :vartype id: str + :ivar migration_id: Migration Identifier + :vartype migration_id: str + :param summary_results: Validation summary results for each database + :type summary_results: dict[str, + ~azure.mgmt.datamigration.models.MigrationValidationDatabaseSummaryResult] + :ivar status: Current status of validation at the migration level. Status + from the database validation result status will be aggregated here. + Possible values include: 'Default', 'NotStarted', 'Initialized', + 'InProgress', 'Completed', 'CompletedWithIssues', 'Stopped', 'Failed' + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_id': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'summary_results': {'key': 'summaryResults', 'type': '{MigrationValidationDatabaseSummaryResult}'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__(self, summary_results=None): + super(MigrationValidationResult, self).__init__() + self.id = None + self.migration_id = None + self.summary_results = summary_results + self.status = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/my_sql_connection_info.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/my_sql_connection_info.py new file mode 100644 index 00000000000..4b2ae4da2fc --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/my_sql_connection_info.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .connection_info import ConnectionInfo + + +class MySqlConnectionInfo(ConnectionInfo): + """Information for connecting to MySQL source. + + :param user_name: User name + :type user_name: str + :param password: Password credential. + :type password: str + :param type: Constant filled by server. + :type type: str + :param server_name: Name of the server + :type server_name: str + :param port: Port for Server + :type port: int + """ + + _validation = { + 'type': {'required': True}, + 'server_name': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, server_name, port, user_name=None, password=None): + super(MySqlConnectionInfo, self).__init__(user_name=user_name, password=password) + self.server_name = server_name + self.port = port + self.type = 'MySqlConnectionInfo' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/my_sql_data_migration_project_metadata.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/my_sql_data_migration_project_metadata.py new file mode 100644 index 00000000000..b6b240ce575 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/my_sql_data_migration_project_metadata.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .data_migration_project_metadata import DataMigrationProjectMetadata + + +class MySqlDataMigrationProjectMetadata(DataMigrationProjectMetadata): + """Metadata for MySQL project. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar source_server_name: Source server name + :vartype source_server_name: str + :ivar source_server_port: Source server port number + :vartype source_server_port: str + :ivar source_username: Source username + :vartype source_username: str + :ivar target_server_name: Target server name + :vartype target_server_name: str + :ivar target_username: Target username + :vartype target_username: str + :ivar target_db_name: Target database name + :vartype target_db_name: str + :ivar target_using_win_auth: Whether target connection is Windows + authentication + :vartype target_using_win_auth: bool + :ivar selected_migration_tables: List of tables selected for migration + :vartype selected_migration_tables: + list[~azure.mgmt.datamigration.models.MigrationTableMetadata] + """ + + _validation = { + 'source_server_name': {'readonly': True}, + 'source_server_port': {'readonly': True}, + 'source_username': {'readonly': True}, + 'target_server_name': {'readonly': True}, + 'target_username': {'readonly': True}, + 'target_db_name': {'readonly': True}, + 'target_using_win_auth': {'readonly': True}, + 'selected_migration_tables': {'readonly': True}, + } + + def __init__(self): + super(MySqlDataMigrationProjectMetadata, self).__init__() diff --git a/src/rdbms/azext_rdbms/mysql/models/name_availability_request.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/name_availability_request.py similarity index 59% rename from src/rdbms/azext_rdbms/mysql/models/name_availability_request.py rename to src/datamigration/azext_dms/vendored_sdks/datamigration/models/name_availability_request.py index 33cac8ab530..795c6c4a827 100644 --- a/src/rdbms/azext_rdbms/mysql/models/name_availability_request.py +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/name_availability_request.py @@ -13,26 +13,20 @@ class NameAvailabilityRequest(Model): - """Request from client to check resource name availability. + """A resource type and proposed name. - All required parameters must be populated in order to send to Azure. - - :param name: Required. Resource name to verify. + :param name: The proposed resource name :type name: str - :param type: Resource type used for verification. + :param type: The resource type chain (e.g. virtualMachines/extensions) :type type: str """ - _validation = { - 'name': {'required': True}, - } - _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): - super(NameAvailabilityRequest, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) + def __init__(self, name=None, type=None): + super(NameAvailabilityRequest, self).__init__() + self.name = name + self.type = type diff --git a/src/rdbms/azext_rdbms/postgresql/models/name_availability.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/name_availability_response.py similarity index 50% rename from src/rdbms/azext_rdbms/postgresql/models/name_availability.py rename to src/datamigration/azext_dms/vendored_sdks/datamigration/models/name_availability_response.py index 327a74ca8a4..85b39586983 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/name_availability.py +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/name_availability_response.py @@ -12,25 +12,29 @@ from msrest.serialization import Model -class NameAvailability(Model): - """Represents a resource name availability. +class NameAvailabilityResponse(Model): + """Indicates whether a proposed resource name is available. - :param message: Error Message. - :type message: str - :param name_available: Indicates whether the resource name is available. + :param name_available: If true, the name is valid and available. If false, + 'reason' describes why not. :type name_available: bool - :param reason: Reason for name being unavailable. - :type reason: str + :param reason: The reason why the name is not available, if nameAvailable + is false. Possible values include: 'AlreadyExists', 'Invalid' + :type reason: str or + ~azure.mgmt.datamigration.models.NameCheckFailureReason + :param message: The localized reason why the name is not available, if + nameAvailable is false + :type message: str """ _attribute_map = { - 'message': {'key': 'message', 'type': 'str'}, 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, } - def __init__(self, **kwargs): - super(NameAvailability, self).__init__(**kwargs) - self.message = kwargs.get('message', None) - self.name_available = kwargs.get('name_available', None) - self.reason = kwargs.get('reason', None) + def __init__(self, name_available=None, reason=None, message=None): + super(NameAvailabilityResponse, self).__init__() + self.name_available = name_available + self.reason = reason + self.message = message diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_data_migration_table.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_data_migration_table.py new file mode 100644 index 00000000000..0b3dfd88df0 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_data_migration_table.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class NonSqlDataMigrationTable(Model): + """Defines metadata for table to be migrated. + + :param source_name: Source table name + :type source_name: str + """ + + _attribute_map = { + 'source_name': {'key': 'sourceName', 'type': 'str'}, + } + + def __init__(self, source_name=None): + super(NonSqlDataMigrationTable, self).__init__() + self.source_name = source_name diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_data_migration_table_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_data_migration_table_result.py new file mode 100644 index 00000000000..bef337e4eac --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_data_migration_table_result.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class NonSqlDataMigrationTableResult(Model): + """Object used to report the data migration results of a table. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar result_code: Result code of the data migration. Possible values + include: 'Initial', 'Completed', 'ObjectNotExistsInSource', + 'ObjectNotExistsInTarget', 'TargetObjectIsInaccessible', 'FatalError' + :vartype result_code: str or + ~azure.mgmt.datamigration.models.DataMigrationResultCode + :ivar source_name: Name of the source table + :vartype source_name: str + :ivar target_name: Name of the target table + :vartype target_name: str + :ivar source_row_count: Number of rows in the source table + :vartype source_row_count: long + :ivar target_row_count: Number of rows in the target table + :vartype target_row_count: long + :ivar elapsed_time_in_miliseconds: Time taken to migrate the data + :vartype elapsed_time_in_miliseconds: float + :ivar errors: List of errors, if any, during migration + :vartype errors: list[~azure.mgmt.datamigration.models.DataMigrationError] + """ + + _validation = { + 'result_code': {'readonly': True}, + 'source_name': {'readonly': True}, + 'target_name': {'readonly': True}, + 'source_row_count': {'readonly': True}, + 'target_row_count': {'readonly': True}, + 'elapsed_time_in_miliseconds': {'readonly': True}, + 'errors': {'readonly': True}, + } + + _attribute_map = { + 'result_code': {'key': 'resultCode', 'type': 'str'}, + 'source_name': {'key': 'sourceName', 'type': 'str'}, + 'target_name': {'key': 'targetName', 'type': 'str'}, + 'source_row_count': {'key': 'sourceRowCount', 'type': 'long'}, + 'target_row_count': {'key': 'targetRowCount', 'type': 'long'}, + 'elapsed_time_in_miliseconds': {'key': 'elapsedTimeInMiliseconds', 'type': 'float'}, + 'errors': {'key': 'errors', 'type': '[DataMigrationError]'}, + } + + def __init__(self): + super(NonSqlDataMigrationTableResult, self).__init__() + self.result_code = None + self.source_name = None + self.target_name = None + self.source_row_count = None + self.target_row_count = None + self.elapsed_time_in_miliseconds = None + self.errors = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_migration_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_migration_task_input.py new file mode 100644 index 00000000000..06b4d891d9f --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_migration_task_input.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class NonSqlMigrationTaskInput(Model): + """Base class for non sql migration task input. + + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_database_name: Target database name + :type target_database_name: str + :param project_name: Name of the migration project + :type project_name: str + :param project_location: An URL that points to the drop location to access + project artifacts + :type project_location: str + :param selected_tables: Metadata of the tables selected for migration + :type selected_tables: + list[~azure.mgmt.datamigration.models.NonSqlDataMigrationTable] + """ + + _validation = { + 'target_connection_info': {'required': True}, + 'target_database_name': {'required': True}, + 'project_name': {'required': True}, + 'project_location': {'required': True}, + 'selected_tables': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'project_location': {'key': 'projectLocation', 'type': 'str'}, + 'selected_tables': {'key': 'selectedTables', 'type': '[NonSqlDataMigrationTable]'}, + } + + def __init__(self, target_connection_info, target_database_name, project_name, project_location, selected_tables): + super(NonSqlMigrationTaskInput, self).__init__() + self.target_connection_info = target_connection_info + self.target_database_name = target_database_name + self.project_name = project_name + self.project_location = project_location + self.selected_tables = selected_tables diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_migration_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_migration_task_output.py new file mode 100644 index 00000000000..ddea3d0bd90 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/non_sql_migration_task_output.py @@ -0,0 +1,75 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class NonSqlMigrationTaskOutput(Model): + """Base class for non sql migration task output. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar started_on: Migration start time + :vartype started_on: datetime + :ivar ended_on: Migration end time + :vartype ended_on: datetime + :ivar status: Current state of migration. Possible values include: + 'Default', 'Connecting', 'SourceAndTargetSelected', 'SelectLogins', + 'Configured', 'Running', 'Error', 'Stopped', 'Completed', + 'CompletedWithWarnings' + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar data_migration_table_results: Results of the migration. The key + contains the table name and the value the table result object + :vartype data_migration_table_results: dict[str, + ~azure.mgmt.datamigration.models.NonSqlDataMigrationTableResult] + :ivar progress_message: Message about the progress of the migration + :vartype progress_message: str + :ivar source_server_name: Name of source server + :vartype source_server_name: str + :ivar target_server_name: Name of target server + :vartype target_server_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'data_migration_table_results': {'readonly': True}, + 'progress_message': {'readonly': True}, + 'source_server_name': {'readonly': True}, + 'target_server_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'data_migration_table_results': {'key': 'dataMigrationTableResults', 'type': '{NonSqlDataMigrationTableResult}'}, + 'progress_message': {'key': 'progressMessage', 'type': 'str'}, + 'source_server_name': {'key': 'sourceServerName', 'type': 'str'}, + 'target_server_name': {'key': 'targetServerName', 'type': 'str'}, + } + + def __init__(self): + super(NonSqlMigrationTaskOutput, self).__init__() + self.id = None + self.started_on = None + self.ended_on = None + self.status = None + self.data_migration_table_results = None + self.progress_message = None + self.source_server_name = None + self.target_server_name = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/odata_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/odata_error.py new file mode 100644 index 00000000000..df8a46d6a46 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/odata_error.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ODataError(Model): + """Error information in OData format. + + :param code: The machine-readable description of the error, such as + 'InvalidRequest' or 'InternalServerError' + :type code: str + :param message: The human-readable description of the error + :type message: str + :param details: Inner errors that caused this error + :type details: list[~azure.mgmt.datamigration.models.ODataError] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ODataError]'}, + } + + def __init__(self, code=None, message=None, details=None): + super(ODataError, self).__init__() + self.code = code + self.message = message + self.details = details diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/oracle_connection_info.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/oracle_connection_info.py new file mode 100644 index 00000000000..aed02fe5f53 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/oracle_connection_info.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .connection_info import ConnectionInfo + + +class OracleConnectionInfo(ConnectionInfo): + """Information for connecting to Oracle source. + + :param user_name: User name + :type user_name: str + :param password: Password credential. + :type password: str + :param type: Constant filled by server. + :type type: str + :param server_name: Name of the server + :type server_name: str + :param port: Port for Server + :type port: int + :param connection_mode: Connection mode to be used. If ConnectionString + mode is used, then customConnectionString should be provided, else it + should not be set. Possible values include: 'ConnectionString', 'Standard' + :type connection_mode: str or + ~azure.mgmt.datamigration.models.OracleConnectionMode + :param instance: Instance name (SID) + :type instance: str + :param custom_connection_string: Connection string + :type custom_connection_string: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'connection_mode': {'key': 'connectionMode', 'type': 'str'}, + 'instance': {'key': 'instance', 'type': 'str'}, + 'custom_connection_string': {'key': 'customConnectionString', 'type': 'str'}, + } + + def __init__(self, user_name=None, password=None, server_name=None, port=None, connection_mode=None, instance=None, custom_connection_string=None): + super(OracleConnectionInfo, self).__init__(user_name=user_name, password=password) + self.server_name = server_name + self.port = port + self.connection_mode = connection_mode + self.instance = instance + self.custom_connection_string = custom_connection_string + self.type = 'OracleConnectionInfo' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/oracle_data_migration_project_metadata.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/oracle_data_migration_project_metadata.py new file mode 100644 index 00000000000..aa3341b73a5 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/oracle_data_migration_project_metadata.py @@ -0,0 +1,69 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .data_migration_project_metadata import DataMigrationProjectMetadata + + +class OracleDataMigrationProjectMetadata(DataMigrationProjectMetadata): + """Metadata for Oracle project artifacts. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar source_server_name: Source server name + :vartype source_server_name: str + :ivar source_server_port: Source server port number + :vartype source_server_port: str + :ivar source_username: Source username + :vartype source_username: str + :ivar target_server_name: Target server name + :vartype target_server_name: str + :ivar target_username: Target username + :vartype target_username: str + :ivar target_db_name: Target database name + :vartype target_db_name: str + :ivar target_using_win_auth: Whether target connection is Windows + authentication + :vartype target_using_win_auth: bool + :ivar selected_migration_tables: List of tables selected for migration + :vartype selected_migration_tables: + list[~azure.mgmt.datamigration.models.MigrationTableMetadata] + :ivar source_sid: Oracle server SID + :vartype source_sid: str + """ + + _validation = { + 'source_server_name': {'readonly': True}, + 'source_server_port': {'readonly': True}, + 'source_username': {'readonly': True}, + 'target_server_name': {'readonly': True}, + 'target_username': {'readonly': True}, + 'target_db_name': {'readonly': True}, + 'target_using_win_auth': {'readonly': True}, + 'selected_migration_tables': {'readonly': True}, + 'source_sid': {'readonly': True}, + } + + _attribute_map = { + 'source_server_name': {'key': 'sourceServerName', 'type': 'str'}, + 'source_server_port': {'key': 'sourceServerPort', 'type': 'str'}, + 'source_username': {'key': 'sourceUsername', 'type': 'str'}, + 'target_server_name': {'key': 'targetServerName', 'type': 'str'}, + 'target_username': {'key': 'targetUsername', 'type': 'str'}, + 'target_db_name': {'key': 'targetDbName', 'type': 'str'}, + 'target_using_win_auth': {'key': 'targetUsingWinAuth', 'type': 'bool'}, + 'selected_migration_tables': {'key': 'selectedMigrationTables', 'type': '[MigrationTableMetadata]'}, + 'source_sid': {'key': 'sourceSID', 'type': 'str'}, + } + + def __init__(self): + super(OracleDataMigrationProjectMetadata, self).__init__() + self.source_sid = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/postgre_sql_connection_info.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/postgre_sql_connection_info.py new file mode 100644 index 00000000000..78a4ab358b9 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/postgre_sql_connection_info.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .connection_info import ConnectionInfo + + +class PostgreSqlConnectionInfo(ConnectionInfo): + """Information for connecting to PostgreSQL server. + + :param user_name: User name + :type user_name: str + :param password: Password credential. + :type password: str + :param type: Constant filled by server. + :type type: str + :param server_name: Name of the server + :type server_name: str + :param database_name: Name of the database + :type database_name: str + :param port: Port for Server + :type port: int + """ + + _validation = { + 'type': {'required': True}, + 'server_name': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, server_name, port, user_name=None, password=None, database_name=None): + super(PostgreSqlConnectionInfo, self).__init__(user_name=user_name, password=password) + self.server_name = server_name + self.database_name = database_name + self.port = port + self.type = 'PostgreSqlConnectionInfo' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project.py new file mode 100644 index 00000000000..44504a69e6d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource import TrackedResource + + +class Project(TrackedResource): + """A project resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Resource location. + :type location: str + :param source_platform: Source platform for the project. Possible values + include: 'SQL', 'Access', 'DB2', 'MySQL', 'Oracle', 'Sybase', + 'PostgreSql', 'Unknown' + :type source_platform: str or + ~azure.mgmt.datamigration.models.ProjectSourcePlatform + :param target_platform: Target platform for the project. Possible values + include: 'SQL10', 'SQL11', 'SQL12', 'SQL13', 'SQL14', 'SQLDB', 'SQLDW', + 'SQLMI', 'SQLVM', 'AzureDbForMySql', 'AzureDbForPostgreSql', 'Unknown' + :type target_platform: str or + ~azure.mgmt.datamigration.models.ProjectTargetPlatform + :ivar creation_time: UTC Date and time when project was created + :vartype creation_time: datetime + :param source_connection_info: Information for connecting to source + :type source_connection_info: + ~azure.mgmt.datamigration.models.ConnectionInfo + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.ConnectionInfo + :param databases_info: List of DatabaseInfo + :type databases_info: list[~azure.mgmt.datamigration.models.DatabaseInfo] + :ivar provisioning_state: The project's provisioning state. Possible + values include: 'Deleting', 'Succeeded' + :vartype provisioning_state: str or + ~azure.mgmt.datamigration.models.ProjectProvisioningState + :param data_movement: Type of data movement. Possible values include: + 'OneTimeMigration', 'Continuous'. Default value: "OneTimeMigration" . + :type data_movement: str or ~azure.mgmt.datamigration.models.DataMovement + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'source_platform': {'required': True}, + 'target_platform': {'required': True}, + 'creation_time': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'source_platform': {'key': 'properties.sourcePlatform', 'type': 'str'}, + 'target_platform': {'key': 'properties.targetPlatform', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'source_connection_info': {'key': 'properties.sourceConnectionInfo', 'type': 'ConnectionInfo'}, + 'target_connection_info': {'key': 'properties.targetConnectionInfo', 'type': 'ConnectionInfo'}, + 'databases_info': {'key': 'properties.databasesInfo', 'type': '[DatabaseInfo]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'data_movement': {'key': 'properties.dataMovement', 'type': 'str'}, + } + + def __init__(self, location, source_platform, target_platform, tags=None, source_connection_info=None, target_connection_info=None, databases_info=None, data_movement="OneTimeMigration"): + super(Project, self).__init__(tags=tags, location=location) + self.source_platform = source_platform + self.target_platform = target_platform + self.creation_time = None + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + self.databases_info = databases_info + self.provisioning_state = None + self.data_movement = data_movement diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_artifacts_response.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_artifacts_response.py new file mode 100644 index 00000000000..d644d28a5b7 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_artifacts_response.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProjectArtifactsResponse(Model): + """Project artifacts properties. + + :param artifacts_location: An URL that points to the drop location to + access project artifacts. When accessing this URL, requestor should + provide an Authorization header with the Bearer authorization scheme, + followed by his ARM JWT signature. Typical JWT will look like three + dot-separated base64 encoded strings. We use last string as a shared + secret between client and our artifacts service. + :type artifacts_location: str + """ + + _attribute_map = { + 'artifacts_location': {'key': 'artifactsLocation', 'type': 'str'}, + } + + def __init__(self, artifacts_location=None): + super(ProjectArtifactsResponse, self).__init__() + self.artifacts_location = artifacts_location diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_paged.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_paged.py new file mode 100644 index 00000000000..4b7bbb6b5dd --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ProjectPaged(Paged): + """ + A paging container for iterating over a list of :class:`Project ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Project]'} + } + + def __init__(self, *args, **kwargs): + + super(ProjectPaged, self).__init__(*args, **kwargs) diff --git a/src/rdbms/azext_rdbms/mysql/models/database.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_task.py similarity index 62% rename from src/rdbms/azext_rdbms/mysql/models/database.py rename to src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_task.py index f503efb9fa3..27d49f6eee3 100644 --- a/src/rdbms/azext_rdbms/mysql/models/database.py +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_task.py @@ -9,25 +9,25 @@ # regenerated. # -------------------------------------------------------------------------- -from .proxy_resource import ProxyResource +from .resource import Resource -class Database(ProxyResource): - """Represents a Database. +class ProjectTask(Resource): + """A task resource. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource ID + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param charset: The charset of the database. - :type charset: str - :param collation: The collation of the database. - :type collation: str + :param etag: HTTP strong entity tag value. This is ignored if submitted. + :type etag: str + :param properties: Custom task properties + :type properties: ~azure.mgmt.datamigration.models.ProjectTaskProperties """ _validation = { @@ -40,11 +40,11 @@ class Database(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'charset': {'key': 'properties.charset', 'type': 'str'}, - 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ProjectTaskProperties'}, } - def __init__(self, **kwargs): - super(Database, self).__init__(**kwargs) - self.charset = kwargs.get('charset', None) - self.collation = kwargs.get('collation', None) + def __init__(self, etag=None, properties=None): + super(ProjectTask, self).__init__() + self.etag = etag + self.properties = properties diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_task_paged.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_task_paged.py new file mode 100644 index 00000000000..c55903ccf8a --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_task_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ProjectTaskPaged(Paged): + """ + A paging container for iterating over a list of :class:`ProjectTask ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ProjectTask]'} + } + + def __init__(self, *args, **kwargs): + + super(ProjectTaskPaged, self).__init__(*args, **kwargs) diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_task_properties.py new file mode 100644 index 00000000000..4866a80bf94 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/project_task_properties.py @@ -0,0 +1,80 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProjectTaskProperties(Model): + """Base class for all types of DMS task properties. If task is not supported + by current client, this object is returned. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ValidateMigrationInputSqlServerSqlServerTaskProperties, + ValidateMigrationInputSqlServerSqlMITaskProperties, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, + MigrateMySqlAzureDbForMySqlSyncTaskProperties, + MigrateSqlServerSqlDbSyncTaskProperties, + MigrateSqlServerSqlServerTaskProperties, + MigrateSqlServerSqlDbTaskProperties, MigrateSqlServerSqlMITaskProperties, + GetProjectDetailsOracleSqlTaskProperties, + GetProjectDetailsMySqlSqlTaskProperties, + ConnectToTargetAzureDbForMySqlTaskProperties, + ConnectToTargetSqlServerTaskProperties, ConnectToTargetSqlMITaskProperties, + GetUserTablesSqlTaskProperties, ConnectToTargetSqlDbTaskProperties, + ConnectToSourceSqlServerTaskProperties, ConnectToSourceMySqlTaskProperties, + ConnectToSourceOracleTaskProperties, MigrateMySqlSqlTaskProperties, + MigrateOracleSqlTaskProperties + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + } + + _subtype_map = { + 'task_type': {'ValidateMigrationInput.SqlServer.SqlServer': 'ValidateMigrationInputSqlServerSqlServerTaskProperties', 'ValidateMigrationInput.SqlServer.AzureSqlDbMI': 'ValidateMigrationInputSqlServerSqlMITaskProperties', 'Migrate.PostgreSql.AzureDbForPostgreSql.Sync': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties', 'Migrate.MySql.AzureDbForMySql.Sync': 'MigrateMySqlAzureDbForMySqlSyncTaskProperties', 'Migrate.SqlServer.AzureSqlDb.Sync': 'MigrateSqlServerSqlDbSyncTaskProperties', 'Migrate.SqlServer.SqlServer': 'MigrateSqlServerSqlServerTaskProperties', 'Migrate.SqlServer.SqlDb': 'MigrateSqlServerSqlDbTaskProperties', 'Migrate.SqlServer.AzureSqlDbMI': 'MigrateSqlServerSqlMITaskProperties', 'GetProjectDetails.Oracle.Sql': 'GetProjectDetailsOracleSqlTaskProperties', 'GetProjectDetails.MySql.Sql': 'GetProjectDetailsMySqlSqlTaskProperties', 'ConnectToTarget.AzureDbForMySql': 'ConnectToTargetAzureDbForMySqlTaskProperties', 'ConnectToTarget.SqlServer': 'ConnectToTargetSqlServerTaskProperties', 'ConnectToTarget.AzureSqlDbMI': 'ConnectToTargetSqlMITaskProperties', 'GetUserTables.Sql': 'GetUserTablesSqlTaskProperties', 'ConnectToTarget.SqlDb': 'ConnectToTargetSqlDbTaskProperties', 'ConnectToSource.SqlServer': 'ConnectToSourceSqlServerTaskProperties', 'ConnectToSource.MySql': 'ConnectToSourceMySqlTaskProperties', 'ConnectToSource.Oracle': 'ConnectToSourceOracleTaskProperties', 'Migrate.MySql.Sql': 'MigrateMySqlSqlTaskProperties', 'Migrate.Oracle.Sql': 'MigrateOracleSqlTaskProperties'} + } + + def __init__(self, client_data=None): + super(ProjectTaskProperties, self).__init__() + self.errors = None + self.state = None + self.commands = None + self.client_data = client_data + self.task_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/query_analysis_validation_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/query_analysis_validation_result.py new file mode 100644 index 00000000000..b3adaf68183 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/query_analysis_validation_result.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class QueryAnalysisValidationResult(Model): + """Results for query analysis comparison between the source and target. + + :param query_results: List of queries executed and it's execution results + in source and target + :type query_results: ~azure.mgmt.datamigration.models.QueryExecutionResult + :param validation_errors: Errors that are part of the execution + :type validation_errors: ~azure.mgmt.datamigration.models.ValidationError + """ + + _attribute_map = { + 'query_results': {'key': 'queryResults', 'type': 'QueryExecutionResult'}, + 'validation_errors': {'key': 'validationErrors', 'type': 'ValidationError'}, + } + + def __init__(self, query_results=None, validation_errors=None): + super(QueryAnalysisValidationResult, self).__init__() + self.query_results = query_results + self.validation_errors = validation_errors diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/query_execution_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/query_execution_result.py new file mode 100644 index 00000000000..7341c78ec70 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/query_execution_result.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class QueryExecutionResult(Model): + """Describes query analysis results for execution in source and target. + + :param query_text: Query text retrieved from the source server + :type query_text: str + :param statements_in_batch: Total no. of statements in the batch + :type statements_in_batch: long + :param source_result: Query analysis result from the source + :type source_result: ~azure.mgmt.datamigration.models.ExecutionStatistics + :param target_result: Query analysis result from the target + :type target_result: ~azure.mgmt.datamigration.models.ExecutionStatistics + """ + + _attribute_map = { + 'query_text': {'key': 'queryText', 'type': 'str'}, + 'statements_in_batch': {'key': 'statementsInBatch', 'type': 'long'}, + 'source_result': {'key': 'sourceResult', 'type': 'ExecutionStatistics'}, + 'target_result': {'key': 'targetResult', 'type': 'ExecutionStatistics'}, + } + + def __init__(self, query_text=None, statements_in_batch=None, source_result=None, target_result=None): + super(QueryExecutionResult, self).__init__() + self.query_text = query_text + self.statements_in_batch = statements_in_batch + self.source_result = source_result + self.target_result = target_result diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/quota.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/quota.py new file mode 100644 index 00000000000..de4eb5ff65f --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/quota.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Quota(Model): + """Describes a quota for or usage details about a resource. + + :param current_value: The current value of the quota. If null or missing, + the current value cannot be determined in the context of the request. + :type current_value: float + :param id: The resource ID of the quota object + :type id: str + :param limit: The maximum value of the quota. If null or missing, the + quota has no maximum, in which case it merely tracks usage. + :type limit: float + :param name: The name of the quota + :type name: ~azure.mgmt.datamigration.models.QuotaName + :param unit: The unit for the quota, such as Count, Bytes, BytesPerSecond, + etc. + :type unit: str + """ + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'QuotaName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, current_value=None, id=None, limit=None, name=None, unit=None): + super(Quota, self).__init__() + self.current_value = current_value + self.id = id + self.limit = limit + self.name = name + self.unit = unit diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/quota_name.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/quota_name.py new file mode 100644 index 00000000000..a32622e91e6 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/quota_name.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class QuotaName(Model): + """The name of the quota. + + :param localized_value: The localized name of the quota + :type localized_value: str + :param value: The unlocalized name (or ID) of the quota + :type value: str + """ + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, localized_value=None, value=None): + super(QuotaName, self).__init__() + self.localized_value = localized_value + self.value = value diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/quota_paged.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/quota_paged.py new file mode 100644 index 00000000000..804619b8773 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/quota_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class QuotaPaged(Paged): + """ + A paging container for iterating over a list of :class:`Quota ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Quota]'} + } + + def __init__(self, *args, **kwargs): + + super(QuotaPaged, self).__init__(*args, **kwargs) diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/reportable_exception.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/reportable_exception.py new file mode 100644 index 00000000000..44237ae5f19 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/reportable_exception.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ReportableException(Model): + """Exception object for all custom exceptions. + + :param message: Error message + :type message: str + :param file_path: The path to the file where exception occurred + :type file_path: str + :param line_number: The line number where exception occurred + :type line_number: str + :param h_result: Coded numerical value that is assigned to a specific + exception + :type h_result: int + :param stack_trace: Stack trace + :type stack_trace: str + """ + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + 'line_number': {'key': 'lineNumber', 'type': 'str'}, + 'h_result': {'key': 'hResult', 'type': 'int'}, + 'stack_trace': {'key': 'stackTrace', 'type': 'str'}, + } + + def __init__(self, message=None, file_path=None, line_number=None, h_result=None, stack_trace=None): + super(ReportableException, self).__init__() + self.message = message + self.file_path = file_path + self.line_number = line_number + self.h_result = h_result + self.stack_trace = stack_trace diff --git a/src/rdbms/azext_rdbms/mysql/models/proxy_resource_py3.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource.py similarity index 86% rename from src/rdbms/azext_rdbms/mysql/models/proxy_resource_py3.py rename to src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource.py index e0dde467e58..a2ddd410be1 100644 --- a/src/rdbms/azext_rdbms/mysql/models/proxy_resource_py3.py +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource.py @@ -12,13 +12,13 @@ from msrest.serialization import Model -class ProxyResource(Model): - """Resource properties. +class Resource(Model): + """ARM resource. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource ID + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str @@ -38,8 +38,8 @@ class ProxyResource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: - super(ProxyResource, self).__init__(**kwargs) + def __init__(self): + super(Resource, self).__init__() self.id = None self.name = None self.type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku.py new file mode 100644 index 00000000000..afce3c7b4d8 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku.py @@ -0,0 +1,93 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceSku(Model): + """Describes an available DMS SKU. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar resource_type: The type of resource the SKU applies to. + :vartype resource_type: str + :ivar name: The name of SKU. + :vartype name: str + :ivar tier: Specifies the tier of DMS in a scale set. + :vartype tier: str + :ivar size: The Size of the SKU. + :vartype size: str + :ivar family: The Family of this particular SKU. + :vartype family: str + :ivar kind: The Kind of resources that are supported in this SKU. + :vartype kind: str + :ivar capacity: Not used. + :vartype capacity: ~azure.mgmt.datamigration.models.ResourceSkuCapacity + :ivar locations: The set of locations that the SKU is available. + :vartype locations: list[str] + :ivar api_versions: The api versions that support this SKU. + :vartype api_versions: list[str] + :ivar costs: Metadata for retrieving price info. + :vartype costs: list[~azure.mgmt.datamigration.models.ResourceSkuCosts] + :ivar capabilities: A name value pair to describe the capability. + :vartype capabilities: + list[~azure.mgmt.datamigration.models.ResourceSkuCapabilities] + :ivar restrictions: The restrictions because of which SKU cannot be used. + This is empty if there are no restrictions. + :vartype restrictions: + list[~azure.mgmt.datamigration.models.ResourceSkuRestrictions] + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'name': {'readonly': True}, + 'tier': {'readonly': True}, + 'size': {'readonly': True}, + 'family': {'readonly': True}, + 'kind': {'readonly': True}, + 'capacity': {'readonly': True}, + 'locations': {'readonly': True}, + 'api_versions': {'readonly': True}, + 'costs': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'restrictions': {'readonly': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'ResourceSkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'costs': {'key': 'costs', 'type': '[ResourceSkuCosts]'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + 'restrictions': {'key': 'restrictions', 'type': '[ResourceSkuRestrictions]'}, + } + + def __init__(self): + super(ResourceSku, self).__init__() + self.resource_type = None + self.name = None + self.tier = None + self.size = None + self.family = None + self.kind = None + self.capacity = None + self.locations = None + self.api_versions = None + self.costs = None + self.capabilities = None + self.restrictions = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_capabilities.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_capabilities.py new file mode 100644 index 00000000000..278f55789e9 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_capabilities.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceSkuCapabilities(Model): + """Describes The SKU capabilites object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: An invariant to describe the feature. + :vartype name: str + :ivar value: An invariant if the feature is measured by quantity. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self): + super(ResourceSkuCapabilities, self).__init__() + self.name = None + self.value = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_capacity.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_capacity.py new file mode 100644 index 00000000000..bd987ed738d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_capacity.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceSkuCapacity(Model): + """Describes scaling information of a SKU. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar minimum: The minimum capacity. + :vartype minimum: long + :ivar maximum: The maximum capacity. + :vartype maximum: long + :ivar default: The default capacity. + :vartype default: long + :ivar scale_type: The scale type applicable to the SKU. Possible values + include: 'Automatic', 'Manual', 'None' + :vartype scale_type: str or + ~azure.mgmt.datamigration.models.ResourceSkuCapacityScaleType + """ + + _validation = { + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'default': {'readonly': True}, + 'scale_type': {'readonly': True}, + } + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'long'}, + 'maximum': {'key': 'maximum', 'type': 'long'}, + 'default': {'key': 'default', 'type': 'long'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self): + super(ResourceSkuCapacity, self).__init__() + self.minimum = None + self.maximum = None + self.default = None + self.scale_type = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_costs.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_costs.py new file mode 100644 index 00000000000..103f21eb642 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_costs.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceSkuCosts(Model): + """Describes metadata for retrieving price info. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar meter_id: Used for querying price from commerce. + :vartype meter_id: str + :ivar quantity: The multiplier is needed to extend the base metered cost. + :vartype quantity: long + :ivar extended_unit: An invariant to show the extended unit. + :vartype extended_unit: str + """ + + _validation = { + 'meter_id': {'readonly': True}, + 'quantity': {'readonly': True}, + 'extended_unit': {'readonly': True}, + } + + _attribute_map = { + 'meter_id': {'key': 'meterID', 'type': 'str'}, + 'quantity': {'key': 'quantity', 'type': 'long'}, + 'extended_unit': {'key': 'extendedUnit', 'type': 'str'}, + } + + def __init__(self): + super(ResourceSkuCosts, self).__init__() + self.meter_id = None + self.quantity = None + self.extended_unit = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_paged.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_paged.py new file mode 100644 index 00000000000..2c654d80d65 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ResourceSkuPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceSku ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceSku]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceSkuPaged, self).__init__(*args, **kwargs) diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_restrictions.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_restrictions.py new file mode 100644 index 00000000000..41ec71e2378 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/resource_sku_restrictions.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceSkuRestrictions(Model): + """Describes scaling information of a SKU. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of restrictions. Possible values include: 'location' + :vartype type: str or + ~azure.mgmt.datamigration.models.ResourceSkuRestrictionsType + :ivar values: The value of restrictions. If the restriction type is set to + location. This would be different locations where the SKU is restricted. + :vartype values: list[str] + :ivar reason_code: The reason code for restriction. Possible values + include: 'QuotaId', 'NotAvailableForSubscription' + :vartype reason_code: str or + ~azure.mgmt.datamigration.models.ResourceSkuRestrictionsReasonCode + """ + + _validation = { + 'type': {'readonly': True}, + 'values': {'readonly': True}, + 'reason_code': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__(self): + super(ResourceSkuRestrictions, self).__init__() + self.type = None + self.values = None + self.reason_code = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/schema_comparison_validation_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/schema_comparison_validation_result.py new file mode 100644 index 00000000000..48c955b62d4 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/schema_comparison_validation_result.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SchemaComparisonValidationResult(Model): + """Results for schema comparison between the source and target. + + :param schema_differences: List of schema differences between the source + and target databases + :type schema_differences: + ~azure.mgmt.datamigration.models.SchemaComparisonValidationResultType + :param validation_errors: List of errors that happened while performing + schema compare validation + :type validation_errors: ~azure.mgmt.datamigration.models.ValidationError + :param source_database_object_count: Count of source database objects + :type source_database_object_count: dict[str, long] + :param target_database_object_count: Count of target database objects + :type target_database_object_count: dict[str, long] + """ + + _attribute_map = { + 'schema_differences': {'key': 'schemaDifferences', 'type': 'SchemaComparisonValidationResultType'}, + 'validation_errors': {'key': 'validationErrors', 'type': 'ValidationError'}, + 'source_database_object_count': {'key': 'sourceDatabaseObjectCount', 'type': '{long}'}, + 'target_database_object_count': {'key': 'targetDatabaseObjectCount', 'type': '{long}'}, + } + + def __init__(self, schema_differences=None, validation_errors=None, source_database_object_count=None, target_database_object_count=None): + super(SchemaComparisonValidationResult, self).__init__() + self.schema_differences = schema_differences + self.validation_errors = validation_errors + self.source_database_object_count = source_database_object_count + self.target_database_object_count = target_database_object_count diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/schema_comparison_validation_result_type.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/schema_comparison_validation_result_type.py new file mode 100644 index 00000000000..1e8a07c092d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/schema_comparison_validation_result_type.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SchemaComparisonValidationResultType(Model): + """Description about the errors happen while performing migration validation. + + :param object_name: Name of the object that has the difference + :type object_name: str + :param object_type: Type of the object that has the difference. e.g + (Table/View/StoredProcedure). Possible values include: 'StoredProcedures', + 'Table', 'User', 'View', 'Function' + :type object_type: str or ~azure.mgmt.datamigration.models.ObjectType + :param update_action: Update action type with respect to target. Possible + values include: 'DeletedOnTarget', 'ChangedOnTarget', 'AddedOnTarget' + :type update_action: str or + ~azure.mgmt.datamigration.models.UpdateActionType + """ + + _attribute_map = { + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'update_action': {'key': 'updateAction', 'type': 'str'}, + } + + def __init__(self, object_name=None, object_type=None, update_action=None): + super(SchemaComparisonValidationResultType, self).__init__() + self.object_name = object_name + self.object_type = object_type + self.update_action = update_action diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/server_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/server_properties.py new file mode 100644 index 00000000000..25b6bdf0d79 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/server_properties.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServerProperties(Model): + """Server properties for Oracle, MySQL type source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar server_platform: Name of the server platform + :vartype server_platform: str + :ivar server_name: Name of the server + :vartype server_name: str + :ivar server_version: Version of the database server + :vartype server_version: str + :ivar server_edition: Edition of the database server + :vartype server_edition: str + :ivar server_operating_system_version: Version of the operating system + :vartype server_operating_system_version: str + :ivar server_database_count: Number of databases in the server + :vartype server_database_count: int + """ + + _validation = { + 'server_platform': {'readonly': True}, + 'server_name': {'readonly': True}, + 'server_version': {'readonly': True}, + 'server_edition': {'readonly': True}, + 'server_operating_system_version': {'readonly': True}, + 'server_database_count': {'readonly': True}, + } + + _attribute_map = { + 'server_platform': {'key': 'serverPlatform', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'server_edition': {'key': 'serverEdition', 'type': 'str'}, + 'server_operating_system_version': {'key': 'serverOperatingSystemVersion', 'type': 'str'}, + 'server_database_count': {'key': 'serverDatabaseCount', 'type': 'int'}, + } + + def __init__(self): + super(ServerProperties, self).__init__() + self.server_platform = None + self.server_name = None + self.server_version = None + self.server_edition = None + self.server_operating_system_version = None + self.server_database_count = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_operation.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_operation.py new file mode 100644 index 00000000000..2c5599d0beb --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_operation.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceOperation(Model): + """Description of an action supported by the Data Migration Service. + + :param name: The fully qualified action name, e.g. + Microsoft.DataMigration/services/read + :type name: str + :param display: Localized display text + :type display: ~azure.mgmt.datamigration.models.ServiceOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ServiceOperationDisplay'}, + } + + def __init__(self, name=None, display=None): + super(ServiceOperation, self).__init__() + self.name = name + self.display = display diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_operation_display.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_operation_display.py new file mode 100644 index 00000000000..49c68d1c944 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_operation_display.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceOperationDisplay(Model): + """Localized display text. + + :param provider: The localized resource provider name + :type provider: str + :param resource: The localized resource type name + :type resource: str + :param operation: The localized operation name + :type operation: str + :param description: The localized operation description + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, provider=None, resource=None, operation=None, description=None): + super(ServiceOperationDisplay, self).__init__() + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_operation_paged.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_operation_paged.py new file mode 100644 index 00000000000..955dcd65458 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_operation_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ServiceOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ServiceOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ServiceOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(ServiceOperationPaged, self).__init__(*args, **kwargs) diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_sku.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_sku.py new file mode 100644 index 00000000000..3a77e8efabd --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/service_sku.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceSku(Model): + """An Azure SKU instance. + + :param name: The unique name of the SKU, such as 'P3' + :type name: str + :param tier: The tier of the SKU, such as 'Free', 'Basic', 'Standard', or + 'Premium' + :type tier: str + :param family: The SKU family, used when the service has multiple + performance classes within a tier, such as 'A', 'D', etc. for virtual + machines + :type family: str + :param size: The size of the SKU, used when the name alone does not denote + a service size or when a SKU has multiple performance classes within a + family, e.g. 'A1' for virtual machines + :type size: str + :param capacity: The capacity of the SKU, if it supports scaling + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, name=None, tier=None, family=None, size=None, capacity=None): + super(ServiceSku, self).__init__() + self.name = name + self.tier = tier + self.family = family + self.size = size + self.capacity = capacity diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/sql_connection_info.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/sql_connection_info.py new file mode 100644 index 00000000000..80f01ef6839 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/sql_connection_info.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .connection_info import ConnectionInfo + + +class SqlConnectionInfo(ConnectionInfo): + """Information for connecting to SQL database server. + + :param user_name: User name + :type user_name: str + :param password: Password credential. + :type password: str + :param type: Constant filled by server. + :type type: str + :param data_source: Data source in the format + Protocol:MachineName\\SQLServerInstanceName,PortNumber + :type data_source: str + :param authentication: Authentication type to use for connection. Possible + values include: 'None', 'WindowsAuthentication', 'SqlAuthentication', + 'ActiveDirectoryIntegrated', 'ActiveDirectoryPassword' + :type authentication: str or + ~azure.mgmt.datamigration.models.AuthenticationType + :param encrypt_connection: Whether to encrypt the connection. Default + value: True . + :type encrypt_connection: bool + :param additional_settings: Additional connection settings + :type additional_settings: str + :param trust_server_certificate: Whether to trust the server certificate. + Default value: False . + :type trust_server_certificate: bool + """ + + _validation = { + 'type': {'required': True}, + 'data_source': {'required': True}, + } + + _attribute_map = { + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'authentication': {'key': 'authentication', 'type': 'str'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + 'additional_settings': {'key': 'additionalSettings', 'type': 'str'}, + 'trust_server_certificate': {'key': 'trustServerCertificate', 'type': 'bool'}, + } + + def __init__(self, data_source, user_name=None, password=None, authentication=None, encrypt_connection=True, additional_settings=None, trust_server_certificate=False): + super(SqlConnectionInfo, self).__init__(user_name=user_name, password=password) + self.data_source = data_source + self.authentication = authentication + self.encrypt_connection = encrypt_connection + self.additional_settings = additional_settings + self.trust_server_certificate = trust_server_certificate + self.type = 'SqlConnectionInfo' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/sql_migration_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/sql_migration_task_input.py new file mode 100644 index 00000000000..77b0562eb6f --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/sql_migration_task_input.py @@ -0,0 +1,39 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SqlMigrationTaskInput(Model): + """Base class for migration task input. + + :param source_connection_info: Information for connecting to source + :type source_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__(self, source_connection_info, target_connection_info): + super(SqlMigrationTaskInput, self).__init__() + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/start_migration_scenario_server_role_result.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/start_migration_scenario_server_role_result.py new file mode 100644 index 00000000000..ef4a03dc701 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/start_migration_scenario_server_role_result.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StartMigrationScenarioServerRoleResult(Model): + """StartMigrationScenarioServerRoleResult. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of server role. + :vartype name: str + :ivar state: Current state of migration. Possible values include: 'None', + 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'name': {'readonly': True}, + 'state': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(StartMigrationScenarioServerRoleResult, self).__init__() + self.name = None + self.state = None + self.exceptions_and_warnings = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/sync_migration_database_error_event.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/sync_migration_database_error_event.py new file mode 100644 index 00000000000..43464a17ccc --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/sync_migration_database_error_event.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncMigrationDatabaseErrorEvent(Model): + """Database migration errors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_string: String value of timestamp. + :vartype timestamp_string: str + :ivar event_type_string: Event type. + :vartype event_type_string: str + :ivar event_text: Error text. + :vartype event_text: str + """ + + _validation = { + 'timestamp_string': {'readonly': True}, + 'event_type_string': {'readonly': True}, + 'event_text': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_string': {'key': 'timestampString', 'type': 'str'}, + 'event_type_string': {'key': 'eventTypeString', 'type': 'str'}, + 'event_text': {'key': 'eventText', 'type': 'str'}, + } + + def __init__(self): + super(SyncMigrationDatabaseErrorEvent, self).__init__() + self.timestamp_string = None + self.event_type_string = None + self.event_text = None diff --git a/src/rdbms/azext_rdbms/mysql/models/tracked_resource.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/tracked_resource.py similarity index 67% rename from src/rdbms/azext_rdbms/mysql/models/tracked_resource.py rename to src/datamigration/azext_dms/vendored_sdks/datamigration/models/tracked_resource.py index 67e93dd79e7..b60f8ddede5 100644 --- a/src/rdbms/azext_rdbms/mysql/models/tracked_resource.py +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/tracked_resource.py @@ -9,27 +9,25 @@ # regenerated. # -------------------------------------------------------------------------- -from .proxy_resource import ProxyResource +from .resource import Resource -class TrackedResource(ProxyResource): - """Resource properties including location and tags for track resources. +class TrackedResource(Resource): + """ARM tracked top level resource. Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource ID + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param location: Required. The location the resource resides in. - :type location: str - :param tags: Application-specific metadata in the form of key-value pairs. + :param tags: Resource tags. :type tags: dict[str, str] + :param location: Resource location. + :type location: str """ _validation = { @@ -43,11 +41,11 @@ class TrackedResource(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, **kwargs): - super(TrackedResource, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) + def __init__(self, location, tags=None): + super(TrackedResource, self).__init__() + self.tags = tags + self.location = location diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_mi_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_mi_task_input.py new file mode 100644 index 00000000000..e0d2003a3f3 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_mi_task_input.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ValidateMigrationInputSqlServerSqlMITaskInput(Model): + """Input for task that validates migration input for SQL to Azure SQL Managed + Instance. + + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Databases to migrate + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMIDatabaseInput] + :param backup_file_share: Backup file share information for all selected + databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param backup_blob_share: SAS URI of Azure Storage Account Container to be + used for storing backup files. + :type backup_blob_share: ~azure.mgmt.datamigration.models.BlobShare + """ + + _validation = { + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + 'backup_blob_share': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMIDatabaseInput]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'backup_blob_share': {'key': 'backupBlobShare', 'type': 'BlobShare'}, + } + + def __init__(self, target_connection_info, selected_databases, backup_blob_share, backup_file_share=None): + super(ValidateMigrationInputSqlServerSqlMITaskInput, self).__init__() + self.target_connection_info = target_connection_info + self.selected_databases = selected_databases + self.backup_file_share = backup_file_share + self.backup_blob_share = backup_blob_share diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_mi_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_mi_task_output.py new file mode 100644 index 00000000000..99755828cad --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_mi_task_output.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ValidateMigrationInputSqlServerSqlMITaskOutput(Model): + """Output for task that validates migration input for SQL to Azure SQL Managed + Instance migrations. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar name: Name of database + :vartype name: str + :ivar restore_database_name_errors: Errors associated with the + RestoreDatabaseName + :vartype restore_database_name_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_folder_errors: Errors associated with the BackupFolder path + :vartype backup_folder_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_share_credentials_errors: Errors associated with backup share + user name and password credentials + :vartype backup_share_credentials_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_storage_account_errors: Errors associated with the storage + account provided. + :vartype backup_storage_account_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'restore_database_name_errors': {'readonly': True}, + 'backup_folder_errors': {'readonly': True}, + 'backup_share_credentials_errors': {'readonly': True}, + 'backup_storage_account_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name_errors': {'key': 'restoreDatabaseNameErrors', 'type': '[ReportableException]'}, + 'backup_folder_errors': {'key': 'backupFolderErrors', 'type': '[ReportableException]'}, + 'backup_share_credentials_errors': {'key': 'backupShareCredentialsErrors', 'type': '[ReportableException]'}, + 'backup_storage_account_errors': {'key': 'backupStorageAccountErrors', 'type': '[ReportableException]'}, + } + + def __init__(self): + super(ValidateMigrationInputSqlServerSqlMITaskOutput, self).__init__() + self.id = None + self.name = None + self.restore_database_name_errors = None + self.backup_folder_errors = None + self.backup_share_credentials_errors = None + self.backup_storage_account_errors = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_mi_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_mi_task_properties.py new file mode 100644 index 00000000000..6822928c310 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_mi_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class ValidateMigrationInputSqlServerSqlMITaskProperties(ProjectTaskProperties): + """Properties for task that validates migration input for SQL to Azure SQL + Database Managed Instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlMITaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlMITaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'ValidateMigrationInputSqlServerSqlMITaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateMigrationInputSqlServerSqlMITaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(ValidateMigrationInputSqlServerSqlMITaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'ValidateMigrationInput.SqlServer.AzureSqlDbMI' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_server_task_input.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_server_task_input.py new file mode 100644 index 00000000000..a0571152216 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_server_task_input.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ValidateMigrationInputSqlServerSqlServerTaskInput(Model): + """Input for task that validates migration input for SQL to SQL on VM + migrations. + + :param target_connection_info: Information for connecting to target + :type target_connection_info: + ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Databases to migrate + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlServerDatabaseInput] + """ + + _validation = { + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlServerDatabaseInput]'}, + } + + def __init__(self, target_connection_info, selected_databases): + super(ValidateMigrationInputSqlServerSqlServerTaskInput, self).__init__() + self.target_connection_info = target_connection_info + self.selected_databases = selected_databases diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_server_task_output.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_server_task_output.py new file mode 100644 index 00000000000..1dad7a8c456 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_server_task_output.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ValidateMigrationInputSqlServerSqlServerTaskOutput(Model): + """Output for task that validates migration input for SQL to SQL on VM + migrations. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Result identifier + :vartype id: str + :ivar name: Name of database + :vartype name: str + :ivar restore_database_name_errors: Errors associated with the + RestoreDatabaseName + :vartype restore_database_name_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_and_restore_folder_errors: Errors associated with the + BackupAndRestoreFolder path + :vartype backup_and_restore_folder_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar database_files_errors: Errors associated with the database files + :vartype database_files_errors: dict[str, + list[~azure.mgmt.datamigration.models.ReportableException]] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'restore_database_name_errors': {'readonly': True}, + 'backup_and_restore_folder_errors': {'readonly': True}, + 'database_files_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name_errors': {'key': 'restoreDatabaseNameErrors', 'type': '[ReportableException]'}, + 'backup_and_restore_folder_errors': {'key': 'backupAndRestoreFolderErrors', 'type': '[ReportableException]'}, + 'database_files_errors': {'key': 'databaseFilesErrors', 'type': '{[ReportableException]}'}, + } + + def __init__(self): + super(ValidateMigrationInputSqlServerSqlServerTaskOutput, self).__init__() + self.id = None + self.name = None + self.restore_database_name_errors = None + self.backup_and_restore_folder_errors = None + self.database_files_errors = None diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_server_task_properties.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_server_task_properties.py new file mode 100644 index 00000000000..c8e1626af2e --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validate_migration_input_sql_server_sql_server_task_properties.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .project_task_properties import ProjectTaskProperties + + +class ValidateMigrationInputSqlServerSqlServerTaskProperties(ProjectTaskProperties): + """Properties for task that validates migration input for SQL to SQL on VM + migrations. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible + values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', + 'Failed', 'FailedInputValidation', 'Faulted' + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: + list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data + information to task + :type client_data: dict[str, str] + :param task_type: Constant filled by server. + :type task_type: str + :param input: Task input + :type input: + ~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlServerTaskOutput] + """ + + _validation = { + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'task_type': {'required': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'ValidateMigrationInputSqlServerSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateMigrationInputSqlServerSqlServerTaskOutput]'}, + } + + def __init__(self, client_data=None, input=None): + super(ValidateMigrationInputSqlServerSqlServerTaskProperties, self).__init__(client_data=client_data) + self.input = input + self.output = None + self.task_type = 'ValidateMigrationInput.SqlServer.SqlServer' diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validation_error.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validation_error.py new file mode 100644 index 00000000000..6ca3d30505d --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/validation_error.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ValidationError(Model): + """Description about the errors happen while performing migration validation. + + :param text: Error Text + :type text: str + :param severity: Severity of the error. Possible values include: + 'Message', 'Warning', 'Error' + :type severity: str or ~azure.mgmt.datamigration.models.Severity + """ + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + } + + def __init__(self, text=None, severity=None): + super(ValidationError, self).__init__() + self.text = text + self.severity = severity diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/models/wait_statistics.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/wait_statistics.py new file mode 100644 index 00000000000..cdad32c6a8b --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/models/wait_statistics.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class WaitStatistics(Model): + """Wait statistics gathered during query batch execution. + + :param wait_type: Type of the Wait + :type wait_type: str + :param wait_time_ms: Total wait time in millisecond(s) . Default value: 0 + . + :type wait_time_ms: float + :param wait_count: Total no. of waits + :type wait_count: long + """ + + _attribute_map = { + 'wait_type': {'key': 'waitType', 'type': 'str'}, + 'wait_time_ms': {'key': 'waitTimeMs', 'type': 'float'}, + 'wait_count': {'key': 'waitCount', 'type': 'long'}, + } + + def __init__(self, wait_type=None, wait_time_ms=0, wait_count=None): + super(WaitStatistics, self).__init__() + self.wait_type = wait_type + self.wait_time_ms = wait_time_ms + self.wait_count = wait_count diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/__init__.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/__init__.py new file mode 100644 index 00000000000..dae6a312066 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/__init__.py @@ -0,0 +1,26 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_skus_operations import ResourceSkusOperations +from .services_operations import ServicesOperations +from .tasks_operations import TasksOperations +from .projects_operations import ProjectsOperations +from .usages_operations import UsagesOperations +from .operations import Operations + +__all__ = [ + 'ResourceSkusOperations', + 'ServicesOperations', + 'TasksOperations', + 'ProjectsOperations', + 'UsagesOperations', + 'Operations', +] diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/operations.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/operations.py new file mode 100644 index 00000000000..1ace09a6f01 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/operations.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class Operations(object): + """Operations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API. Constant value: "2017-11-15-privatepreview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-11-15-privatepreview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get available resource provider actions (operations). + + Lists all available actions exposed by the Data Migration Service + resource provider. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ServiceOperation + :rtype: + ~azure.mgmt.datamigration.models.ServiceOperationPaged[~azure.mgmt.datamigration.models.ServiceOperation] + :raises: + :class:`ApiErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ServiceOperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ServiceOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.DataMigration/operations'} diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/projects_operations.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/projects_operations.py new file mode 100644 index 00000000000..88db5273531 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/projects_operations.py @@ -0,0 +1,462 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class ProjectsOperations(object): + """ProjectsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API. Constant value: "2017-11-15-privatepreview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-11-15-privatepreview" + + self.config = config + + def list( + self, group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Get projects in a service. + + The project resource is a nested resource representing a stored + migration project. This method returns a list of projects owned by a + service resource. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Project + :rtype: + ~azure.mgmt.datamigration.models.ProjectPaged[~azure.mgmt.datamigration.models.Project] + :raises: + :class:`ApiErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ProjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects'} + + def create_or_update( + self, parameters, group_name, service_name, project_name, custom_headers=None, raw=False, **operation_config): + """Create or update project. + + The project resource is a nested resource representing a stored + migration project. The PUT method creates a new project or updates an + existing one. + + :param parameters: Information about the project + :type parameters: ~azure.mgmt.datamigration.models.Project + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Project or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.Project or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Project') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Project', response) + if response.status_code == 201: + deserialized = self._deserialize('Project', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} + + def get( + self, group_name, service_name, project_name, custom_headers=None, raw=False, **operation_config): + """Get project information. + + The project resource is a nested resource representing a stored + migration project. The GET method retrieves information about a + project. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Project or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.Project or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Project', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} + + def delete( + self, group_name, service_name, project_name, delete_running_tasks=None, custom_headers=None, raw=False, **operation_config): + """Delete project. + + The project resource is a nested resource representing a stored + migration project. The DELETE method deletes a project. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param delete_running_tasks: Delete the resource even if it contains + running tasks + :type delete_running_tasks: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, 'bool') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} + + def update( + self, parameters, group_name, service_name, project_name, custom_headers=None, raw=False, **operation_config): + """Update project. + + The project resource is a nested resource representing a stored + migration project. The PATCH method updates an existing project. + + :param parameters: Information about the project + :type parameters: ~azure.mgmt.datamigration.models.Project + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Project or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.Project or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Project') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Project', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} + + def access_artifacts( + self, group_name, service_name, project_name, custom_headers=None, raw=False, **operation_config): + """Generates a URL to access project artifacts. + + The project resource is a nested resource representing a stored + migration project. This method generates a URL that provides an access + to project-related artifacts required to work with the project in the + custom tool. User will be able to use the provided URL for a limited + time to upload or download project artifacts. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ProjectArtifactsResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.ProjectArtifactsResponse or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.access_artifacts.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ProjectArtifactsResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + access_artifacts.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/accessArtifacts'} diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/resource_skus_operations.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/resource_skus_operations.py new file mode 100644 index 00000000000..34f2d7072f7 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/resource_skus_operations.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class ResourceSkusOperations(object): + """ResourceSkusOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API. Constant value: "2017-11-15-privatepreview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-11-15-privatepreview" + + self.config = config + + def list_skus( + self, custom_headers=None, raw=False, **operation_config): + """Get supported SKUs. + + The skus action returns the list of SKUs that DMS supports. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceSku + :rtype: + ~azure.mgmt.datamigration.models.ResourceSkuPaged[~azure.mgmt.datamigration.models.ResourceSku] + :raises: + :class:`ApiErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_skus.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ResourceSkuPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourceSkuPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_skus.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus'} diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/services_operations.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/services_operations.py new file mode 100644 index 00000000000..721bd10a088 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/services_operations.py @@ -0,0 +1,1087 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller + +from .. import models + + +class ServicesOperations(object): + """ServicesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API. Constant value: "2017-11-15-privatepreview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-11-15-privatepreview" + + self.config = config + + + def _create_or_update_initial( + self, parameters, group_name, service_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'DataMigrationService') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DataMigrationService', response) + if response.status_code == 201: + deserialized = self._deserialize('DataMigrationService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, parameters, group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Create or update DMS Instance. + + The services resource is the top-level resource that represents the + Data Migration Service. The PUT method creates a new service or updates + an existing one. When a service is updated, existing child resources + (i.e. tasks) are unaffected. Services currently support a single kind, + "vm", which refers to a VM-based service, although other kinds may be + added in the future. This method can change the kind, SKU, and network + of the service, but if tasks are currently running (i.e. the service is + busy), this will fail with 400 Bad Request ("ServiceIsBusy"). The + provider will reply when successful with 200 OK or 201 Created. + Long-running operations use the provisioningState property. + + :param parameters: Information about the service + :type parameters: + ~azure.mgmt.datamigration.models.DataMigrationService + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns + DataMigrationService or ClientRawResponse if raw=true + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.datamigration.models.DataMigrationService] + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + raw_result = self._create_or_update_initial( + parameters=parameters, + group_name=group_name, + service_name=service_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 201, 202]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = self._deserialize('DataMigrationService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} + + def get( + self, group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Get DMS Service Instance. + + The services resource is the top-level resource that represents the + Data Migration Service. The GET method retrieves information about a + service instance. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DataMigrationService or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.DataMigrationService or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DataMigrationService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} + + + def _delete_initial( + self, group_name, service_name, delete_running_tasks=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, 'bool') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, group_name, service_name, delete_running_tasks=None, custom_headers=None, raw=False, **operation_config): + """Delete DMS Service Instance. + + The services resource is the top-level resource that represents the + Data Migration Service. The DELETE method deletes a service. Any + running tasks will be canceled. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param delete_running_tasks: Delete the resource even if it contains + running tasks + :type delete_running_tasks: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + raw_result = self._delete_initial( + group_name=group_name, + service_name=service_name, + delete_running_tasks=delete_running_tasks, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 202, 204]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} + + + def _update_initial( + self, parameters, group_name, service_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'DataMigrationService') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DataMigrationService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, parameters, group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Create or update DMS Service Instance. + + The services resource is the top-level resource that represents the + Data Migration Service. The PATCH method updates an existing service. + This method can change the kind, SKU, and network of the service, but + if tasks are currently running (i.e. the service is busy), this will + fail with 400 Bad Request ("ServiceIsBusy"). + + :param parameters: Information about the service + :type parameters: + ~azure.mgmt.datamigration.models.DataMigrationService + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns + DataMigrationService or ClientRawResponse if raw=true + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.datamigration.models.DataMigrationService] + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + raw_result = self._update_initial( + parameters=parameters, + group_name=group_name, + service_name=service_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 202]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = self._deserialize('DataMigrationService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} + + def check_status( + self, group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Check service health status. + + The services resource is the top-level resource that represents the + Data Migration Service. This action performs a health check and returns + the status of the service and virtual machine size. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DataMigrationServiceStatusResponse or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.datamigration.models.DataMigrationServiceStatusResponse or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.check_status.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DataMigrationServiceStatusResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus'} + + + def _start_initial( + self, group_name, service_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def start( + self, group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Start service. + + The services resource is the top-level resource that represents the + Data Migration Service. This action starts the service and the service + can be used for data migration. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + raw_result = self._start_initial( + group_name=group_name, + service_name=service_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 202]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start'} + + + def _stop_initial( + self, group_name, service_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Stop service. + + The services resource is the top-level resource that represents the + Data Migration Service. This action stops the service and the service + cannot be used for data migration. The service owner won't be billed + when the service is stopped. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + raw_result = self._stop_initial( + group_name=group_name, + service_name=service_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 202]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop'} + + def list_skus( + self, group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Get compatible SKUs. + + The services resource is the top-level resource that represents the + Data Migration Service. The skus action returns the list of SKUs that a + service resource can be updated to. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailableServiceSku + :rtype: + ~azure.mgmt.datamigration.models.AvailableServiceSkuPaged[~azure.mgmt.datamigration.models.AvailableServiceSku] + :raises: + :class:`ApiErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_skus.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.AvailableServiceSkuPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.AvailableServiceSkuPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_skus.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus'} + + def check_children_name_availability( + self, group_name, service_name, name=None, type=None, custom_headers=None, raw=False, **operation_config): + """Check nested resource name validity and availability. + + This method checks whether a proposed nested resource name is valid and + available. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param name: The proposed resource name + :type name: str + :param type: The resource type chain (e.g. virtualMachines/extensions) + :type type: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NameAvailabilityResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.NameAvailabilityResponse or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + parameters = models.NameAvailabilityRequest(name=name, type=type) + + # Construct URL + url = self.check_children_name_availability.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'NameAvailabilityRequest') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('NameAvailabilityResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_children_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability'} + + def list_by_resource_group( + self, group_name, custom_headers=None, raw=False, **operation_config): + """Get services in resource group. + + The Services resource is the top-level resource that represents the + Data Migration Service. This method returns a list of service resources + in a resource group. + + :param group_name: Name of the resource group + :type group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DataMigrationService + :rtype: + ~azure.mgmt.datamigration.models.DataMigrationServicePaged[~azure.mgmt.datamigration.models.DataMigrationService] + :raises: + :class:`ApiErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.DataMigrationServicePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DataMigrationServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get services in subscription. + + The services resource is the top-level resource that represents the + Data Migration Service. This method returns a list of service resources + in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DataMigrationService + :rtype: + ~azure.mgmt.datamigration.models.DataMigrationServicePaged[~azure.mgmt.datamigration.models.DataMigrationService] + :raises: + :class:`ApiErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.DataMigrationServicePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DataMigrationServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services'} + + def check_name_availability( + self, location, name=None, type=None, custom_headers=None, raw=False, **operation_config): + """Check name validity and availability. + + This method checks whether a proposed top-level resource name is valid + and available. + + :param location: The Azure region of the operation + :type location: str + :param name: The proposed resource name + :type name: str + :param type: The resource type chain (e.g. virtualMachines/extensions) + :type type: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NameAvailabilityResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.NameAvailabilityResponse or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + parameters = models.NameAvailabilityRequest(name=name, type=type) + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'NameAvailabilityRequest') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('NameAvailabilityResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability'} diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/tasks_operations.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/tasks_operations.py new file mode 100644 index 00000000000..0815ce26c00 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/tasks_operations.py @@ -0,0 +1,581 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class TasksOperations(object): + """TasksOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API. Constant value: "2017-11-15-privatepreview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-11-15-privatepreview" + + self.config = config + + def list( + self, group_name, service_name, project_name, task_type=None, custom_headers=None, raw=False, **operation_config): + """Get tasks in a service. + + The services resource is the top-level resource that represents the + Data Migration Service. This method returns a list of tasks owned by a + service resource. Some tasks may have a status of Unknown, which + indicates that an error occurred while querying the status of that + task. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param task_type: Filter tasks by task type + :type task_type: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ProjectTask + :rtype: + ~azure.mgmt.datamigration.models.ProjectTaskPaged[~azure.mgmt.datamigration.models.ProjectTask] + :raises: + :class:`ApiErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if task_type is not None: + query_parameters['taskType'] = self._serialize.query("task_type", task_type, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ProjectTaskPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProjectTaskPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks'} + + def create_or_update( + self, group_name, service_name, project_name, task_name, etag=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Create or update task. + + The tasks resource is a nested, proxy-only resource representing work + performed by a DMS instance. The PUT method creates a new task or + updates an existing one, although since tasks have no mutable custom + properties, there is little reason to update an exising one. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param task_name: Name of the Task + :type task_name: str + :param etag: HTTP strong entity tag value. This is ignored if + submitted. + :type etag: str + :param properties: Custom task properties + :type properties: + ~azure.mgmt.datamigration.models.ProjectTaskProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ProjectTask or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.ProjectTask or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + parameters = models.ProjectTask(etag=etag, properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ProjectTask') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ProjectTask', response) + if response.status_code == 201: + deserialized = self._deserialize('ProjectTask', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} + + def get( + self, group_name, service_name, project_name, task_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get task information. + + The tasks resource is a nested, proxy-only resource representing work + performed by a DMS instance. The GET method retrieves information about + a task. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param task_name: Name of the Task + :type task_name: str + :param expand: Expand the response + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ProjectTask or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.ProjectTask or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ProjectTask', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} + + def delete( + self, group_name, service_name, project_name, task_name, delete_running_tasks=None, custom_headers=None, raw=False, **operation_config): + """Delete task. + + The tasks resource is a nested, proxy-only resource representing work + performed by a DMS instance. The DELETE method deletes a task, + canceling it first if it's running. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param task_name: Name of the Task + :type task_name: str + :param delete_running_tasks: Delete the resource even if it contains + running tasks + :type delete_running_tasks: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, 'bool') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} + + def update( + self, group_name, service_name, project_name, task_name, etag=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Create or update task. + + The tasks resource is a nested, proxy-only resource representing work + performed by a DMS instance. The PATCH method updates an existing task, + but since tasks have no mutable custom properties, there is little + reason to do so. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param task_name: Name of the Task + :type task_name: str + :param etag: HTTP strong entity tag value. This is ignored if + submitted. + :type etag: str + :param properties: Custom task properties + :type properties: + ~azure.mgmt.datamigration.models.ProjectTaskProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ProjectTask or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.ProjectTask or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + parameters = models.ProjectTask(etag=etag, properties=properties) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ProjectTask') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ProjectTask', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} + + def cancel( + self, group_name, service_name, project_name, task_name, custom_headers=None, raw=False, **operation_config): + """Cancel a task. + + The tasks resource is a nested, proxy-only resource representing work + performed by a DMS instance. This method cancels a task if it's + currently queued or running. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param task_name: Name of the Task + :type task_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ProjectTask or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.ProjectTask or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ProjectTask', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel'} + + def command( + self, group_name, service_name, project_name, task_name, parameters, custom_headers=None, raw=False, **operation_config): + """Execute a command on a task. + + The tasks resource is a nested, proxy-only resource representing work + performed by a DMS instance. This method executes a command on a + running task. + + :param group_name: Name of the resource group + :type group_name: str + :param service_name: Name of the service + :type service_name: str + :param project_name: Name of the project + :type project_name: str + :param task_name: Name of the Task + :type task_name: str + :param parameters: Command to execute + :type parameters: ~azure.mgmt.datamigration.models.CommandProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CommandProperties or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.datamigration.models.CommandProperties or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.command.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'CommandProperties') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('CommandProperties', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/command'} diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/usages_operations.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/usages_operations.py new file mode 100644 index 00000000000..162574bf102 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/operations/usages_operations.py @@ -0,0 +1,107 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class UsagesOperations(object): + """UsagesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API. Constant value: "2017-11-15-privatepreview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-11-15-privatepreview" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Get resource quotas and usage information. + + This method returns region-specific quotas and resource usage + information for the Data Migration Service. + + :param location: The Azure region of the operation + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Quota + :rtype: + ~azure.mgmt.datamigration.models.QuotaPaged[~azure.mgmt.datamigration.models.Quota] + :raises: + :class:`ApiErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.QuotaPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.QuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages'} diff --git a/src/datamigration/azext_dms/vendored_sdks/datamigration/version.py b/src/datamigration/azext_dms/vendored_sdks/datamigration/version.py new file mode 100644 index 00000000000..4ee95242ce6 --- /dev/null +++ b/src/datamigration/azext_dms/vendored_sdks/datamigration/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2017-11-15-privatepreview" + diff --git a/src/datamigration/setup.py b/src/datamigration/setup.py new file mode 100644 index 00000000000..d830233f50b --- /dev/null +++ b/src/datamigration/setup.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from codecs import open +from setuptools import setup, find_packages + +VERSION = "0.2.0" + +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [] + +setup( + name='dms-pg-mysql', + version=VERSION, + description='Support for continuous migrations for MySql and PostgreSql instances.', + license='MIT', + author='Artyom Pavlichenko', + author_email='arpavlic@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions', + classifiers=CLASSIFIERS, + packages = find_packages(exclude=["test"]), + package_data={'azext_bot': ['azext_metadata.json']}, + install_requires=DEPENDENCIES +) diff --git a/src/dev-spaces-preview/azext_dev_spaces_preview/__init__.py b/src/dev-spaces-preview/azext_dev_spaces_preview/__init__.py index acd030158c5..f9965993844 100644 --- a/src/dev-spaces-preview/azext_dev_spaces_preview/__init__.py +++ b/src/dev-spaces-preview/azext_dev_spaces_preview/__init__.py @@ -6,9 +6,10 @@ from azure.cli.core import AzCommandsLoader import azext_dev_spaces_preview._help # pylint: disable=unused-import +import azext_dev_spaces_preview.custom # pylint: disable=unused-import -class DevspacesExtCommandLoader(AzCommandsLoader): +class DevspacesExtCommandLoader(AzCommandsLoader): # pylint:disable=too-few-public-methods def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType @@ -18,23 +19,5 @@ def __init__(self, cli_ctx=None): custom_command_type=dev_spaces_custom, min_profile='2017-03-10-profile') - def load_command_table(self, _): - with self.command_group('aks') as g: - g.custom_command('use-dev-spaces', 'aks_use_dev_spaces') - g.custom_command('remove-dev-spaces', 'aks_remove_dev_spaces') - return self.command_table - - def load_arguments(self, _): - with self.argument_context('aks use-dev-spaces') as c: - c.argument('cluster_name', options_list=['--name', '-n']) - c.argument('resource_group_name', options_list=['--resource-group', '-g']) - c.argument('space_name', options_list=['--space', '-s']) - c.argument('parent_space_name', options_list=['--parent-space', '-p']) - - with self.argument_context('aks remove-dev-spaces') as c: - c.argument('cluster_name', options_list=['--name', '-n']) - c.argument('resource_group_name', options_list=['--resource-group', '-g']) - c.argument('prompt', options_list=['--yes', '-y'], action='store_true') - COMMAND_LOADER_CLS = DevspacesExtCommandLoader diff --git a/src/dev-spaces-preview/azext_dev_spaces_preview/_help.py b/src/dev-spaces-preview/azext_dev_spaces_preview/_help.py index 19950f75da3..b1dd52b6e04 100644 --- a/src/dev-spaces-preview/azext_dev_spaces_preview/_help.py +++ b/src/dev-spaces-preview/azext_dev_spaces_preview/_help.py @@ -6,35 +6,9 @@ from knack.help_files import helps # pylint: disable=import-error -helps['aks use-dev-spaces'] = """ - type: command - short-summary: (PREVIEW) Use Azure Dev Spaces with a managed Kubernetes cluster. - parameters: - - name: --name -n - type: string - short-summary: Name of the managed cluster. - - name: --resource-group -g - type: string - short-summary: Name of resource group. You can configure the default group using 'az configure --defaults group='. - - name: --space -s - type: string - short-summary: Name of the dev space to use. - - name: --parent-space -p - type: string - short-summary: Name of a parent dev space to inherit from when creating a new dev space. By default, if there is already a single dev space with no parent, the new space inherits from this one. -""" +# ADS command help -helps['aks remove-dev-spaces'] = """ - type: command - short-summary: (PREVIEW) Remove Azure Dev Spaces from a managed Kubernetes cluster. - parameters: - - name: --name -n - type: string - short-summary: Name of the managed cluster. - - name: --resource-group -g - type: string - short-summary: Name of resource group. You can configure the default group using 'az configure --defaults group='. - - name: --yes -y - type: bool - short-summary: Do not prompt for confirmation. +helps['ads'] = """ + type: group + short-summary: (PREVIEW) Manage Azure Dev Spaces. """ diff --git a/src/dev-spaces-preview/azext_dev_spaces_preview/azext_metadata.json b/src/dev-spaces-preview/azext_dev_spaces_preview/azext_metadata.json index f832f22ad6e..391858872b6 100644 --- a/src/dev-spaces-preview/azext_dev_spaces_preview/azext_metadata.json +++ b/src/dev-spaces-preview/azext_dev_spaces_preview/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.minCliCoreVersion": "2.0.27", + "azext.minCliCoreVersion": "2.0.32", "azext.isPreview": true } \ No newline at end of file diff --git a/src/dev-spaces-preview/azext_dev_spaces_preview/custom.py b/src/dev-spaces-preview/azext_dev_spaces_preview/custom.py index ec5bf0d27cb..ccffd63adce 100644 --- a/src/dev-spaces-preview/azext_dev_spaces_preview/custom.py +++ b/src/dev-spaces-preview/azext_dev_spaces_preview/custom.py @@ -18,7 +18,7 @@ # pylint:disable=no-member,too-many-lines,too-many-locals,too-many-statements -def aks_use_dev_spaces(cluster_name, resource_group_name, space_name='default', parent_space_name=None): # pylint: disable=line-too-long +def ads_use_dev_spaces(cluster_name, resource_group_name, update=False, space_name=None, do_not_prompt=False): """ Use Azure Dev Spaces with a managed Kubernetes cluster. @@ -27,19 +27,73 @@ def aks_use_dev_spaces(cluster_name, resource_group_name, space_name='default', :param resource_group_name: Name of resource group. You can configure the default group. \ Using 'az configure --defaults group='. :type resource_group_name: String - :param space_name: Name of the dev space to use. + :param update: Update to the latest Azure Dev Spaces client components. + :type update: bool + :param space_name: Name of the new or existing dev space to select. Defaults to an interactive selection experience. :type space_name: String - :param parent_space_name: Name of a parent dev space to inherit from when creating a new dev space. \ - By default, if there is already a single dev space with no parent, the new space inherits from this one. - :type parent_space_name: String + :param do_not_prompt: Do not prompt for confirmation. Requires --space. + :type do_not_prompt: bool """ - azds_tool = 'Azure Dev Spaces CLI (Preview)' - should_install_vsce = False + azds_cli = _install_dev_spaces_cli(update) + + use_command_arguments = [azds_cli, 'use', '--name', cluster_name, + '--resource-group', resource_group_name] + + if space_name is not None: + use_command_arguments.append('--space') + use_command_arguments.append(space_name) + + if do_not_prompt: + use_command_arguments.append('-y') + subprocess.call( + use_command_arguments, universal_newlines=True) + + +def ads_remove_dev_spaces(cluster_name, resource_group_name, do_not_prompt=False): + """ + Remove Azure Dev Spaces from a managed Kubernetes cluster. + + :param cluster_name: Name of the managed cluster. + :type cluster_name: String + :param resource_group_name: Name of resource group. You can configure the default group. \ + Using 'az configure --defaults group='. + :type resource_group_name: String + :param do_not_prompt: Do not prompt for confirmation. + :type do_not_prompt: bool + """ + + azds_cli = _install_dev_spaces_cli(False) + + remove_command_arguments = [azds_cli, 'remove', '--name', cluster_name, + '--resource-group', resource_group_name] + if do_not_prompt: + remove_command_arguments.append('-y') + subprocess.call( + remove_command_arguments, universal_newlines=True) + + +def _create_tmp_dir(): + tmp_dir = tempfile.mkdtemp() + return tmp_dir + + +def _is_dev_spaces_installed(vsce_cli): + try: + from subprocess import PIPE, Popen + Popen([vsce_cli], stdout=PIPE, stderr=PIPE) + except OSError: + return False + return True + + +def _install_dev_spaces_cli(force_install): + azds_tool = 'Azure Dev Spaces CLI' + should_install_azds = False system = platform.system() if system == 'Windows': # Windows - # Dev Connect Install Path (WinX) + # Dev Spaces Install Path (WinX) azds_cli = os.path.join(os.environ["ProgramW6432"], "Microsoft SDKs", "Azure", "Azure Dev Spaces CLI (Preview)", "azds.exe") @@ -50,10 +104,10 @@ def aks_use_dev_spaces(cluster_name, resource_group_name, space_name='default', # OSX azds_cli = 'azds' setup_file = os.path.join(_create_tmp_dir(), 'azds-osx-setup.sh') - setup_url = "https://aka.ms/get-azds-osx-az" + setup_url = "https://aka.ms/get-azds-mac-az" setup_args = ['bash', setup_file] elif system == 'Linux': - # OSX + # Linux azds_cli = 'azds' setup_file = os.path.join(_create_tmp_dir(), 'azds-linux-setup.sh') setup_url = "https://aka.ms/get-azds-linux-az" @@ -61,11 +115,14 @@ def aks_use_dev_spaces(cluster_name, resource_group_name, space_name='default', else: raise CLIError('Platform not supported: {}.'.format(system)) - should_install_vsce = not _is_dev_spaces_installed(azds_cli) + should_install_azds = force_install | (not _is_dev_spaces_installed(azds_cli)) + + if should_install_azds: + # Install AZDS + logger.warning('Installing Dev Spaces (Preview) commands...') + if system == 'Windows': + logger.warning('A separate window will open to guide you through the installation process.') - if should_install_vsce: - # Install VSCE - logger.info('Installing Dev Spaces (Preview) commands...') urlretrieve(setup_url, setup_file) try: subprocess.call( @@ -78,83 +135,4 @@ def aks_use_dev_spaces(cluster_name, resource_group_name, space_name='default', raise CLIError("{} not installed properly. Visit 'https://aka.ms/get-azds' for Azure Dev Spaces." .format(azds_tool)) - from subprocess import PIPE - should_create_resource = False - retCode = subprocess.call( - [azds_cli, 'resource', 'select', '-n', cluster_name, '-g', resource_group_name], - stderr=PIPE) - if retCode == 1: - should_create_resource = True - - if should_create_resource: - subprocess.call( - [azds_cli, 'resource', 'create', '--aks-name', cluster_name, '--aks-resource-group', - resource_group_name, '--name', cluster_name, '--resource-group', resource_group_name], - universal_newlines=True) - - should_create_spaces = False - create_space_arguments = [azds_cli, 'space', 'select', '--name', space_name] - if parent_space_name is not None: - create_space_arguments.append('--parent') - create_space_arguments.append(parent_space_name) - retCode = subprocess.call( - create_space_arguments, stderr=PIPE) - if retCode == 1: - should_create_spaces = True - - if should_create_spaces: - subprocess.call( - [azds_cli, 'space', 'create', '--name', space_name], - universal_newlines=True) - - -def aks_remove_dev_spaces(cluster_name, resource_group_name, prompt=False): # pylint: disable=line-too-long - """ - Remove Azure Dev Spaces from a managed Kubernetes cluster. - - :param cluster_name: Name of the managed cluster. - :type cluster_name: String - :param resource_group_name: Name of resource group. You can configure the default group. \ - Using 'az configure --defaults group='. - :type resource_group_name: String - :param prompt: Do not prompt for confirmation. - :type prompt: bool - """ - - azds_tool = 'Azure Dev Spaces CLI' - system = platform.system() - if system == 'Windows': - # Windows - azds_cli = os.path.join(os.environ["ProgramW6432"], - "Microsoft SDKs", "Azure", - "Azure Dev Spaces CLI (Preview)", "azds.exe") - elif system == 'Darwin': - # OSX - azds_cli = 'azds' - else: - raise CLIError('Platform not supported: {}.'.format(system)) - - if not _is_dev_spaces_installed(azds_cli): - raise CLIError("{} not installed properly. Use 'az aks use-dev-spaces' commands for Azure Dev Spaces." - .format(azds_tool)) - - remove_command_arguments = [azds_cli, 'resource', 'rm', '--name', - cluster_name, '--resource-group', resource_group_name] - if prompt: - remove_command_arguments.append('-y') - subprocess.call( - remove_command_arguments, universal_newlines=True) - - -def _create_tmp_dir(): - tmp_dir = tempfile.mkdtemp() - return tmp_dir - - -def _is_dev_spaces_installed(vsce_cli): - try: - from subprocess import PIPE, Popen - Popen([vsce_cli], stdout=PIPE, stderr=PIPE) - except OSError: - return False - return True + return azds_cli diff --git a/src/dev-spaces-preview/setup.py b/src/dev-spaces-preview/setup.py index 23993d170c5..ca2b48cea6d 100644 --- a/src/dev-spaces-preview/setup.py +++ b/src/dev-spaces-preview/setup.py @@ -7,7 +7,7 @@ from setuptools import setup, find_packages -VERSION = "0.1.0" +VERSION = "0.1.6" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/dns/azext_dns/tests/latest/recordings/test_dns.yaml b/src/dns/azext_dns/tests/latest/recordings/test_dns.yaml index dfaa76db946..8d7e73ff00a 100644 --- a/src/dns/azext_dns/tests/latest/recordings/test_dns.yaml +++ b/src/dns/azext_dns/tests/latest/recordings/test_dns.yaml @@ -13,7 +13,7 @@ interactions: AZURECLI/2.0.29] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dns000001","name":"cli_test_dns000001","location":"westus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -2574,7 +2574,7 @@ interactions: AZURECLI/2.0.29] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -2582,7 +2582,7 @@ interactions: content-length: ['0'] date: ['Mon, 26 Mar 2018 18:35:29 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTEk6NUZURVNUOjVGRE5TQlhBQ0pWQlNUR1NRUFBGVU1JU0g2NElYR0E1TEFOWnxBNEQwNkJBQThDNkZEMkU1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTEk6NUZURVNUOjVGRE5TQlhBQ0pWQlNUR1NRUFBGVU1JU0g2NElYR0E1TEFOWnxBNEQwNkJBQThDNkZEMkU1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/dns/azext_dns/tests/latest/recordings/test_private_dns.yaml b/src/dns/azext_dns/tests/latest/recordings/test_private_dns.yaml index 62bb88ea2ba..f9ea1462347 100644 --- a/src/dns/azext_dns/tests/latest/recordings/test_private_dns.yaml +++ b/src/dns/azext_dns/tests/latest/recordings/test_private_dns.yaml @@ -13,7 +13,7 @@ interactions: AZURECLI/2.0.29] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dns000001","name":"cli_test_dns000001","location":"westus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -40,7 +40,7 @@ interactions: AZURECLI/2.0.29] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dns000001","name":"cli_test_dns000001","location":"westus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -198,7 +198,7 @@ interactions: AZURECLI/2.0.29] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dns000001","name":"cli_test_dns000001","location":"westus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -2813,7 +2813,7 @@ interactions: AZURECLI/2.0.29] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_dns000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -2821,7 +2821,7 @@ interactions: content-length: ['0'] date: ['Mon, 26 Mar 2018 18:40:39 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTEk6NUZURVNUOjVGRE5TS05PUEZBUUlYUDZQSFdUSElPNUxZNEhXTVBIN1lIM3w1MjNGNTFDQzU0OTRBN0UxLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTEk6NUZURVNUOjVGRE5TS05PUEZBUUlYUDZQSFdUSElPNUxZNEhXTVBIN1lIM3w1MjNGNTFDQzU0OTRBN0UxLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/azext_eventgrid/_params.py b/src/eventgrid/azext_eventgrid/_params.py index 4e42694dba5..8b6402b36f1 100644 --- a/src/eventgrid/azext_eventgrid/_params.py +++ b/src/eventgrid/azext_eventgrid/_params.py @@ -53,7 +53,7 @@ def load_arguments(self, _): with self.argument_context('eventgrid event-subscription') as c: c.argument('topic_name', help='Name of the Event Grid topic', options_list=['--topic-name'], completer=get_resource_name_completion_list('Microsoft.EventGrid/topics')) c.argument('event_subscription_name', arg_type=name_type, help='Name of the event subscription') - c.argument('event_delivery_schema', arg_type=get_enum_type(['eventgridschema', 'inputeventschema', 'cloudeventv01schema'], default='eventgridschema'), help='Schema in which events should be delivered for this event subscription. By default, events are delivered in the eventgridschema. To make EventGrid deliver events in the same schema as the published event schema, use customeventschema as the value for this parameter. To make EventGrid deliver events in the Cloud Events V0.1 schema, use cloudeventv01schema as the value for this parameter.') + c.argument('event_delivery_schema', arg_type=get_enum_type(['eventgridschema', 'inputeventschema', 'cloudeventv01schema'], default='inputeventschema'), help='The schema in which events should be delivered for this event subscription. By default, events are delivered in the same schema in which they are published (inputeventschema).') c.argument('max_delivery_attempts', help="Maximum number of delivery attempts. Must be a number between 1 and 30.") c.argument('event_ttl', help="Event time to live (in minutes). Must be a number between 1 and 1440.") c.argument('deadletter_endpoint', help="The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription.") diff --git a/src/eventgrid/azext_eventgrid/custom.py b/src/eventgrid/azext_eventgrid/custom.py index 4bee6c2bf0e..c4bdc2d6bb3 100644 --- a/src/eventgrid/azext_eventgrid/custom.py +++ b/src/eventgrid/azext_eventgrid/custom.py @@ -119,7 +119,7 @@ def cli_eventgrid_event_subscription_create( is_subject_case_sensitive=False, max_delivery_attempts=30, event_ttl=1440, - event_delivery_schema=EVENTGRID_SCHEMA, + event_delivery_schema=INPUT_EVENT_SCHEMA, deadletter_endpoint=None, labels=None): # Construct RetryPolicy based on max_delivery_attempts and event_ttl diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_to_arm_resource_group.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_to_arm_resource_group.yaml index 4367f526f0c..b9b2e6cf543 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_to_arm_resource_group.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_to_arm_resource_group.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-19T22:44:37Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -126,7 +126,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -134,7 +134,7 @@ interactions: content-length: ['0'] date: ['Thu, 19 Apr 2018 22:44:52 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdVTlRHUVdUTjRBWlVUQUtRRElUQUdIMlZYWUE3UVBDVkhTSnw2MTdCQzI2MkI1OTRFQkIzLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdVTlRHUVdUTjRBWlVUQUtRRElUQUdIMlZYWUE3UVBDVkhTSnw2MTdCQzI2MkI1OTRFQkIzLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_to_resource.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_to_resource.yaml index 5652efd88ec..60d565752ab 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_to_resource.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_to_resource.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieventgridrg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieventgridrg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001","name":"clieventgridrg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-19T22:44:52Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -589,7 +589,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieventgridrg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieventgridrg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -597,7 +597,7 @@ interactions: content-length: ['0'] date: ['Thu, 19 Apr 2018 22:45:57 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElFVkVOVEdSSURSR1FQM0o0NVo1UzZaS0xVT01HTkFCRFpNNDVUT0tCTkZBTnw1ODU0MjVFMUM5OUU2MEUwLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElFVkVOVEdSSURSR1FQM0o0NVo1UzZaS0xVT01HTkFCRFpNNDVUT0tCTkZBTnw1ODU0MjVFMUM5OUU2MEUwLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_with_filters.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_with_filters.yaml index d6b1da963c8..974dadf539d 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_with_filters.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_event_subscriptions_with_filters.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-19T22:45:57Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -291,7 +291,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -299,7 +299,7 @@ interactions: content-length: ['0'] date: ['Thu, 19 Apr 2018 22:46:25 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdGQlRIWkY2UkRURkFBQ0dZT0Q0R1BBQTZVRkFaRFo3Q1pMWXwwRjdBN0ExM0VGNzYxNUE1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdGQlRIWkY2UkRURkFBQ0dZT0Q0R1BBQTZVRkFaRFo3Q1pMWXwwRjdBN0ExM0VGNzYxNUE1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_topic.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_topic.yaml index dfe3058ae09..a8ea75b1d02 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_topic.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/eventgrid_test_create_topic.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-19T22:46:26Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -687,7 +687,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -695,7 +695,7 @@ interactions: content-length: ['0'] date: ['Thu, 19 Apr 2018 22:47:28 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkczN1FMSzRLRDQySFBRWktXN0pYSlg0UTdGVkpJTVE0UkZBQXwyREVDMUVDNjlCNTMzNzNFLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkczN1FMSzRLRDQySFBRWktXN0pYSlg0UTdGVkpJTVE0UkZBQXwyREVDMUVDNjlCNTMzNzNFLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_arm_resource_group.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_arm_resource_group.yaml index f4340bde17b..a7993039b2d 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_arm_resource_group.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_arm_resource_group.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-25T22:16:13Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -537,7 +537,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -545,7 +545,7 @@ interactions: content-length: ['0'] date: ['Wed, 25 Apr 2018 22:21:00 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdKVERKSjNTS0xRNTUyTU5BNFVUQlZGN08yWklBNUFaS01JTHw1RUMwRTE5QzdDRDREOTYxLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdKVERKSjNTS0xRNTUyTU5BNFVUQlZGN08yWklBNUFaS01JTHw1RUMwRTE5QzdDRDREOTYxLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_resource.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_resource.yaml index 9de29802b64..88cb8c5501b 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_resource.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_resource.yaml @@ -13,7 +13,7 @@ interactions: AZURECLI/2.0.29] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieventgridrg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieventgridrg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001","name":"clieventgridrg000001","location":"westus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -639,7 +639,7 @@ interactions: AZURECLI/2.0.29] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieventgridrg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieventgridrg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -647,7 +647,7 @@ interactions: content-length: ['0'] date: ['Wed, 28 Feb 2018 18:07:06 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElFVkVOVEdSSURSR0tNV0dRSlpGRktSN0s0T1NBUVQ1VExMR1NTQk02T1BTTnw3RTZDNzY3MTE4MzQzMjEyLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElFVkVOVEdSSURSR0tNV0dRSlpGRktSN0s0T1NBUVQ1VExMR1NTQk02T1BTTnw3RTZDNzY3MTE4MzQzMjEyLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20180501_features.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20180501_features.yaml index 7d3f56cfeed..09d26a10948 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20180501_features.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20180501_features.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-25T22:21:01Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -333,7 +333,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -341,7 +341,7 @@ interactions: content-length: ['0'] date: ['Wed, 25 Apr 2018 22:21:45 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdUR002SlpJRkk0Rk1KRlBHQVZMU1JBWlFXWTVKSk5KTVlTUHw3Q0U3QjQ3QzhDODE2RTE0LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdUR002SlpJRkk0Rk1KRlBHQVZMU1JBWlFXWTVKSk5KTVlTUHw3Q0U3QjQ3QzhDODE2RTE0LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_filters.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_filters.yaml index eab1d1b8546..bb4c2331e9a 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_filters.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_filters.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-25T22:21:45Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -421,7 +421,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -429,7 +429,7 @@ interactions: content-length: ['0'] date: ['Wed, 25 Apr 2018 22:26:20 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc2NlVYQkNWREVUQVFETFRXUldaRzNJREpQRVZGUEJKSjRNSnw3RTRBNUREN0JFRDE4QUY1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc2NlVYQkNWREVUQVFETFRXUldaRzNJREpQRVZGUEJKSjRNSnw3RTRBNUREN0JFRDE4QUY1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_topic.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_topic.yaml index bd1ce2c28f9..050d4980801 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_topic.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_topic.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-25T22:26:20Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -1197,7 +1197,7 @@ interactions: AZURECLI/2.0.31] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: @@ -1205,7 +1205,7 @@ interactions: content-length: ['0'] date: ['Wed, 25 Apr 2018 22:35:28 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdQU0JOUkJSSTdFWUtaNDNTU0M1SUY1WUwzR0FJRjJOVURBR3w4MEYxRjgxMzY1RDNGQzE3LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdQU0JOUkJSSTdFWUtaNDNTU0M1SUY1WUwzR0FJRjJOVURBR3w4MEYxRjgxMzY1RDNGQzE3LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/eventgrid/setup.py b/src/eventgrid/setup.py index 12a7ef59458..a7fb4d75d0a 100644 --- a/src/eventgrid/setup.py +++ b/src/eventgrid/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.2.0" +VERSION = "0.2.1" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/image-copy/azext_imagecopy/create_target.py b/src/image-copy/azext_imagecopy/create_target.py index d09f8772bef..29afd7dd590 100644 --- a/src/image-copy/azext_imagecopy/create_target.py +++ b/src/image-copy/azext_imagecopy/create_target.py @@ -48,7 +48,7 @@ def create_target_image(location, transient_resource_group_name, source_type, so json_output = run_cli_command(cli_cmd, return_as_json=True) target_storage_account_key = json_output[0]['value'] - logger.debug(target_storage_account_key) + logger.debug("storage account key: %s", target_storage_account_key) expiry_format = "%Y-%m-%dT%H:%MZ" expiry = datetime.datetime.utcnow() + datetime.timedelta(hours=1) diff --git a/src/image-copy/azext_imagecopy/custom.py b/src/image-copy/azext_imagecopy/custom.py index bc8b6f04a5b..742168c0419 100644 --- a/src/image-copy/azext_imagecopy/custom.py +++ b/src/image-copy/azext_imagecopy/custom.py @@ -26,20 +26,47 @@ def imagecopy(source_resource_group_name, source_object_name, target_location, json_cmd_output = run_cli_command(cli_cmd, return_as_json=True) - if 'id' not in json_cmd_output['storageProfile']['osDisk']['managedDisk']: - logger.error( - "It looks like the source resource isn't backed by a managed OS disk. Quitting...") - raise CLIError('Source with no Managed OS disk') - if json_cmd_output['storageProfile']['dataDisks']: - logger.warn("Data disks in the source detected, but are ignored by this extension!") + logger.warn( + "Data disks in the source detected, but are ignored by this extension!") + + source_os_disk_id = None + source_os_disk_type = None + + try: + source_os_disk_id = json_cmd_output['storageProfile']['osDisk']['managedDisk']['id'] + if source_os_disk_id is None: + raise TypeError + source_os_disk_type = "DISK" + logger.debug("found %s: %s", source_os_disk_type, source_os_disk_id) + except TypeError: + try: + source_os_disk_id = json_cmd_output['storageProfile']['osDisk']['blobUri'] + if source_os_disk_id is None: + raise TypeError + source_os_disk_type = "BLOB" + logger.debug("found %s: %s", source_os_disk_type, source_os_disk_id) + except TypeError: + try: # images created by e.g. image-copy extension + source_os_disk_id = json_cmd_output['storageProfile']['osDisk']['snapshot']['id'] + if source_os_disk_id is None: + raise TypeError + source_os_disk_type = "SNAPSHOT" + logger.debug("found %s: %s", source_os_disk_type, source_os_disk_id) + except TypeError: + pass + + if source_os_disk_type is None or source_os_disk_id is None: + logger.error( + 'Unable to locate a supported os disk type in the provided source object') + raise CLIError('Invalid OS Disk Source Type') - source_os_disk_id = json_cmd_output['storageProfile']['osDisk']['managedDisk']['id'] source_os_type = json_cmd_output['storageProfile']['osDisk']['osType'] - logger.debug("source_os_disk_id: %s. source_os_type: %s", - source_os_disk_id, source_os_type) + logger.debug("source_os_disk_type: %s. source_os_disk_id: %s. source_os_type: %s", + source_os_disk_type, source_os_disk_id, source_os_type) # create source snapshots + # TODO: skip creating another snapshot when the source is a snapshot logger.warn("Creating source snapshot") source_os_disk_snapshot_name = source_object_name + '_os_disk_snapshot' cli_cmd = prepare_cli_command(['snapshot', 'create', @@ -65,7 +92,10 @@ def imagecopy(source_resource_group_name, source_object_name, target_location, # Start processing in the target locations transient_resource_group_name = 'image-copy-rg' - create_resource_group(transient_resource_group_name, 'eastus') + # pick the first location for the temp group + transient_resource_group_location = target_location[0].strip() + create_resource_group(transient_resource_group_name, + transient_resource_group_location) target_locations_count = len(target_location) logger.warn("Target location count: %s", target_locations_count) @@ -125,6 +155,7 @@ def imagecopy(source_resource_group_name, source_object_name, target_location, run_cli_command(cli_cmd) # Delete source snapshot + # TODO: skip this if source is snapshot and not creating a new one cli_cmd = prepare_cli_command(['snapshot', 'delete', '--name', source_os_disk_snapshot_name, '--resource-group', source_resource_group_name]) diff --git a/src/image-copy/setup.py b/src/image-copy/setup.py index 46b084c9c13..fb7bad94f08 100644 --- a/src/image-copy/setup.py +++ b/src/image-copy/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.0.6" +VERSION = "0.0.7" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/index.json b/src/index.json index a525558ec38..ea27b38f15f 100644 --- a/src/index.json +++ b/src/index.json @@ -3,9 +3,9 @@ "extensions": { "azure-batch-cli-extensions": [ { - "filename": "azure_batch_cli_extensions-2.2.2-py2.py3-none-any.whl", - "sha256Digest": "212493c9b044a66271986f30efd8ac9dd7f736283272d0049fa4f125e9dc9323", - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-2.2.2/azure_batch_cli_extensions-2.2.2-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-2.3.0-py2.py3-none-any.whl", + "sha256Digest": "360fa1a71da65db1866ec6987bad822868915d9ce5d2e6d5542c58836ff62816", + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-2.3.0/azure_batch_cli_extensions-2.3.0-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.0.24", "azext.maxCliCoreVersion": "2.1.0", @@ -26,20 +26,28 @@ } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", "name": "azure-batch-cli-extensions", + "run_requires": [ + { + "requires": [ + "azure-batch-extensions (<3.1,>=3.0.0)" + ] + } + ], "summary": "Additional commands for working with Azure Batch service", - "version": "2.2.2" + "version": "2.3.0" } } ], "azure-cli-iot-ext": [ { - "filename": "azure_cli_iot_ext-0.4.4-py2.py3-none-any.whl", - "sha256Digest": "da6fcb521773816d0b5b6d71dea32405b777ac0465be5a95f00459b9b8492ff8", - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.4.4/azure_cli_iot_ext-0.4.4-py2.py3-none-any.whl", + "filename": "azure_cli_iot_ext-0.5.0-py2.py3-none-any.whl", + "sha256Digest": "c427f8f249c3e11ab1a5306be8bdbcce41155c949c71072fc6bda801e6dbd1c8", + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.5.0/azure_cli_iot_ext-0.5.0-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.0.24", "classifiers": [ @@ -80,69 +88,16 @@ "run_requires": [ { "requires": [ - "msrestazure", + "jmespath (==0.9.3)", + "msrestazure (==0.4.29)", "paho-mqtt (==1.3.1)", "pyyaml" ] } ], "summary": "Provides the data plane command layer for Azure IoT Hub, IoT Edge and IoT Device Provisioning Service", - "version": "0.4.4" + "version": "0.5.0" } - }, - { - "filename": "azure_cli_iot_ext-0.4.3-py2.py3-none-any.whl", - "sha256Digest": "58eb6812ee62998c6616021e0632eb37573d44ac4ed9fef45119078590ff5099", - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.4.3/azure_cli_iot_ext-0.4.3-py2.py3-none-any.whl", - "metadata": { - "azext.minCliCoreVersion": "2.0.24", - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Intended Audience :: System Administrators", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "License :: OSI Approved :: MIT License" - ], - "extensions": { - "python.details": { - "contacts": [ - { - "email": "iotupx@microsoft.com", - "name": "Microsoft", - "role": "author" - } - ], - "document_names": { - "description": "DESCRIPTION.rst" - }, - "project_urls": { - "Home": "https://github.com/azure/azure-iot-cli-extension" - } - } - }, - "extras": [], - "generator": "bdist_wheel (0.30.0)", - "license": "MIT", - "metadata_version": "2.0", - "name": "azure-cli-iot-ext", - "run_requires": [ - { - "requires": [ - "msrestazure", - "paho-mqtt (==1.3.1)", - "pyyaml" - ] - } - ], - "summary": "Provides the data plane command layer for Azure IoT Hub, IoT Edge and IoT Device Provisioning Service", - "version": "0.4.3" - } } ], "image-copy-extension": [ @@ -276,6 +231,50 @@ "summary": "Support for copying managed vm images between regions", "version": "0.0.6" } + }, + { + "filename": "image_copy_extension-0.0.7-py2.py3-none-any.whl", + "sha256Digest": "01a055c909a68f8990d8bab544b20a783c3fbe4d006947887ea9f253f358519e", + "downloadUrl": "https://files.pythonhosted.org/packages/2f/1c/71f08dfe9f1af698459384aeb141d7debeb09ecb5d6fcf359486196bc86c/image_copy_extension-0.0.7-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.24", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "tamir.kamara@microsoft.com", + "name": "Tamir Kamara", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "image-copy-extension", + "summary": "Support for copying managed vm images between regions", + "version": "0.0.7" + } } ], "aem": [ @@ -326,12 +325,12 @@ ], "dev-spaces-preview": [ { - "filename": "dev_spaces_preview-0.1.0-py2.py3-none-any.whl", - "sha256Digest": "483f58b99d1c1bc13ecf3a6f1ec92c0299734b90e13f4a8032950d1eec22877f", - "downloadUrl": "https://azuredevspacestools.blob.core.windows.net/azdssetup/LKS/dev_spaces_preview-0.1.0-py2.py3-none-any.whl", + "filename": "dev_spaces_preview-0.1.6-py2.py3-none-any.whl", + "sha256Digest": "cd0fc8a0f684b561e53c1deb235b3cfa85ef7a4df5f52d67cec6dcba5a9494ae", + "downloadUrl": "https://azuredevspacestools.blob.core.windows.net/azdssetup/LKS/dev_spaces_preview-0.1.6-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.27", + "azext.minCliCoreVersion": "2.0.32", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -367,7 +366,7 @@ "metadata_version": "2.0", "name": "dev-spaces-preview", "summary": "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams.", - "version": "0.1.0" + "version": "0.1.6" } } ], @@ -508,11 +507,11 @@ } } ], - "rdbms": [ + "rdbms-vnet": [ { - "filename": "rdbms-0.0.5-py2.py3-none-any.whl", - "sha256Digest": "2b587493a8e10738bb6f3f82cf9e26ebf32a509c162f7093b4cb8e99aff5072f", - "downloadUrl": "https://prodrdbmsclipackages.blob.core.windows.net/cliextensions/rdbms-0.0.5-py2.py3-none-any.whl", + "filename": "rdbms_vnet-10.0.0-py2.py3-none-any.whl", + "sha256Digest": "c10d63f21308751212b3bd68448b0dfe27d6e79bf9c54412680229f69f9bcec7", + "downloadUrl": "https://prodrdbmsclipackages.blob.core.windows.net/cliextensions/rdbms_vnet-10.0.0-py2.py3-none-any.whl", "metadata": { "classifiers": [ "Development Status :: 4 - Beta", @@ -531,8 +530,8 @@ "python.details": { "contacts": [ { - "email": "rohitjoy@microsoft.com", - "name": "Rohit Joy", + "email": "ragoutha@microsoft.com", + "name": "Rahul G S", "role": "author" } ], @@ -544,15 +543,15 @@ } } }, - "generator": "bdist_wheel (0.29.0)", + "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "rdbms", - "summary": "An Azure CLI Extension providing support for Azure MySQL and Azure PostgreSQL.", - "version": "0.0.5" + "name": "rdbms-vnet", + "summary": "Support for Virtual Network rules in Azure MySQL and Azure PostgreSQL resources", + "version": "10.0.0" } } - ], + ], "alias": [ { "filename": "alias-0.5.1-py2.py3-none-any.whl", @@ -793,9 +792,9 @@ ], "eventgrid": [ { - "filename": "eventgrid-0.2.0-py2.py3-none-any.whl", - "sha256Digest": "c26ee3b5bc9e8f109b370ec20b25697d71fc9d4e8700f5f03e452b66c9eaedb2", - "downloadUrl": "https://eventgridcliextension.blob.core.windows.net/cli/eventgrid-0.2.0-py2.py3-none-any.whl", + "filename": "eventgrid-0.2.1-py2.py3-none-any.whl", + "sha256Digest": "e7acf947b1d7ab307a21897a8a9cb859575fe880c84fe04e191a5e00d7e4814a", + "downloadUrl": "https://eventgridcliextension.blob.core.windows.net/cli/eventgrid-0.2.1-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.0.24", "azext.isPreview": true, @@ -834,15 +833,15 @@ "metadata_version": "2.0", "name": "eventgrid", "summary": "Support for Azure EventGrid 2018-05-01-preview features", - "version": "0.2.0" + "version": "0.2.1" } } ], "botservice": [ { - "filename": "botservice-0.0.1-py2.py3-none-any.whl", - "sha256Digest": "365b974deade7caf5097feb1f2e04a64d89b350dba0ef2c9f13bcc234a2598c9", - "downloadUrl": "https://icscratch.blob.core.windows.net/bot-packages/botservice-0.0.1-py2.py3-none-any.whl", + "filename": "botservice-0.0.3-py2.py3-none-any.whl", + "sha256Digest": "2bab390922c1ad9b6fa645b651540e7c8de14f20213fd6848a6fa67f0636f699", + "downloadUrl": "https://icscratch.blob.core.windows.net/bot-packages/botservice-0.0.3-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.0.30", "azext.isPreview": true, @@ -868,15 +867,15 @@ "metadata_version": "2.0", "name": "botservice", "summary": "Support for Azure Bot Service 2017-12-01 preview features", - "version": "0.0.1" + "version": "0.0.3" } } ], "storage-preview": [ { - "filename": "storage_preview-0.1.0-py2.py3-none-any.whl", - "sha256Digest": "36768962d09c65b9668581f5bc01f1ad252acf832f22afdb04ed00c3333379cc", - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storage_preview-0.1.0-py2.py3-none-any.whl", + "filename": "storage_preview-0.1.3-py2.py3-none-any.whl", + "sha256Digest": "e5715c73cc858041c610e14a059abd6311e78b6fd5342a09e8e86746e6ff8c9e", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storage_preview-0.1.3-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.32.dev0", @@ -906,7 +905,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview" } } }, @@ -915,7 +914,7 @@ "metadata_version": "2.0", "name": "storage-preview", "summary": "Provides a preview for upcoming storage features.", - "version": "0.1.0" + "version": "0.1.3" } } ] diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_add_remove_subscription_managementgroup.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_add_remove_subscription_managementgroup.yaml index 43fde8d6df2..a7647b586dd 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_add_remove_subscription_managementgroup.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_add_remove_subscription_managementgroup.yaml @@ -282,7 +282,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -344,7 +344,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -405,7 +405,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -467,7 +467,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -829,7 +829,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -891,7 +891,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -952,7 +952,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -1014,7 +1014,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_delete_group_managementgroup.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_delete_group_managementgroup.yaml index 9cb2691c707..ddcc23bb45d 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_delete_group_managementgroup.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_delete_group_managementgroup.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -374,7 +374,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -470,7 +470,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup.yaml index 04bda4c7c68..891a5d52730 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_displayname.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_displayname.yaml index ae72fb74ff4..bd701fdf477 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_displayname.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_displayname.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_displayname_and_parentid.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_displayname_and_parentid.yaml index 70977d8d1ae..87f7dd0ea50 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_displayname_and_parentid.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_displayname_and_parentid.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_parentid.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_parentid.yaml index f5ed9cf2309..b6bdf8982f0 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_parentid.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_create_managementgroup_with_parentid.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_list_managementgroups.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_list_managementgroups.yaml index 830a25fcf6d..b426dd4586e 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_list_managementgroups.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_list_managementgroups.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup.yaml index 8ea0c0947a3..b57db1136c6 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup_with_expand.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup_with_expand.yaml index 2e1107b227c..62bd12cc4c1 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup_with_expand.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup_with_expand.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup_with_expand_and_recurse.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup_with_expand_and_recurse.yaml index 06943134609..73f571cd2ea 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup_with_expand_and_recurse.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_show_managementgroup_with_expand_and_recurse.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_displayname.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_displayname.yaml index b3fdc67d5c8..91932df45df 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_displayname.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_displayname.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_displayname_and_parentid.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_displayname_and_parentid.yaml index e0ed2fd57b0..b15663f4e0d 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_displayname_and_parentid.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_displayname_and_parentid.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_parentid.yaml b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_parentid.yaml index cf266c93862..5bd3ba5d158 100644 --- a/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_parentid.yaml +++ b/src/managementgroups/azext_managementgroups/tests/latest/recordings/test_update_managementgroup_with_parentid.yaml @@ -80,7 +80,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: POST - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/register?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: @@ -176,7 +176,7 @@ interactions: AZURECLI/2.0.27] accept-language: [en-US] method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2017-05-10 + uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management","namespace":"Microsoft.Management","authorization":{"applicationId":"f2c304cf-8e7e-4c3f-8164-16299ad9d272","roleDefinitionId":"c1cf3708-588a-4647-be7f-f400bbe214cf"},"resourceTypes":[{"resourceType":"resources","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"managementGroups","locations":[],"apiVersions":["2018-01-01-preview","2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]},{"resourceType":"getEntities","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operationResults","locations":[],"apiVersions":["2018-01-01-preview"]},{"resourceType":"operations","locations":[],"apiVersions":["2017-11-01-preview","2017-08-31-preview","2017-06-30-preview","2017-05-31-preview"]}],"registrationState":"Registered"}'} headers: diff --git a/src/rdbms/azext_rdbms/_help.py b/src/rdbms/azext_rdbms/_help.py deleted file mode 100644 index 0bbae886527..00000000000 --- a/src/rdbms/azext_rdbms/_help.py +++ /dev/null @@ -1,39 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from knack.help_files import helps - -# pylint: disable=line-too-long - - -def add_helps(command_group, server_type): - helps['{} server create'.format(command_group)] = """ - short-summary: Create a server. - examples: - - name: Create a {0} server with only required paramaters in North Europe. - text: az {1} server create -l northeurope -g testgroup -n testsvr -u username -p password - - name: Create a {0} server with a Standard performance tier and 2 vcore in North Europe. - text: az {1} server create -l northeurope -g testgroup -n testsvr -u username -p password \\ - --sku-name GP_Gen4_2 - - name: Create a {0} server with all paramaters set. - text: az {1} server create -l northeurope -g testgroup -n testsvr -u username -p password \\ - --sku-name B_Gen4_2 --ssl-enforcement Disabled \\ - --storage-size 51200 --tags "key=value" --version {{server-version}} - """.format(server_type, command_group) - helps['{} server georestore'.format(command_group)] = """ - type: command - short-summary: Georestore a server from backup. - examples: - - name: Georestore 'testsvr' as 'testsvrnew' where 'testsvrnew' is in same resource group as 'testsvr'. - text: az {0} server georestore -g testgroup -n testsvrnew --source-server testsvr -l westus2 - - name: Georestore 'testsvr2' to 'testsvrnew', where 'testsvrnew' is in the different resource group as the original server. - text: | - az {0} server georestore -g testgroup -n testsvrnew \\ - -s "/subscriptions/${{SubID}}/resourceGroups/${{ResourceGroup}}/providers/Microsoft.DBfor{1}/servers/testsvr2" -l westus2 --sku-name GP_Gen5_2 - """.format(command_group, server_type) - - -add_helps("mysql", "MySQL") -add_helps("postgres", "PostgreSQL") diff --git a/src/rdbms/azext_rdbms/_params.py b/src/rdbms/azext_rdbms/_params.py deleted file mode 100644 index ca21bbbd28f..00000000000 --- a/src/rdbms/azext_rdbms/_params.py +++ /dev/null @@ -1,63 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -# pylint: disable=line-too-long - -from azure.cli.core.commands.parameters import get_resource_name_completion_list, tags_type, get_location_type, get_enum_type # pylint: disable=line-too-long - - -def load_arguments(self, _): # pylint: disable=too-many-statements - - server_completers = { - 'mysql': get_resource_name_completion_list('Microsoft.DBForMySQL/servers'), - 'postgres': get_resource_name_completion_list('Microsoft.DBForPostgreSQL/servers') - } - - def _complex_params(command_group): - with self.argument_context('{} server create'.format(command_group)) as c: - c.argument('sku_name', options_list=['--sku-name'], required=True, help='The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.') - - c.argument('backup_retention', type=int, options_list=['--backup-retention'], help='The number of days a backup is retained.') - c.argument('geo_redundant_backup', options_list=['--geo-redundant-backup'], help='Enable Geo-redundant or not for server backup.') - c.argument('storage_size', options_list=['--storage-size'], type=int, help='The max storage size of the server. Unit is megabytes.') - - c.argument('administrator_login', required=True, arg_group='Authentication') - c.argument('administrator_login_password', arg_group='Authentication') - - c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False) - c.argument('version', help='Server version') - - with self.argument_context('{} server georestore'. format(command_group)) as c: - c.argument('location', arg_type=get_location_type(self.cli_ctx), required=True) - c.argument('sku_name', options_list=['--sku-name'], required=False, help='The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.') - c.argument('source_server', options_list=['--source-server', '-s'], required=True, help='The name or ID of the source server to restore from.') - c.argument('backup_retention', options_list=['--backup-retention'], type=int, help='The max days of retention, unit is days.') - c.argument('geo_redundant_backup', options_list=['--geo-redundant-backup'], help='Enable Geo-redundant or not for server backup.') - - with self.argument_context('{} server wait'.format(command_group)) as c: - c.ignore('created', 'deleted', 'updated') - - _complex_params('mysql') - _complex_params('postgres') - - for scope in ['mysql', 'postgres']: - with self.argument_context(scope) as c: - c.argument('name', options_list=['--sku-name'], required=True) - c.argument('server_name', completer=server_completers[scope], options_list=['--server-name', '-s'], help='Name of the server.') - - for scope in ['mysql server', 'postgres server']: - with self.argument_context(scope) as c: - c.ignore('size', 'family', 'capacity', 'tier') - - c.argument('server_name', options_list=['--name', '-n'], id_part='name', help='Name of the server.') - c.argument('administrator_login', options_list=['--admin-user', '-u']) - c.argument('administrator_login_password', options_list=['--admin-password', '-p'], help='The password of the administrator login.') - c.argument('ssl_enforcement', arg_type=get_enum_type(['Enabled', 'Disabled']), options_list=['--ssl-enforcement'], help='Enable ssl enforcement or not when connect to server.') - c.argument('tier', arg_type=get_enum_type(['Basic', 'GeneralPurpose', 'MemoryOptimized']), options_list=['--performance-tier'], help='The performance tier of the server.') - c.argument('capacity', options_list=['--vcore'], type=int, help='Number of vcore.') - c.argument('family', options_list=['--family'], arg_type=get_enum_type(['Gen4', 'Gen5']), help='Hardware generation.') - c.argument('storage_mb', options_list=['--storage-size'], type=int, help='The max storage size of the server. Unit is megabytes.') - c.argument('backup_retention_days', options_list=['--backup-retention'], type=int, help='The number of days a backup is retained.') - c.argument('tags', tags_type) diff --git a/src/rdbms/azext_rdbms/azext_metadata.json b/src/rdbms/azext_rdbms/azext_metadata.json deleted file mode 100644 index 0805b25d581..00000000000 --- a/src/rdbms/azext_rdbms/azext_metadata.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "azext.minCliCoreVersion": "2.0.24", - "azext.isPreview": true -} \ No newline at end of file diff --git a/src/rdbms/azext_rdbms/commands.py b/src/rdbms/azext_rdbms/commands.py deleted file mode 100644 index a887e9c634c..00000000000 --- a/src/rdbms/azext_rdbms/commands.py +++ /dev/null @@ -1,34 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from azure.cli.core.commands import CliCommandType - -from azext_rdbms._client_factory import ( - cf_mysql_servers, - cf_postgres_servers) - - -# pylint: disable=too-many-locals, too-many-statements, line-too-long -def load_command_table(self, _): - - mysql_servers_sdk = CliCommandType( - operations_tmpl='azext_rdbms.mysql.operations.servers_operations#ServersOperations.{}', - client_arg_name='self', - client_factory=cf_mysql_servers - ) - - postgres_servers_sdk = CliCommandType( - operations_tmpl='azext_rdbms.postgresql.operations.servers_operations#ServersOperations.{}', - client_arg_name='self', - client_factory=cf_postgres_servers - ) - - with self.command_group('mysql server', mysql_servers_sdk, client_factory=cf_mysql_servers) as g: - g.custom_command('create', '_server_create') - g.custom_command('georestore', '_server_georestore', supports_no_wait=True) - - with self.command_group('postgres server', postgres_servers_sdk, client_factory=cf_postgres_servers) as g: - g.custom_command('create', '_server_create') - g.custom_command('georestore', '_server_georestore', supports_no_wait=True) diff --git a/src/rdbms/azext_rdbms/custom.py b/src/rdbms/azext_rdbms/custom.py deleted file mode 100644 index b2bcc1c3979..00000000000 --- a/src/rdbms/azext_rdbms/custom.py +++ /dev/null @@ -1,104 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -# pylint: disable=unused-argument - -from azure.cli.core.commands.client_factory import get_subscription_id -from azure.cli.core.util import sdk_no_wait -from msrestazure.tools import resource_id, is_valid_resource_id, parse_resource_id # pylint: disable=import-error -from azext_rdbms.mysql.operations.servers_operations import ServersOperations - - -SKU_TIER_MAP = {'Basic': 'b', 'GeneralPurpose': 'gp', 'MemoryOptimized': 'mo'} - - -def _server_create(cmd, client, resource_group_name, server_name, sku_name, - location=None, administrator_login=None, administrator_login_password=None, backup_retention=None, - geo_redundant_backup=None, ssl_enforcement=None, storage_size=None, tags=None, version=None): - provider = 'Microsoft.DBForMySQL' if isinstance(client, ServersOperations) else 'Microsoft.DBforPostgreSQL' - parameters = None - if provider == 'Microsoft.DBForMySQL': - from azure.mgmt.rdbms import mysql - parameters = mysql.models.ServerForCreate( - sku=mysql.models.Sku(name=sku_name), - properties=mysql.models.ServerPropertiesForDefaultCreate( - administrator_login=administrator_login, - administrator_login_password=administrator_login_password, - version=version, - ssl_enforcement=ssl_enforcement, - storage_profile=mysql.models.StorageProfile( - backup_retention_days=backup_retention, - geo_redundant_backup=geo_redundant_backup, - storage_mb=storage_size)), - location=location, - tags=tags) - elif provider == 'Microsoft.DBforPostgreSQL': - from azure.mgmt.rdbms import postgresql - parameters = postgresql.models.ServerForCreate( - sku=postgresql.models.Sku(name=sku_name), - properties=postgresql.models.ServerPropertiesForDefaultCreate( - administrator_login=administrator_login, - administrator_login_password=administrator_login_password, - version=version, - ssl_enforcement=ssl_enforcement, - storage_profile=postgresql.models.StorageProfile( - backup_retention_days=backup_retention, - geo_redundant_backup=geo_redundant_backup, - storage_mb=storage_size)), - location=location, - tags=tags) - - return client.create(resource_group_name, server_name, parameters) - - -# need to replace source server name with source server id, so customer server georestore function -# The parameter list should be the same as that in factory to use the ParametersContext -# auguments and validators -def _server_georestore(cmd, client, resource_group_name, server_name, sku_name, location, source_server, - backup_retention=None, geo_redundant_backup=None, no_wait=False, **kwargs): - provider = 'Microsoft.DBForMySQL' if isinstance(client, ServersOperations) else 'Microsoft.DBforPostgreSQL' - parameters = None - if provider == 'Microsoft.DBForMySQL': - from azext_rdbms import mysql - parameters = mysql.models.ServerForCreate( - sku=mysql.models.Sku(name=sku_name), - properties=mysql.models.ServerPropertiesForGeoRestore( - storage_profile=mysql.models.StorageProfile( - backup_retention_days=backup_retention, - geo_redundant_backup=geo_redundant_backup - )), - location=location) - elif provider == 'Microsoft.DBforPostgreSQL': - from azext_rdbms import postgresql - parameters = postgresql.models.ServerForCreate( - sku=postgresql.models.Sku(name=sku_name), - properties=postgresql.models.ServerPropertiesForGeoRestore( - storage_profile=postgresql.models.StorageProfile( - backup_retention_days=backup_retention, - geo_redundant_backup=geo_redundant_backup - )), - location=location) - - if not is_valid_resource_id(source_server): - if len(source_server.split('/')) == 1: - source_server = resource_id(subscription=get_subscription_id(cmd.cli_ctx), - resource_group=resource_group_name, - namespace=provider, - type='servers', - name=source_server) - else: - raise ValueError('The provided source-server {} is invalid.'.format(source_server)) - - parameters.properties.source_server_id = source_server - - source_server_id_parts = parse_resource_id(source_server) - try: - source_server_object = client.get(source_server_id_parts['resource_group'], source_server_id_parts['name']) - if parameters.sku.name is None: - parameters.sku.name = source_server_object.sku.name - except Exception as e: - raise ValueError('Unable to get source server: {}.'.format(str(e))) - - return sdk_no_wait(no_wait, client.create, resource_group_name, server_name, parameters) diff --git a/src/rdbms/azext_rdbms/mysql/models/__init__.py b/src/rdbms/azext_rdbms/mysql/models/__init__.py deleted file mode 100644 index e630a179e94..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/__init__.py +++ /dev/null @@ -1,108 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -try: - from .proxy_resource_py3 import ProxyResource - from .tracked_resource_py3 import TrackedResource - from .storage_profile_py3 import StorageProfile - from .server_properties_for_create_py3 import ServerPropertiesForCreate - from .server_properties_for_default_create_py3 import ServerPropertiesForDefaultCreate - from .server_properties_for_restore_py3 import ServerPropertiesForRestore - from .server_properties_for_geo_restore_py3 import ServerPropertiesForGeoRestore - from .sku_py3 import Sku - from .server_py3 import Server - from .server_for_create_py3 import ServerForCreate - from .server_update_parameters_py3 import ServerUpdateParameters - from .firewall_rule_py3 import FirewallRule - from .database_py3 import Database - from .configuration_py3 import Configuration - from .operation_display_py3 import OperationDisplay - from .operation_py3 import Operation - from .operation_list_result_py3 import OperationListResult - from .log_file_py3 import LogFile - from .performance_tier_service_level_objectives_py3 import PerformanceTierServiceLevelObjectives - from .performance_tier_properties_py3 import PerformanceTierProperties - from .name_availability_request_py3 import NameAvailabilityRequest - from .name_availability_py3 import NameAvailability -except (SyntaxError, ImportError): - from .proxy_resource import ProxyResource - from .tracked_resource import TrackedResource - from .storage_profile import StorageProfile - from .server_properties_for_create import ServerPropertiesForCreate - from .server_properties_for_default_create import ServerPropertiesForDefaultCreate - from .server_properties_for_restore import ServerPropertiesForRestore - from .server_properties_for_geo_restore import ServerPropertiesForGeoRestore - from .sku import Sku - from .server import Server - from .server_for_create import ServerForCreate - from .server_update_parameters import ServerUpdateParameters - from .firewall_rule import FirewallRule - from .database import Database - from .configuration import Configuration - from .operation_display import OperationDisplay - from .operation import Operation - from .operation_list_result import OperationListResult - from .log_file import LogFile - from .performance_tier_service_level_objectives import PerformanceTierServiceLevelObjectives - from .performance_tier_properties import PerformanceTierProperties - from .name_availability_request import NameAvailabilityRequest - from .name_availability import NameAvailability -from .server_paged import ServerPaged -from .firewall_rule_paged import FirewallRulePaged -from .database_paged import DatabasePaged -from .configuration_paged import ConfigurationPaged -from .log_file_paged import LogFilePaged -from .performance_tier_properties_paged import PerformanceTierPropertiesPaged -from .my_sql_management_client_enums import ( - ServerVersion, - SslEnforcementEnum, - ServerState, - GeoRedundantBackup, - SkuTier, - OperationOrigin, -) - -__all__ = [ - 'ProxyResource', - 'TrackedResource', - 'StorageProfile', - 'ServerPropertiesForCreate', - 'ServerPropertiesForDefaultCreate', - 'ServerPropertiesForRestore', - 'ServerPropertiesForGeoRestore', - 'Sku', - 'Server', - 'ServerForCreate', - 'ServerUpdateParameters', - 'FirewallRule', - 'Database', - 'Configuration', - 'OperationDisplay', - 'Operation', - 'OperationListResult', - 'LogFile', - 'PerformanceTierServiceLevelObjectives', - 'PerformanceTierProperties', - 'NameAvailabilityRequest', - 'NameAvailability', - 'ServerPaged', - 'FirewallRulePaged', - 'DatabasePaged', - 'ConfigurationPaged', - 'LogFilePaged', - 'PerformanceTierPropertiesPaged', - 'ServerVersion', - 'SslEnforcementEnum', - 'ServerState', - 'GeoRedundantBackup', - 'SkuTier', - 'OperationOrigin', -] diff --git a/src/rdbms/azext_rdbms/mysql/models/configuration.py b/src/rdbms/azext_rdbms/mysql/models/configuration.py deleted file mode 100644 index 8d95fc4a0f2..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/configuration.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_resource import ProxyResource - - -class Configuration(ProxyResource): - """Represents a Configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param value: Value of the configuration. - :type value: str - :ivar description: Description of the configuration. - :vartype description: str - :ivar default_value: Default value of the configuration. - :vartype default_value: str - :ivar data_type: Data type of the configuration. - :vartype data_type: str - :ivar allowed_values: Allowed values of the configuration. - :vartype allowed_values: str - :param source: Source of the configuration. - :type source: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'description': {'readonly': True}, - 'default_value': {'readonly': True}, - 'data_type': {'readonly': True}, - 'allowed_values': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'value': {'key': 'properties.value', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'default_value': {'key': 'properties.defaultValue', 'type': 'str'}, - 'data_type': {'key': 'properties.dataType', 'type': 'str'}, - 'allowed_values': {'key': 'properties.allowedValues', 'type': 'str'}, - 'source': {'key': 'properties.source', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Configuration, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.description = None - self.default_value = None - self.data_type = None - self.allowed_values = None - self.source = kwargs.get('source', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/firewall_rule.py b/src/rdbms/azext_rdbms/mysql/models/firewall_rule.py deleted file mode 100644 index af9a04f835d..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/firewall_rule.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_resource import ProxyResource - - -class FirewallRule(ProxyResource): - """Represents a server firewall rule. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource ID - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param start_ip_address: Required. The start IP address of the server - firewall rule. Must be IPv4 format. - :type start_ip_address: str - :param end_ip_address: Required. The end IP address of the server firewall - rule. Must be IPv4 format. - :type end_ip_address: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'start_ip_address': {'required': True, 'pattern': r'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'}, - 'end_ip_address': {'required': True, 'pattern': r'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'start_ip_address': {'key': 'properties.startIpAddress', 'type': 'str'}, - 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallRule, self).__init__(**kwargs) - self.start_ip_address = kwargs.get('start_ip_address', None) - self.end_ip_address = kwargs.get('end_ip_address', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/log_file.py b/src/rdbms/azext_rdbms/mysql/models/log_file.py deleted file mode 100644 index 214dae4dbee..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/log_file.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_resource import ProxyResource - - -class LogFile(ProxyResource): - """Represents a log file. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param size_in_kb: Size of the log file. - :type size_in_kb: long - :ivar created_time: Creation timestamp of the log file. - :vartype created_time: datetime - :ivar last_modified_time: Last modified timestamp of the log file. - :vartype last_modified_time: datetime - :param log_file_type: Type of the log file. - :type log_file_type: str - :param url: The url to download the log file from. - :type url: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'created_time': {'readonly': True}, - 'last_modified_time': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'size_in_kb': {'key': 'properties.sizeInKB', 'type': 'long'}, - 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, - 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, - 'log_file_type': {'key': 'properties.type', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LogFile, self).__init__(**kwargs) - self.size_in_kb = kwargs.get('size_in_kb', None) - self.created_time = None - self.last_modified_time = None - self.log_file_type = kwargs.get('log_file_type', None) - self.url = kwargs.get('url', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/name_availability.py b/src/rdbms/azext_rdbms/mysql/models/name_availability.py deleted file mode 100644 index 327a74ca8a4..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/name_availability.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NameAvailability(Model): - """Represents a resource name availability. - - :param message: Error Message. - :type message: str - :param name_available: Indicates whether the resource name is available. - :type name_available: bool - :param reason: Reason for name being unavailable. - :type reason: str - """ - - _attribute_map = { - 'message': {'key': 'message', 'type': 'str'}, - 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NameAvailability, self).__init__(**kwargs) - self.message = kwargs.get('message', None) - self.name_available = kwargs.get('name_available', None) - self.reason = kwargs.get('reason', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/operation_py3.py b/src/rdbms/azext_rdbms/mysql/models/operation_py3.py deleted file mode 100644 index 1bbddecaa32..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/operation_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Operation(Model): - """REST API operation definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the operation being performed on this particular - object. - :vartype name: str - :ivar display: The localized display information for this particular - operation or action. - :vartype display: ~azure.mgmt.rdbms.mysql.models.OperationDisplay - :ivar origin: The intended executor of the operation. Possible values - include: 'NotSpecified', 'user', 'system' - :vartype origin: str or ~azure.mgmt.rdbms.mysql.models.OperationOrigin - :ivar properties: Additional descriptions for the operation. - :vartype properties: dict[str, object] - """ - - _validation = { - 'name': {'readonly': True}, - 'display': {'readonly': True}, - 'origin': {'readonly': True}, - 'properties': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{object}'}, - } - - def __init__(self, **kwargs) -> None: - super(Operation, self).__init__(**kwargs) - self.name = None - self.display = None - self.origin = None - self.properties = None diff --git a/src/rdbms/azext_rdbms/mysql/models/performance_tier_properties.py b/src/rdbms/azext_rdbms/mysql/models/performance_tier_properties.py deleted file mode 100644 index 5e3a3c8b174..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/performance_tier_properties.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerformanceTierProperties(Model): - """Performance tier properties. - - :param id: ID of the performance tier. - :type id: str - :param service_level_objectives: Service level objectives associated with - the performance tier - :type service_level_objectives: - list[~azure.mgmt.rdbms.mysql.models.PerformanceTierServiceLevelObjectives] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'service_level_objectives': {'key': 'serviceLevelObjectives', 'type': '[PerformanceTierServiceLevelObjectives]'}, - } - - def __init__(self, **kwargs): - super(PerformanceTierProperties, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.service_level_objectives = kwargs.get('service_level_objectives', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/performance_tier_service_level_objectives.py b/src/rdbms/azext_rdbms/mysql/models/performance_tier_service_level_objectives.py deleted file mode 100644 index 4f653dc2834..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/performance_tier_service_level_objectives.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerformanceTierServiceLevelObjectives(Model): - """Service level objectives for performance tier. - - :param id: ID for the service level objective. - :type id: str - :param edition: Edition of the performance tier. - :type edition: str - :param v_core: vCore associated with the service level objective - :type v_core: int - :param hardware_generation: Hardware generation associated with the - service level objective - :type hardware_generation: str - :param max_backup_retention_days: Maximum Backup retention in days for the - performance tier edition - :type max_backup_retention_days: int - :param min_backup_retention_days: Minimum Backup retention in days for the - performance tier edition - :type min_backup_retention_days: int - :param max_storage_mb: Max storage allowed for a server. - :type max_storage_mb: int - :param min_storage_mb: Max storage allowed for a server. - :type min_storage_mb: int - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'edition': {'key': 'edition', 'type': 'str'}, - 'v_core': {'key': 'vCore', 'type': 'int'}, - 'hardware_generation': {'key': 'hardwareGeneration', 'type': 'str'}, - 'max_backup_retention_days': {'key': 'maxBackupRetentionDays', 'type': 'int'}, - 'min_backup_retention_days': {'key': 'minBackupRetentionDays', 'type': 'int'}, - 'max_storage_mb': {'key': 'maxStorageMB', 'type': 'int'}, - 'min_storage_mb': {'key': 'minStorageMB', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(PerformanceTierServiceLevelObjectives, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.edition = kwargs.get('edition', None) - self.v_core = kwargs.get('v_core', None) - self.hardware_generation = kwargs.get('hardware_generation', None) - self.max_backup_retention_days = kwargs.get('max_backup_retention_days', None) - self.min_backup_retention_days = kwargs.get('min_backup_retention_days', None) - self.max_storage_mb = kwargs.get('max_storage_mb', None) - self.min_storage_mb = kwargs.get('min_storage_mb', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/server.py b/src/rdbms/azext_rdbms/mysql/models/server.py deleted file mode 100644 index 116986a98b9..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/server.py +++ /dev/null @@ -1,91 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .tracked_resource import TrackedResource - - -class Server(TrackedResource): - """Represents a server. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource ID - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Required. The location the resource resides in. - :type location: str - :param tags: Application-specific metadata in the form of key-value pairs. - :type tags: dict[str, str] - :param sku: The SKU (pricing tier) of the server. - :type sku: ~azure.mgmt.rdbms.mysql.models.Sku - :param administrator_login: The administrator's login name of a server. - Can only be specified when the server is being created (and is required - for creation). - :type administrator_login: str - :param version: Server version. Possible values include: '5.6', '5.7' - :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum - :param user_visible_state: A state of a server that is visible to user. - Possible values include: 'Ready', 'Dropping', 'Disabled' - :type user_visible_state: str or - ~azure.mgmt.rdbms.mysql.models.ServerState - :param fully_qualified_domain_name: The fully qualified domain name of a - server. - :type fully_qualified_domain_name: str - :param earliest_restore_date: Earliest restore point creation time - (ISO8601 format) - :type earliest_restore_date: datetime - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'properties.sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'user_visible_state': {'key': 'properties.userVisibleState', 'type': 'str'}, - 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, - 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, - 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, - } - - def __init__(self, **kwargs): - super(Server, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.administrator_login = kwargs.get('administrator_login', None) - self.version = kwargs.get('version', None) - self.ssl_enforcement = kwargs.get('ssl_enforcement', None) - self.user_visible_state = kwargs.get('user_visible_state', None) - self.fully_qualified_domain_name = kwargs.get('fully_qualified_domain_name', None) - self.earliest_restore_date = kwargs.get('earliest_restore_date', None) - self.storage_profile = kwargs.get('storage_profile', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/server_for_create.py b/src/rdbms/azext_rdbms/mysql/models/server_for_create.py deleted file mode 100644 index 11c78dc85a9..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/server_for_create.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServerForCreate(Model): - """Represents a server to be created. - - All required parameters must be populated in order to send to Azure. - - :param sku: The SKU (pricing tier) of the server. - :type sku: ~azure.mgmt.rdbms.mysql.models.Sku - :param properties: Required. Properties of the server. - :type properties: ~azure.mgmt.rdbms.mysql.models.ServerPropertiesForCreate - :param location: Required. The location the resource resides in. - :type location: str - :param tags: Application-specific metadata in the form of key-value pairs. - :type tags: dict[str, str] - """ - - _validation = { - 'properties': {'required': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'properties': {'key': 'properties', 'type': 'ServerPropertiesForCreate'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ServerForCreate, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.properties = kwargs.get('properties', None) - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_create.py b/src/rdbms/azext_rdbms/mysql/models/server_properties_for_create.py deleted file mode 100644 index 9484fd87e32..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_create.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServerPropertiesForCreate(Model): - """The properties used to create a new server. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ServerPropertiesForDefaultCreate, - ServerPropertiesForRestore, ServerPropertiesForGeoRestore - - All required parameters must be populated in order to send to Azure. - - :param version: Server version. Possible values include: '5.6', '5.7' - :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - :param create_mode: Required. Constant filled by server. - :type create_mode: str - """ - - _validation = { - 'create_mode': {'required': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - } - - _subtype_map = { - 'create_mode': {'Default': 'ServerPropertiesForDefaultCreate', 'PointInTimeRestore': 'ServerPropertiesForRestore', 'GeoRestore': 'ServerPropertiesForGeoRestore'} - } - - def __init__(self, **kwargs): - super(ServerPropertiesForCreate, self).__init__(**kwargs) - self.version = kwargs.get('version', None) - self.ssl_enforcement = kwargs.get('ssl_enforcement', None) - self.storage_profile = kwargs.get('storage_profile', None) - self.create_mode = None diff --git a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_default_create.py b/src/rdbms/azext_rdbms/mysql/models/server_properties_for_default_create.py deleted file mode 100644 index a144a3a7a8d..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_default_create.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .server_properties_for_create import ServerPropertiesForCreate - - -class ServerPropertiesForDefaultCreate(ServerPropertiesForCreate): - """The properties used to create a new server. - - All required parameters must be populated in order to send to Azure. - - :param version: Server version. Possible values include: '5.6', '5.7' - :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - :param create_mode: Required. Constant filled by server. - :type create_mode: str - :param administrator_login: Required. The administrator's login name of a - server. Can only be specified when the server is being created (and is - required for creation). - :type administrator_login: str - :param administrator_login_password: Required. The password of the - administrator login. - :type administrator_login_password: str - """ - - _validation = { - 'create_mode': {'required': True}, - 'administrator_login': {'required': True}, - 'administrator_login_password': {'required': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'administrator_login': {'key': 'administratorLogin', 'type': 'str'}, - 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServerPropertiesForDefaultCreate, self).__init__(**kwargs) - self.administrator_login = kwargs.get('administrator_login', None) - self.administrator_login_password = kwargs.get('administrator_login_password', None) - self.create_mode = 'Default' diff --git a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_geo_restore.py b/src/rdbms/azext_rdbms/mysql/models/server_properties_for_geo_restore.py deleted file mode 100644 index 23aa70dde80..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_geo_restore.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .server_properties_for_create import ServerPropertiesForCreate - - -class ServerPropertiesForGeoRestore(ServerPropertiesForCreate): - """The properties used to create a new server by restoring to a different - region from a geo replicated backup. - - All required parameters must be populated in order to send to Azure. - - :param version: Server version. Possible values include: '5.6', '5.7' - :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - :param create_mode: Required. Constant filled by server. - :type create_mode: str - :param source_server_id: Required. The source server id to restore from. - :type source_server_id: str - """ - - _validation = { - 'create_mode': {'required': True}, - 'source_server_id': {'required': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'source_server_id': {'key': 'sourceServerId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServerPropertiesForGeoRestore, self).__init__(**kwargs) - self.source_server_id = kwargs.get('source_server_id', None) - self.create_mode = 'GeoRestore' diff --git a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_restore.py b/src/rdbms/azext_rdbms/mysql/models/server_properties_for_restore.py deleted file mode 100644 index fa08c9f36f5..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_restore.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .server_properties_for_create import ServerPropertiesForCreate - - -class ServerPropertiesForRestore(ServerPropertiesForCreate): - """The properties used to create a new server by restoring from a backup. - - All required parameters must be populated in order to send to Azure. - - :param version: Server version. Possible values include: '5.6', '5.7' - :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - :param create_mode: Required. Constant filled by server. - :type create_mode: str - :param source_server_id: Required. The source server id to restore from. - :type source_server_id: str - :param restore_point_in_time: Required. Restore point creation time - (ISO8601 format), specifying the time to restore from. - :type restore_point_in_time: datetime - """ - - _validation = { - 'create_mode': {'required': True}, - 'source_server_id': {'required': True}, - 'restore_point_in_time': {'required': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'source_server_id': {'key': 'sourceServerId', 'type': 'str'}, - 'restore_point_in_time': {'key': 'restorePointInTime', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(ServerPropertiesForRestore, self).__init__(**kwargs) - self.source_server_id = kwargs.get('source_server_id', None) - self.restore_point_in_time = kwargs.get('restore_point_in_time', None) - self.create_mode = 'PointInTimeRestore' diff --git a/src/rdbms/azext_rdbms/mysql/models/server_update_parameters.py b/src/rdbms/azext_rdbms/mysql/models/server_update_parameters.py deleted file mode 100644 index 08a3d3dbc8e..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/server_update_parameters.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServerUpdateParameters(Model): - """Parameters allowd to update for a server. - - :param sku: The SKU (pricing tier) of the server. - :type sku: ~azure.mgmt.rdbms.mysql.models.Sku - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - :param administrator_login_password: The password of the administrator - login. - :type administrator_login_password: str - :param version: The version of a server. Possible values include: '5.6', - '5.7' - :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum - :param tags: Application-specific metadata in the form of key-value pairs. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, - 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'properties.sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ServerUpdateParameters, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.storage_profile = kwargs.get('storage_profile', None) - self.administrator_login_password = kwargs.get('administrator_login_password', None) - self.version = kwargs.get('version', None) - self.ssl_enforcement = kwargs.get('ssl_enforcement', None) - self.tags = kwargs.get('tags', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/sku.py b/src/rdbms/azext_rdbms/mysql/models/sku.py deleted file mode 100644 index 968ef19a2e2..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/sku.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Sku(Model): - """Billing information related properties of a server. - - :param name: The name of the sku, typically, tier + family + cores, e.g. - B_Gen4_1, GP_Gen5_8. - :type name: str - :param tier: The tier of the particular SKU, e.g. Basic. Possible values - include: 'Basic', 'GeneralPurpose', 'MemoryOptimized' - :type tier: str or ~azure.mgmt.rdbms.mysql.models.SkuTier - :param capacity: The scale up/out capacity, representing server's compute - units. - :type capacity: int - :param size: The size code, to be interpreted by resource as appropriate. - :type size: str - :param family: The family of hardware. - :type family: str - """ - - _validation = { - 'capacity': {'minimum': 0}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - 'size': {'key': 'size', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Sku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.capacity = kwargs.get('capacity', None) - self.size = kwargs.get('size', None) - self.family = kwargs.get('family', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/storage_profile.py b/src/rdbms/azext_rdbms/mysql/models/storage_profile.py deleted file mode 100644 index c40172fb058..00000000000 --- a/src/rdbms/azext_rdbms/mysql/models/storage_profile.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StorageProfile(Model): - """Storage Profile properties of a server. - - :param backup_retention_days: Backup retention days for the server. - :type backup_retention_days: int - :param geo_redundant_backup: Enable Geo-redundant or not for server - backup. Possible values include: 'Enabled', 'Disabled' - :type geo_redundant_backup: str or - ~azure.mgmt.rdbms.mysql.models.GeoRedundantBackup - :param storage_mb: Max storage allowed for a server. - :type storage_mb: int - """ - - _attribute_map = { - 'backup_retention_days': {'key': 'backupRetentionDays', 'type': 'int'}, - 'geo_redundant_backup': {'key': 'geoRedundantBackup', 'type': 'str'}, - 'storage_mb': {'key': 'storageMB', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(StorageProfile, self).__init__(**kwargs) - self.backup_retention_days = kwargs.get('backup_retention_days', None) - self.geo_redundant_backup = kwargs.get('geo_redundant_backup', None) - self.storage_mb = kwargs.get('storage_mb', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/__init__.py b/src/rdbms/azext_rdbms/postgresql/models/__init__.py deleted file mode 100644 index 14ff84b0f76..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/__init__.py +++ /dev/null @@ -1,108 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -try: - from .proxy_resource_py3 import ProxyResource - from .tracked_resource_py3 import TrackedResource - from .storage_profile_py3 import StorageProfile - from .server_properties_for_create_py3 import ServerPropertiesForCreate - from .server_properties_for_default_create_py3 import ServerPropertiesForDefaultCreate - from .server_properties_for_restore_py3 import ServerPropertiesForRestore - from .server_properties_for_geo_restore_py3 import ServerPropertiesForGeoRestore - from .sku_py3 import Sku - from .server_py3 import Server - from .server_for_create_py3 import ServerForCreate - from .server_update_parameters_py3 import ServerUpdateParameters - from .firewall_rule_py3 import FirewallRule - from .database_py3 import Database - from .configuration_py3 import Configuration - from .operation_display_py3 import OperationDisplay - from .operation_py3 import Operation - from .operation_list_result_py3 import OperationListResult - from .log_file_py3 import LogFile - from .performance_tier_service_level_objectives_py3 import PerformanceTierServiceLevelObjectives - from .performance_tier_properties_py3 import PerformanceTierProperties - from .name_availability_request_py3 import NameAvailabilityRequest - from .name_availability_py3 import NameAvailability -except (SyntaxError, ImportError): - from .proxy_resource import ProxyResource - from .tracked_resource import TrackedResource - from .storage_profile import StorageProfile - from .server_properties_for_create import ServerPropertiesForCreate - from .server_properties_for_default_create import ServerPropertiesForDefaultCreate - from .server_properties_for_restore import ServerPropertiesForRestore - from .server_properties_for_geo_restore import ServerPropertiesForGeoRestore - from .sku import Sku - from .server import Server - from .server_for_create import ServerForCreate - from .server_update_parameters import ServerUpdateParameters - from .firewall_rule import FirewallRule - from .database import Database - from .configuration import Configuration - from .operation_display import OperationDisplay - from .operation import Operation - from .operation_list_result import OperationListResult - from .log_file import LogFile - from .performance_tier_service_level_objectives import PerformanceTierServiceLevelObjectives - from .performance_tier_properties import PerformanceTierProperties - from .name_availability_request import NameAvailabilityRequest - from .name_availability import NameAvailability -from .server_paged import ServerPaged -from .firewall_rule_paged import FirewallRulePaged -from .database_paged import DatabasePaged -from .configuration_paged import ConfigurationPaged -from .log_file_paged import LogFilePaged -from .performance_tier_properties_paged import PerformanceTierPropertiesPaged -from .postgre_sql_management_client_enums import ( - ServerVersion, - SslEnforcementEnum, - ServerState, - GeoRedundantBackup, - SkuTier, - OperationOrigin, -) - -__all__ = [ - 'ProxyResource', - 'TrackedResource', - 'StorageProfile', - 'ServerPropertiesForCreate', - 'ServerPropertiesForDefaultCreate', - 'ServerPropertiesForRestore', - 'ServerPropertiesForGeoRestore', - 'Sku', - 'Server', - 'ServerForCreate', - 'ServerUpdateParameters', - 'FirewallRule', - 'Database', - 'Configuration', - 'OperationDisplay', - 'Operation', - 'OperationListResult', - 'LogFile', - 'PerformanceTierServiceLevelObjectives', - 'PerformanceTierProperties', - 'NameAvailabilityRequest', - 'NameAvailability', - 'ServerPaged', - 'FirewallRulePaged', - 'DatabasePaged', - 'ConfigurationPaged', - 'LogFilePaged', - 'PerformanceTierPropertiesPaged', - 'ServerVersion', - 'SslEnforcementEnum', - 'ServerState', - 'GeoRedundantBackup', - 'SkuTier', - 'OperationOrigin', -] diff --git a/src/rdbms/azext_rdbms/postgresql/models/configuration.py b/src/rdbms/azext_rdbms/postgresql/models/configuration.py deleted file mode 100644 index 8d95fc4a0f2..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/configuration.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_resource import ProxyResource - - -class Configuration(ProxyResource): - """Represents a Configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param value: Value of the configuration. - :type value: str - :ivar description: Description of the configuration. - :vartype description: str - :ivar default_value: Default value of the configuration. - :vartype default_value: str - :ivar data_type: Data type of the configuration. - :vartype data_type: str - :ivar allowed_values: Allowed values of the configuration. - :vartype allowed_values: str - :param source: Source of the configuration. - :type source: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'description': {'readonly': True}, - 'default_value': {'readonly': True}, - 'data_type': {'readonly': True}, - 'allowed_values': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'value': {'key': 'properties.value', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'default_value': {'key': 'properties.defaultValue', 'type': 'str'}, - 'data_type': {'key': 'properties.dataType', 'type': 'str'}, - 'allowed_values': {'key': 'properties.allowedValues', 'type': 'str'}, - 'source': {'key': 'properties.source', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Configuration, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.description = None - self.default_value = None - self.data_type = None - self.allowed_values = None - self.source = kwargs.get('source', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/firewall_rule.py b/src/rdbms/azext_rdbms/postgresql/models/firewall_rule.py deleted file mode 100644 index af9a04f835d..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/firewall_rule.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_resource import ProxyResource - - -class FirewallRule(ProxyResource): - """Represents a server firewall rule. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource ID - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param start_ip_address: Required. The start IP address of the server - firewall rule. Must be IPv4 format. - :type start_ip_address: str - :param end_ip_address: Required. The end IP address of the server firewall - rule. Must be IPv4 format. - :type end_ip_address: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'start_ip_address': {'required': True, 'pattern': r'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'}, - 'end_ip_address': {'required': True, 'pattern': r'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'start_ip_address': {'key': 'properties.startIpAddress', 'type': 'str'}, - 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallRule, self).__init__(**kwargs) - self.start_ip_address = kwargs.get('start_ip_address', None) - self.end_ip_address = kwargs.get('end_ip_address', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/operation_py3.py b/src/rdbms/azext_rdbms/postgresql/models/operation_py3.py deleted file mode 100644 index bb0791b4a59..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/operation_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Operation(Model): - """REST API operation definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the operation being performed on this particular - object. - :vartype name: str - :ivar display: The localized display information for this particular - operation or action. - :vartype display: ~azure.mgmt.rdbms.postgresql.models.OperationDisplay - :ivar origin: The intended executor of the operation. Possible values - include: 'NotSpecified', 'user', 'system' - :vartype origin: str or - ~azure.mgmt.rdbms.postgresql.models.OperationOrigin - :ivar properties: Additional descriptions for the operation. - :vartype properties: dict[str, object] - """ - - _validation = { - 'name': {'readonly': True}, - 'display': {'readonly': True}, - 'origin': {'readonly': True}, - 'properties': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{object}'}, - } - - def __init__(self, **kwargs) -> None: - super(Operation, self).__init__(**kwargs) - self.name = None - self.display = None - self.origin = None - self.properties = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/performance_tier_properties.py b/src/rdbms/azext_rdbms/postgresql/models/performance_tier_properties.py deleted file mode 100644 index 97268d3f7c9..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/performance_tier_properties.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerformanceTierProperties(Model): - """Performance tier properties. - - :param id: ID of the performance tier. - :type id: str - :param service_level_objectives: Service level objectives associated with - the performance tier - :type service_level_objectives: - list[~azure.mgmt.rdbms.postgresql.models.PerformanceTierServiceLevelObjectives] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'service_level_objectives': {'key': 'serviceLevelObjectives', 'type': '[PerformanceTierServiceLevelObjectives]'}, - } - - def __init__(self, **kwargs): - super(PerformanceTierProperties, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.service_level_objectives = kwargs.get('service_level_objectives', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/performance_tier_service_level_objectives.py b/src/rdbms/azext_rdbms/postgresql/models/performance_tier_service_level_objectives.py deleted file mode 100644 index 4f653dc2834..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/performance_tier_service_level_objectives.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerformanceTierServiceLevelObjectives(Model): - """Service level objectives for performance tier. - - :param id: ID for the service level objective. - :type id: str - :param edition: Edition of the performance tier. - :type edition: str - :param v_core: vCore associated with the service level objective - :type v_core: int - :param hardware_generation: Hardware generation associated with the - service level objective - :type hardware_generation: str - :param max_backup_retention_days: Maximum Backup retention in days for the - performance tier edition - :type max_backup_retention_days: int - :param min_backup_retention_days: Minimum Backup retention in days for the - performance tier edition - :type min_backup_retention_days: int - :param max_storage_mb: Max storage allowed for a server. - :type max_storage_mb: int - :param min_storage_mb: Max storage allowed for a server. - :type min_storage_mb: int - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'edition': {'key': 'edition', 'type': 'str'}, - 'v_core': {'key': 'vCore', 'type': 'int'}, - 'hardware_generation': {'key': 'hardwareGeneration', 'type': 'str'}, - 'max_backup_retention_days': {'key': 'maxBackupRetentionDays', 'type': 'int'}, - 'min_backup_retention_days': {'key': 'minBackupRetentionDays', 'type': 'int'}, - 'max_storage_mb': {'key': 'maxStorageMB', 'type': 'int'}, - 'min_storage_mb': {'key': 'minStorageMB', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(PerformanceTierServiceLevelObjectives, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.edition = kwargs.get('edition', None) - self.v_core = kwargs.get('v_core', None) - self.hardware_generation = kwargs.get('hardware_generation', None) - self.max_backup_retention_days = kwargs.get('max_backup_retention_days', None) - self.min_backup_retention_days = kwargs.get('min_backup_retention_days', None) - self.max_storage_mb = kwargs.get('max_storage_mb', None) - self.min_storage_mb = kwargs.get('min_storage_mb', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/server.py b/src/rdbms/azext_rdbms/postgresql/models/server.py deleted file mode 100644 index be0aabcb6fa..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/server.py +++ /dev/null @@ -1,91 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .tracked_resource import TrackedResource - - -class Server(TrackedResource): - """Represents a server. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource ID - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Required. The location the resource resides in. - :type location: str - :param tags: Application-specific metadata in the form of key-value pairs. - :type tags: dict[str, str] - :param sku: The SKU (pricing tier) of the server. - :type sku: ~azure.mgmt.rdbms.postgresql.models.Sku - :param administrator_login: The administrator's login name of a server. - Can only be specified when the server is being created (and is required - for creation). - :type administrator_login: str - :param version: Server version. Possible values include: '9.5', '9.6' - :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum - :param user_visible_state: A state of a server that is visible to user. - Possible values include: 'Ready', 'Dropping', 'Disabled' - :type user_visible_state: str or - ~azure.mgmt.rdbms.postgresql.models.ServerState - :param fully_qualified_domain_name: The fully qualified domain name of a - server. - :type fully_qualified_domain_name: str - :param earliest_restore_date: Earliest restore point creation time - (ISO8601 format) - :type earliest_restore_date: datetime - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'properties.sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'user_visible_state': {'key': 'properties.userVisibleState', 'type': 'str'}, - 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, - 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, - 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, - } - - def __init__(self, **kwargs): - super(Server, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.administrator_login = kwargs.get('administrator_login', None) - self.version = kwargs.get('version', None) - self.ssl_enforcement = kwargs.get('ssl_enforcement', None) - self.user_visible_state = kwargs.get('user_visible_state', None) - self.fully_qualified_domain_name = kwargs.get('fully_qualified_domain_name', None) - self.earliest_restore_date = kwargs.get('earliest_restore_date', None) - self.storage_profile = kwargs.get('storage_profile', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_for_create.py b/src/rdbms/azext_rdbms/postgresql/models/server_for_create.py deleted file mode 100644 index f62cec52744..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/server_for_create.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServerForCreate(Model): - """Represents a server to be created. - - All required parameters must be populated in order to send to Azure. - - :param sku: The SKU (pricing tier) of the server. - :type sku: ~azure.mgmt.rdbms.postgresql.models.Sku - :param properties: Required. Properties of the server. - :type properties: - ~azure.mgmt.rdbms.postgresql.models.ServerPropertiesForCreate - :param location: Required. The location the resource resides in. - :type location: str - :param tags: Application-specific metadata in the form of key-value pairs. - :type tags: dict[str, str] - """ - - _validation = { - 'properties': {'required': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'properties': {'key': 'properties', 'type': 'ServerPropertiesForCreate'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ServerForCreate, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.properties = kwargs.get('properties', None) - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_create.py b/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_create.py deleted file mode 100644 index 8c9b8a45eb6..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_create.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServerPropertiesForCreate(Model): - """The properties used to create a new server. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ServerPropertiesForDefaultCreate, - ServerPropertiesForRestore, ServerPropertiesForGeoRestore - - All required parameters must be populated in order to send to Azure. - - :param version: Server version. Possible values include: '9.5', '9.6' - :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - :param create_mode: Required. Constant filled by server. - :type create_mode: str - """ - - _validation = { - 'create_mode': {'required': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - } - - _subtype_map = { - 'create_mode': {'Default': 'ServerPropertiesForDefaultCreate', 'PointInTimeRestore': 'ServerPropertiesForRestore', 'GeoRestore': 'ServerPropertiesForGeoRestore'} - } - - def __init__(self, **kwargs): - super(ServerPropertiesForCreate, self).__init__(**kwargs) - self.version = kwargs.get('version', None) - self.ssl_enforcement = kwargs.get('ssl_enforcement', None) - self.storage_profile = kwargs.get('storage_profile', None) - self.create_mode = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_default_create.py b/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_default_create.py deleted file mode 100644 index 89d145f48dc..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_default_create.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .server_properties_for_create import ServerPropertiesForCreate - - -class ServerPropertiesForDefaultCreate(ServerPropertiesForCreate): - """The properties used to create a new server. - - All required parameters must be populated in order to send to Azure. - - :param version: Server version. Possible values include: '9.5', '9.6' - :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - :param create_mode: Required. Constant filled by server. - :type create_mode: str - :param administrator_login: Required. The administrator's login name of a - server. Can only be specified when the server is being created (and is - required for creation). - :type administrator_login: str - :param administrator_login_password: Required. The password of the - administrator login. - :type administrator_login_password: str - """ - - _validation = { - 'create_mode': {'required': True}, - 'administrator_login': {'required': True}, - 'administrator_login_password': {'required': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'administrator_login': {'key': 'administratorLogin', 'type': 'str'}, - 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServerPropertiesForDefaultCreate, self).__init__(**kwargs) - self.administrator_login = kwargs.get('administrator_login', None) - self.administrator_login_password = kwargs.get('administrator_login_password', None) - self.create_mode = 'Default' diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_geo_restore.py b/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_geo_restore.py deleted file mode 100644 index ccd84f7330f..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_geo_restore.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .server_properties_for_create import ServerPropertiesForCreate - - -class ServerPropertiesForGeoRestore(ServerPropertiesForCreate): - """The properties used to create a new server by restoring to a different - region from a geo replicated backup. - - All required parameters must be populated in order to send to Azure. - - :param version: Server version. Possible values include: '9.5', '9.6' - :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - :param create_mode: Required. Constant filled by server. - :type create_mode: str - :param source_server_id: Required. The source server id to restore from. - :type source_server_id: str - """ - - _validation = { - 'create_mode': {'required': True}, - 'source_server_id': {'required': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'source_server_id': {'key': 'sourceServerId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServerPropertiesForGeoRestore, self).__init__(**kwargs) - self.source_server_id = kwargs.get('source_server_id', None) - self.create_mode = 'GeoRestore' diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_restore.py b/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_restore.py deleted file mode 100644 index 31ea1129095..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_restore.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .server_properties_for_create import ServerPropertiesForCreate - - -class ServerPropertiesForRestore(ServerPropertiesForCreate): - """The properties used to create a new server by restoring from a backup. - - All required parameters must be populated in order to send to Azure. - - :param version: Server version. Possible values include: '9.5', '9.6' - :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - :param create_mode: Required. Constant filled by server. - :type create_mode: str - :param source_server_id: Required. The source server id to restore from. - :type source_server_id: str - :param restore_point_in_time: Required. Restore point creation time - (ISO8601 format), specifying the time to restore from. - :type restore_point_in_time: datetime - """ - - _validation = { - 'create_mode': {'required': True}, - 'source_server_id': {'required': True}, - 'restore_point_in_time': {'required': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'source_server_id': {'key': 'sourceServerId', 'type': 'str'}, - 'restore_point_in_time': {'key': 'restorePointInTime', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(ServerPropertiesForRestore, self).__init__(**kwargs) - self.source_server_id = kwargs.get('source_server_id', None) - self.restore_point_in_time = kwargs.get('restore_point_in_time', None) - self.create_mode = 'PointInTimeRestore' diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_update_parameters.py b/src/rdbms/azext_rdbms/postgresql/models/server_update_parameters.py deleted file mode 100644 index f806ed2151a..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/server_update_parameters.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServerUpdateParameters(Model): - """Parameters allowd to update for a server. - - :param sku: The SKU (pricing tier) of the server. - :type sku: ~azure.mgmt.rdbms.postgresql.models.Sku - :param storage_profile: Storage profile of a server. - :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - :param administrator_login_password: The password of the administrator - login. - :type administrator_login_password: str - :param version: The version of a server. Possible values include: '9.5', - '9.6' - :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion - :param ssl_enforcement: Enable ssl enforcement or not when connect to - server. Possible values include: 'Enabled', 'Disabled' - :type ssl_enforcement: str or - ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum - :param tags: Application-specific metadata in the form of key-value pairs. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, - 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'ssl_enforcement': {'key': 'properties.sslEnforcement', 'type': 'SslEnforcementEnum'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ServerUpdateParameters, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.storage_profile = kwargs.get('storage_profile', None) - self.administrator_login_password = kwargs.get('administrator_login_password', None) - self.version = kwargs.get('version', None) - self.ssl_enforcement = kwargs.get('ssl_enforcement', None) - self.tags = kwargs.get('tags', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/sku.py b/src/rdbms/azext_rdbms/postgresql/models/sku.py deleted file mode 100644 index a2dfddd4078..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/sku.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Sku(Model): - """Billing information related properties of a server. - - :param name: The name of the sku, typically, tier + family + cores, e.g. - B_Gen4_1, GP_Gen5_8. - :type name: str - :param tier: The tier of the particular SKU, e.g. Basic. Possible values - include: 'Basic', 'GeneralPurpose', 'MemoryOptimized' - :type tier: str or ~azure.mgmt.rdbms.postgresql.models.SkuTier - :param capacity: The scale up/out capacity, representing server's compute - units. - :type capacity: int - :param size: The size code, to be interpreted by resource as appropriate. - :type size: str - :param family: The family of hardware. - :type family: str - """ - - _validation = { - 'capacity': {'minimum': 0}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - 'size': {'key': 'size', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Sku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.capacity = kwargs.get('capacity', None) - self.size = kwargs.get('size', None) - self.family = kwargs.get('family', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/storage_profile.py b/src/rdbms/azext_rdbms/postgresql/models/storage_profile.py deleted file mode 100644 index 52d2ce839cd..00000000000 --- a/src/rdbms/azext_rdbms/postgresql/models/storage_profile.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StorageProfile(Model): - """Storage Profile properties of a server. - - :param backup_retention_days: Backup retention days for the server. - :type backup_retention_days: int - :param geo_redundant_backup: Enable Geo-redundant or not for server - backup. Possible values include: 'Enabled', 'Disabled' - :type geo_redundant_backup: str or - ~azure.mgmt.rdbms.postgresql.models.GeoRedundantBackup - :param storage_mb: Max storage allowed for a server. - :type storage_mb: int - """ - - _attribute_map = { - 'backup_retention_days': {'key': 'backupRetentionDays', 'type': 'int'}, - 'geo_redundant_backup': {'key': 'geoRedundantBackup', 'type': 'str'}, - 'storage_mb': {'key': 'storageMB', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(StorageProfile, self).__init__(**kwargs) - self.backup_retention_days = kwargs.get('backup_retention_days', None) - self.geo_redundant_backup = kwargs.get('geo_redundant_backup', None) - self.storage_mb = kwargs.get('storage_mb', None) diff --git a/src/rdbms/azext_rdbms/tests/recordings/test_mysql_server_mgmt.yaml b/src/rdbms/azext_rdbms/tests/recordings/test_mysql_server_mgmt.yaml deleted file mode 100644 index 4c9c9cd6dd8..00000000000 --- a/src/rdbms/azext_rdbms/tests/recordings/test_mysql_server_mgmt.yaml +++ /dev/null @@ -1,591 +0,0 @@ -interactions: -- request: - body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-03-30T23:17:27Z"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group create] - Connection: [keep-alive] - Content-Length: ['110'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.31] - accept-language: [en-US] - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-03-30T23:17:27Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['384'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:17:31 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 201, message: Created} -- request: - body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-03-30T23:17:32Z"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group create] - Connection: [keep-alive] - Content-Length: ['110'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.31] - accept-language: [en-US] - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002?api-version=2017-05-10 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002","name":"clitest.rg000002","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-03-30T23:17:32Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['384'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:17:33 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 201, message: Created} -- request: - body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": {"backupRetentionDays": - 10, "geoRedundantBackup": "Enabled"}, "createMode": "Default", "administratorLogin": - "cloudsa", "administratorLoginPassword": "SecretPassword123"}, "location": "westus", - "tags": {"key": "1"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server create] - Connection: [keep-alive] - Content-Length: ['279'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-03-30T23:17:34.907Z"}'} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus/azureAsyncOperation/d91bee06-f753-4608-a189-b8d1c85a08bf?api-version=2017-12-01'] - cache-control: [no-cache] - content-length: ['74'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:17:34 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus/operationResults/d91bee06-f753-4608-a189-b8d1c85a08bf?api-version=2017-12-01'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server create] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus/azureAsyncOperation/d91bee06-f753-4608-a189-b8d1c85a08bf?api-version=2017-12-01 - response: - body: {string: '{"name":"d91bee06-f753-4608-a189-b8d1c85a08bf","status":"InProgress","startTime":"2018-03-30T23:17:34.907Z"}'} - headers: - cache-control: [no-cache] - content-length: ['108'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:18:35 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server create] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus/azureAsyncOperation/d91bee06-f753-4608-a189-b8d1c85a08bf?api-version=2017-12-01 - response: - body: {string: '{"name":"d91bee06-f753-4608-a189-b8d1c85a08bf","status":"InProgress","startTime":"2018-03-30T23:17:34.907Z"}'} - headers: - cache-control: [no-cache] - content-length: ['108'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:19:35 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server create] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus/azureAsyncOperation/d91bee06-f753-4608-a189-b8d1c85a08bf?api-version=2017-12-01 - response: - body: {string: '{"name":"d91bee06-f753-4608-a189-b8d1c85a08bf","status":"Succeeded","startTime":"2018-03-30T23:17:34.907Z"}'} - headers: - cache-control: [no-cache] - content-length: ['107'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:20:36 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server create] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-03-30T23:27:35.25+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"westus","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} - headers: - cache-control: [no-cache] - content-length: ['929'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:20:37 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server show] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-03-30T23:27:35.25+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"westus","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} - headers: - cache-control: [no-cache] - content-length: ['929'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:20:39 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server georestore] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-03-30T23:27:35.25+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"westus","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} - headers: - cache-control: [no-cache] - content-length: ['929'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:20:39 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: 'b''b\''{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": - {"backupRetentionDays": 20, "geoRedundantBackup": "Disabled"}, "createMode": - "GeoRestore", "sourceServerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003"}, - "location": "koreasouth"}\''''' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server georestore] - Connection: [keep-alive] - Content-Length: ['448'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers/azuredbcligeorestore000005?api-version=2017-12-01 - response: - body: {string: '{"operation":"RestoreElasticServer","startTime":"2018-03-30T23:20:41.823Z"}'} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/cb9a985e-e8ea-4c1c-9082-1901c5dcf491?api-version=2017-12-01'] - cache-control: [no-cache] - content-length: ['75'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:20:41 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/cb9a985e-e8ea-4c1c-9082-1901c5dcf491?api-version=2017-12-01'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server georestore] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/cb9a985e-e8ea-4c1c-9082-1901c5dcf491?api-version=2017-12-01 - response: - body: {string: '{"name":"cb9a985e-e8ea-4c1c-9082-1901c5dcf491","status":"Failed","startTime":"2018-03-30T23:20:41.823Z","error":{"code":"SubscriptionDoesNotHaveServer","message":"Subscription - ''707595a1-1498-4b7d-9771-cf0455939d2c'' does not have the server ''azuredbclitest000003''."}}'} - headers: - cache-control: [no-cache] - content-length: ['309'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:20:53 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server list] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers?api-version=2017-12-01 - response: - body: {string: '{"value":[{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-03-30T23:27:35.25+00:00","replicationRole":"","primaryServerId":""},"location":"westus","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}]}'} - headers: - cache-control: [no-cache] - content-length: ['917'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:20:54 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server list] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers?api-version=2017-12-01 - response: - body: {string: '{"value":[]}'} - headers: - cache-control: [no-cache] - content-length: ['12'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:20:56 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"operation":"DropElasticServer","startTime":"2018-03-30T23:20:57.7Z"}'} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus/azureAsyncOperation/f5578508-e5db-4912-aa25-34dc2f1ccea5?api-version=2017-12-01'] - cache-control: [no-cache] - content-length: ['70'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:20:57 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus/operationResults/f5578508-e5db-4912-aa25-34dc2f1ccea5?api-version=2017-12-01'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server delete] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus/azureAsyncOperation/f5578508-e5db-4912-aa25-34dc2f1ccea5?api-version=2017-12-01 - response: - body: {string: '{"name":"f5578508-e5db-4912-aa25-34dc2f1ccea5","status":"Succeeded","startTime":"2018-03-30T23:20:57.7Z"}'} - headers: - cache-control: [no-cache] - content-length: ['105'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:21:13 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers/azuredbcligeorestore000005?api-version=2017-12-01 - response: - body: {string: '{"operation":"DropElasticServer","startTime":"2018-03-30T23:21:15.477Z"}'} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/773042a7-7737-42a3-b6db-298980502ac4?api-version=2017-12-01'] - cache-control: [no-cache] - content-length: ['72'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:21:15 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/773042a7-7737-42a3-b6db-298980502ac4?api-version=2017-12-01'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server delete] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/773042a7-7737-42a3-b6db-298980502ac4?api-version=2017-12-01 - response: - body: {string: '{"name":"773042a7-7737-42a3-b6db-298980502ac4","status":"Succeeded","startTime":"2018-03-30T23:21:15.477Z"}'} - headers: - cache-control: [no-cache] - content-length: ['107'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:21:32 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server list] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers?api-version=2017-12-01 - response: - body: {string: '{"value":[]}'} - headers: - cache-control: [no-cache] - content-length: ['12'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:21:32 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [mysql server list] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers?api-version=2017-12-01 - response: - body: {string: '{"value":[]}'} - headers: - cache-control: [no-cache] - content-length: ['12'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:21:34 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.31] - accept-language: [en-US] - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002?api-version=2017-05-10 - response: - body: {string: ''} - headers: - cache-control: [no-cache] - content-length: ['0'] - date: ['Fri, 30 Mar 2018 23:21:35 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdLVlE2T0gyNzYySFMyTk9IQ1RDTVhRU1JYM05MTU40Rlk1MnxGM0U4NzQ1RDdGNUJGNDg0LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.31] - accept-language: [en-US] - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 - response: - body: {string: ''} - headers: - cache-control: [no-cache] - content-length: ['0'] - date: ['Fri, 30 Mar 2018 23:21:37 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkczWFpKRDJUWVFIR01XQVhFSVZTUEVGVEtXRklMRkRUU0RVRnw2MzYwMkVGRUJGRkFFOERCLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -version: 1 diff --git a/src/rdbms/azext_rdbms/tests/recordings/test_postgres_server_mgmt.yaml b/src/rdbms/azext_rdbms/tests/recordings/test_postgres_server_mgmt.yaml deleted file mode 100644 index 87d6b3bd747..00000000000 --- a/src/rdbms/azext_rdbms/tests/recordings/test_postgres_server_mgmt.yaml +++ /dev/null @@ -1,563 +0,0 @@ -interactions: -- request: - body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-03-30T23:21:38Z"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group create] - Connection: [keep-alive] - Content-Length: ['110'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.31] - accept-language: [en-US] - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-03-30T23:21:38Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['384'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:21:38 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 201, message: Created} -- request: - body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-03-30T23:21:39Z"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group create] - Connection: [keep-alive] - Content-Length: ['110'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.31] - accept-language: [en-US] - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002?api-version=2017-05-10 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002","name":"clitest.rg000002","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-03-30T23:21:39Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['384'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:21:41 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 201, message: Created} -- request: - body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": {"backupRetentionDays": - 10, "geoRedundantBackup": "Enabled"}, "createMode": "Default", "administratorLogin": - "cloudsa", "administratorLoginPassword": "SecretPassword123"}, "location": "westus", - "tags": {"key": "1"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server create] - Connection: [keep-alive] - Content-Length: ['279'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-03-30T23:21:43.177Z"}'} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus/azureAsyncOperation/6780f4bf-bbea-4ce7-9618-91fef6b53a9a?api-version=2017-12-01'] - cache-control: [no-cache] - content-length: ['74'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:21:43 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus/operationResults/6780f4bf-bbea-4ce7-9618-91fef6b53a9a?api-version=2017-12-01'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server create] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus/azureAsyncOperation/6780f4bf-bbea-4ce7-9618-91fef6b53a9a?api-version=2017-12-01 - response: - body: {string: '{"name":"6780f4bf-bbea-4ce7-9618-91fef6b53a9a","status":"InProgress","startTime":"2018-03-30T23:21:43.177Z"}'} - headers: - cache-control: [no-cache] - content-length: ['108'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:22:43 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server create] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus/azureAsyncOperation/6780f4bf-bbea-4ce7-9618-91fef6b53a9a?api-version=2017-12-01 - response: - body: {string: '{"name":"6780f4bf-bbea-4ce7-9618-91fef6b53a9a","status":"Succeeded","startTime":"2018-03-30T23:21:43.177Z"}'} - headers: - cache-control: [no-cache] - content-length: ['107'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:23:43 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server create] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-03-30T23:31:43.553+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"westus","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} - headers: - cache-control: [no-cache] - content-length: ['943'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:23:44 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server show] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-03-30T23:31:43.553+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"westus","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} - headers: - cache-control: [no-cache] - content-length: ['943'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:23:45 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server georestore] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-03-30T23:31:43.553+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"westus","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} - headers: - cache-control: [no-cache] - content-length: ['943'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:23:46 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: 'b''b\''{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": - {"backupRetentionDays": 20, "geoRedundantBackup": "Disabled"}, "createMode": - "GeoRestore", "sourceServerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003"}, - "location": "koreasouth"}\''''' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server georestore] - Connection: [keep-alive] - Content-Length: ['453'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers/azuredbcligeorestore000005?api-version=2017-12-01 - response: - body: {string: '{"operation":"RestoreElasticServer","startTime":"2018-03-30T23:23:49.45Z"}'} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/55fc425f-b571-4df3-81d7-723fa6528dbb?api-version=2017-12-01'] - cache-control: [no-cache] - content-length: ['74'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:23:49 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/55fc425f-b571-4df3-81d7-723fa6528dbb?api-version=2017-12-01'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server georestore] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/55fc425f-b571-4df3-81d7-723fa6528dbb?api-version=2017-12-01 - response: - body: {string: '{"name":"55fc425f-b571-4df3-81d7-723fa6528dbb","status":"Failed","startTime":"2018-03-30T23:23:49.45Z","error":{"code":"SubscriptionDoesNotHaveServer","message":"Subscription - ''707595a1-1498-4b7d-9771-cf0455939d2c'' does not have the server ''azuredbclitest000003''."}}'} - headers: - cache-control: [no-cache] - content-length: ['308'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:24:00 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server list] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers?api-version=2017-12-01 - response: - body: {string: '{"value":[{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-03-30T23:31:43.553+00:00","replicationRole":"","primaryServerId":""},"location":"westus","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}]}'} - headers: - cache-control: [no-cache] - content-length: ['931'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:24:01 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server list] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers?api-version=2017-12-01 - response: - body: {string: '{"value":[]}'} - headers: - cache-control: [no-cache] - content-length: ['12'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:24:03 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 - response: - body: {string: '{"operation":"DropElasticServer","startTime":"2018-03-30T23:24:04.897Z"}'} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus/azureAsyncOperation/95962025-2b41-4895-ae27-5965d67eb5ab?api-version=2017-12-01'] - cache-control: [no-cache] - content-length: ['72'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:24:04 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus/operationResults/95962025-2b41-4895-ae27-5965d67eb5ab?api-version=2017-12-01'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server delete] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus/azureAsyncOperation/95962025-2b41-4895-ae27-5965d67eb5ab?api-version=2017-12-01 - response: - body: {string: '{"name":"95962025-2b41-4895-ae27-5965d67eb5ab","status":"Succeeded","startTime":"2018-03-30T23:24:04.897Z"}'} - headers: - cache-control: [no-cache] - content-length: ['107'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:24:19 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers/azuredbcligeorestore000005?api-version=2017-12-01 - response: - body: {string: '{"operation":"DropElasticServer","startTime":"2018-03-30T23:24:22.89Z"}'} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/c4abd6df-dc20-4305-b2ac-537970ab82cb?api-version=2017-12-01'] - cache-control: [no-cache] - content-length: ['71'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:24:22 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/c4abd6df-dc20-4305-b2ac-537970ab82cb?api-version=2017-12-01'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server delete] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/c4abd6df-dc20-4305-b2ac-537970ab82cb?api-version=2017-12-01 - response: - body: {string: '{"name":"c4abd6df-dc20-4305-b2ac-537970ab82cb","status":"Succeeded","startTime":"2018-03-30T23:24:22.89Z"}'} - headers: - cache-control: [no-cache] - content-length: ['106'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:24:39 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-HTTPAPI/2.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server list] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers?api-version=2017-12-01 - response: - body: {string: '{"value":[]}'} - headers: - cache-control: [no-cache] - content-length: ['12'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:24:40 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [postgres server list] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers?api-version=2017-12-01 - response: - body: {string: '{"value":[]}'} - headers: - cache-control: [no-cache] - content-length: ['12'] - content-type: [application/json; charset=utf-8] - date: ['Fri, 30 Mar 2018 23:24:40 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.31] - accept-language: [en-US] - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002?api-version=2017-05-10 - response: - body: {string: ''} - headers: - cache-control: [no-cache] - content-length: ['0'] - date: ['Fri, 30 Mar 2018 23:24:41 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdYQktaTEZGMkdFUEVORUhRUlRQM0w3SlZZWURIVkpUTlFPVXxCODg4Qzc2QjEzNzU1RjY1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.24 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.31] - accept-language: [en-US] - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 - response: - body: {string: ''} - headers: - cache-control: [no-cache] - content-length: ['0'] - date: ['Fri, 30 Mar 2018 23:24:44 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdIUFVPNTRBM0JLVk9RQ1JTRkhOQU43QTJQMjU3NDc1MlY1SnxFODNGOTJBQjhCMjRCRTlBLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] - status: {code: 202, message: Accepted} -version: 1 diff --git a/src/rdbms/azext_rdbms/tests/test_rdbms_commands.py b/src/rdbms/azext_rdbms/tests/test_rdbms_commands.py deleted file mode 100644 index 60f0c41f92f..00000000000 --- a/src/rdbms/azext_rdbms/tests/test_rdbms_commands.py +++ /dev/null @@ -1,160 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from azure.cli.core.util import CLIError -from azure.cli.testsdk.base import execute -from azure.cli.testsdk.exceptions import CliTestError # pylint: disable=unused-import -from azure.cli.testsdk import ( - JMESPathCheck, - NoneCheck, - ResourceGroupPreparer, - ScenarioTest) -from azure.cli.testsdk.preparers import ( - AbstractPreparer, - SingleValueReplacer) - - -# Constants -SERVER_NAME_PREFIX = 'azuredbclitest' -SERVER_NAME_MAX_LENGTH = 63 - - -class ServerPreparer(AbstractPreparer, SingleValueReplacer): - # pylint: disable=too-many-instance-attributes - def __init__(self, engine_type='mysql', engine_parameter_name='database_engine', - name_prefix=SERVER_NAME_PREFIX, parameter_name='server', location='westus', - admin_user='cloudsa', admin_password='SecretPassword123', - resource_group_parameter_name='resource_group', skip_delete=True, - sku_name='GP_Gen5_2'): - super(ServerPreparer, self).__init__(name_prefix, SERVER_NAME_MAX_LENGTH) - from azure.cli.testsdk import TestCli - self.cli_ctx = TestCli() - self.engine_type = engine_type - self.engine_parameter_name = engine_parameter_name - self.location = location - self.parameter_name = parameter_name - self.admin_user = admin_user - self.admin_password = admin_password - self.resource_group_parameter_name = resource_group_parameter_name - self.skip_delete = skip_delete - self.sku_name = sku_name - - def create_resource(self, name, **kwargs): - group = self._get_resource_group(**kwargs) - template = 'az {} server create -l {} -g {} -n {} -u {} -p {} --sku-name {}' - execute(self.cli_ctx, template.format(self.engine_type, - self.location, - group, name, - self.admin_user, - self.admin_password, - self.sku_name)) - return {self.parameter_name: name, - self.engine_parameter_name: self.engine_type} - - def remove_resource(self, name, **kwargs): - if not self.skip_delete: - group = self._get_resource_group(**kwargs) - execute(self.cli_ctx, 'az {} server delete -g {} -n {} --yes'.format(self.engine_type, group, name)) - - def _get_resource_group(self, **kwargs): - return kwargs.get(self.resource_group_parameter_name) - - -class ServerMgmtScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(parameter_name='resource_group_1') - @ResourceGroupPreparer(parameter_name='resource_group_2') - def test_mysql_server_mgmt(self, resource_group_1, resource_group_2): - self._test_server_mgmt('mysql', resource_group_1, resource_group_2) - - @ResourceGroupPreparer(parameter_name='resource_group_1') - @ResourceGroupPreparer(parameter_name='resource_group_2') - def test_postgres_server_mgmt(self, resource_group_1, resource_group_2): - self._test_server_mgmt('postgres', resource_group_1, resource_group_2) - - def _test_server_mgmt(self, database_engine, resource_group_1, resource_group_2): - servers = [self.create_random_name(SERVER_NAME_PREFIX, SERVER_NAME_MAX_LENGTH), - self.create_random_name('azuredbclirestore', SERVER_NAME_MAX_LENGTH), - self.create_random_name('azuredbcligeorestore', SERVER_NAME_MAX_LENGTH)] - admin_login = 'cloudsa' - admin_passwords = ['SecretPassword123', 'SecretPassword456'] - edition = 'GeneralPurpose' - backupRetention = 10 - geoRedundantBackup = 'Enabled' - old_cu = 2 - family = 'Gen5' - skuname = '{}_{}_{}'.format("GP", family, old_cu) - loc = 'westus' - - geoGeoRedundantBackup = 'Disabled' - geoBackupRetention = 20 - geoloc = 'koreasouth' - - # test create server - self.cmd('{} server create -g {} --name {} -l {} ' - '--admin-user {} --admin-password {} ' - '--sku-name {} --tags key=1 --geo-redundant-backup {} ' - '--backup-retention {}' - .format(database_engine, resource_group_1, servers[0], loc, - admin_login, admin_passwords[0], skuname, - geoRedundantBackup, backupRetention), - checks=[ - JMESPathCheck('name', servers[0]), - JMESPathCheck('resourceGroup', resource_group_1), - JMESPathCheck('administratorLogin', admin_login), - JMESPathCheck('sslEnforcement', 'Enabled'), - JMESPathCheck('tags.key', '1'), - JMESPathCheck('sku.capacity', old_cu), - JMESPathCheck('sku.tier', edition), - JMESPathCheck('storageProfile.backupRetentionDays', backupRetention), - JMESPathCheck('storageProfile.geoRedundantBackup', geoRedundantBackup)]) - - # test show server - result = self.cmd('{} server show -g {} --name {}' - .format(database_engine, resource_group_1, servers[0]), - checks=[ - JMESPathCheck('name', servers[0]), - JMESPathCheck('resourceGroup', resource_group_1), - JMESPathCheck('administratorLogin', admin_login), - JMESPathCheck('sslEnforcement', 'Enabled'), - JMESPathCheck('tags.key', '1'), - JMESPathCheck('sku.capacity', old_cu), - JMESPathCheck('sku.tier', edition), - JMESPathCheck('storageProfile.backupRetentionDays', backupRetention), - JMESPathCheck('storageProfile.geoRedundantBackup', geoRedundantBackup)]).get_output_in_json() # pylint: disable=line-too-long - - # test georestore server - with self.assertRaises(CLIError) as exception: - self.cmd('{} server georestore -g {} --name {} --source-server {} -l {} ' - '--geo-redundant-backup {} --backup-retention {}' - .format(database_engine, resource_group_2, servers[2], result['id'], - geoloc, geoGeoRedundantBackup, geoBackupRetention), - checks=[ - JMESPathCheck('name', servers[2]), - JMESPathCheck('resourceGroup', resource_group_2), - JMESPathCheck('sku.tier', edition), - JMESPathCheck('administratorLogin', admin_login), - JMESPathCheck('location', geoloc), - JMESPathCheck('storageProfile.backupRetentionDays', geoBackupRetention), - JMESPathCheck('storageProfile.geoRedundantBackup', geoGeoRedundantBackup)]) - self.assertTrue(' does not have the server ' in '{}'.format(exception.exception)) - - # test list servers - self.cmd('{} server list -g {}'.format(database_engine, resource_group_1), - checks=[JMESPathCheck('type(@)', 'array')]) - - self.cmd('{} server list -g {}'.format(database_engine, resource_group_2), - checks=[JMESPathCheck('type(@)', 'array')]) - - # test delete server - self.cmd('{} server delete -g {} --name {} --yes' - .format(database_engine, resource_group_1, servers[0]), checks=NoneCheck()) - - self.cmd('{} server delete -g {} --name {} --yes' - .format(database_engine, resource_group_2, servers[2]), checks=NoneCheck()) - - # test list server should be 0 - self.cmd('{} server list -g {}'.format(database_engine, resource_group_1), checks=[NoneCheck()]) - self.cmd('{} server list -g {}'.format(database_engine, resource_group_2), checks=[NoneCheck()]) diff --git a/src/rdbms/azext_rdbms/__init__.py b/src/rdbms_vnet/azext_rdbms_vnet/__init__.py similarity index 81% rename from src/rdbms/azext_rdbms/__init__.py rename to src/rdbms_vnet/azext_rdbms_vnet/__init__.py index 3adcf43957e..8781e2cabdd 100644 --- a/src/rdbms/azext_rdbms/__init__.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/__init__.py @@ -5,27 +5,27 @@ from azure.cli.core import AzCommandsLoader -import azext_rdbms._help # pylint: disable=unused-import +import azext_rdbms_vnet._help # pylint: disable=unused-import class RdbmsExtCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - from azext_rdbms._util import RdbmsArgumentContext - rdbms_custom = CliCommandType(operations_tmpl='azext_rdbms.custom#{}') + from azext_rdbms_vnet._util import RdbmsArgumentContext + rdbms_custom = CliCommandType(operations_tmpl='azext_rdbms_vnet.custom#{}') super(RdbmsExtCommandsLoader, self).__init__(cli_ctx=cli_ctx, min_profile='2017-03-10-profile', custom_command_type=rdbms_custom, argument_context_cls=RdbmsArgumentContext) def load_command_table(self, args): - from azext_rdbms.commands import load_command_table + from azext_rdbms_vnet.commands import load_command_table load_command_table(self, args) return self.command_table def load_arguments(self, command): - from azext_rdbms._params import load_arguments + from azext_rdbms_vnet._params import load_arguments load_arguments(self, command) diff --git a/src/rdbms/azext_rdbms/_client_factory.py b/src/rdbms_vnet/azext_rdbms_vnet/_client_factory.py similarity index 71% rename from src/rdbms/azext_rdbms/_client_factory.py rename to src/rdbms_vnet/azext_rdbms_vnet/_client_factory.py index f9c244243e9..7b07a149c80 100644 --- a/src/rdbms/azext_rdbms/_client_factory.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/_client_factory.py @@ -16,7 +16,7 @@ def get_mysql_management_client(cli_ctx, **_): from os import getenv - from azext_rdbms.mysql import MySQLManagementClient + from azext_rdbms_vnet.mysql import MySQLManagementClient # Allow overriding resource manager URI using environment variable # for testing purposes. Subscription id is also determined by environment @@ -45,7 +45,7 @@ def get_mysql_management_client(cli_ctx, **_): def get_postgresql_management_client(cli_ctx, **_): from os import getenv - from azext_rdbms.postgresql import PostgreSQLManagementClient + from azext_rdbms_vnet.postgresql import PostgreSQLManagementClient # Allow overriding resource manager URI using environment variable # for testing purposes. Subscription id is also determined by environment @@ -72,41 +72,9 @@ def get_postgresql_management_client(cli_ctx, **_): return get_mgmt_service_client(cli_ctx, PostgreSQLManagementClient) -def cf_mysql_servers(cli_ctx, _): - return get_mysql_management_client(cli_ctx).servers +def cf_mysql_virtual_network_rules_operations(cli_ctx, _): + return get_mysql_management_client(cli_ctx).virtual_network_rules -def cf_postgres_servers(cli_ctx, _): - return get_postgresql_management_client(cli_ctx).servers - - -def cf_mysql_firewall_rules(cli_ctx, _): - return get_mysql_management_client(cli_ctx).firewall_rules - - -def cf_postgres_firewall_rules(cli_ctx, _): - return get_postgresql_management_client(cli_ctx).firewall_rules - - -def cf_mysql_config(cli_ctx, _): - return get_mysql_management_client(cli_ctx).configurations - - -def cf_postgres_config(cli_ctx, _): - return get_postgresql_management_client(cli_ctx).configurations - - -def cf_mysql_log(cli_ctx, _): - return get_mysql_management_client(cli_ctx).log_files - - -def cf_postgres_log(cli_ctx, _): - return get_postgresql_management_client(cli_ctx).log_files - - -def cf_mysql_db(cli_ctx, _): - return get_mysql_management_client(cli_ctx).databases - - -def cf_postgres_db(cli_ctx, _): - return get_postgresql_management_client(cli_ctx).databases +def cf_postgres_virtual_network_rules_operations(cli_ctx, _): + return get_postgresql_management_client(cli_ctx).virtual_network_rules diff --git a/src/rdbms_vnet/azext_rdbms_vnet/_help.py b/src/rdbms_vnet/azext_rdbms_vnet/_help.py new file mode 100644 index 00000000000..e5ffbf40ef7 --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/_help.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps + +# pylint: disable=line-too-long + + +def add_helps(command_group, server_type): + helps['{} server vnet-rule'.format(command_group)] = """ + type: group + short-summary: Manage a server's virtual network rules. + """ + helps['{} server vnet-rule update'.format(command_group)] = """ + type: command + short-summary: Update a virtual network rule. + """ + helps['{} server vnet-rule create'.format(command_group)] = """ + type: command + short-summary: Create a virtual network rule to allows access to a {} server. + examples: + - name: Create a virtual network rule by providing the subnet id. + text: az {} server vnet-rule create -g testgroup -s testsvr -n vnetRuleName --subnet /subscriptions/{{SubID}}/resourceGroups/{{ResourceGroup}}/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/subnetName + - name: Create a vnet rule by providing the vnet and subnet name. The subnet id is created by taking the resource group name and subscription id of the server. + text: az {} server vnet-rule create -g testgroup -s testsvr -n vnetRuleName --subnet subnetName --vnet-name vnetName + """.format(server_type, command_group, command_group) + + +add_helps("mysql", "MySQL") +add_helps("postgres", "PostgreSQL") diff --git a/src/rdbms_vnet/azext_rdbms_vnet/_params.py b/src/rdbms_vnet/azext_rdbms_vnet/_params.py new file mode 100644 index 00000000000..e4378b1e297 --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/_params.py @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long + +from azure.cli.core.commands.parameters import get_three_state_flag # pylint: disable=line-too-long +from azure.cli.command_modules.sql._validators import validate_subnet + + +def load_arguments(self, _): # pylint: disable=too-many-statements + + for scope in ['mysql server vnet-rule', 'postgres server vnet-rule']: + with self.argument_context(scope) as c: + c.argument('server_name', options_list=['--server-name', '-s']) + c.argument('virtual_network_rule_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the vnet rule.') + c.argument('virtual_network_subnet_id', options_list=['--subnet'], help='Name or ID of the subnet that allows access to an Azure Postgres Server. If subnet name is provided, --vnet-name must be provided.') + c.argument('ignore_missing_vnet_service_endpoint', options_list=['--ignore-missing-endpoint', '-i'], help='Create vnet rule before virtual network has vnet service endpoint enabled', arg_type=get_three_state_flag()) + + with self.argument_context('postgres server vnet-rule create') as c: + c.extra('vnet_name', options_list=['--vnet-name'], help='The virtual network name', validator=validate_subnet) + + with self.argument_context('postgres server vnet-rule update') as c: + c.extra('vnet_name', options_list=['--vnet-name'], help='The virtual network name', validator=validate_subnet) + + with self.argument_context('mysql server vnet-rule create') as c: + c.extra('vnet_name', options_list=['--vnet-name'], help='The virtual network name', validator=validate_subnet) + + with self.argument_context('mysql server vnet-rule update') as c: + c.extra('vnet_name', options_list=['--vnet-name'], help='The virtual network name', validator=validate_subnet) diff --git a/src/rdbms/azext_rdbms/_util.py b/src/rdbms_vnet/azext_rdbms_vnet/_util.py similarity index 100% rename from src/rdbms/azext_rdbms/_util.py rename to src/rdbms_vnet/azext_rdbms_vnet/_util.py diff --git a/src/rdbms_vnet/azext_rdbms_vnet/azext_metadata.json b/src/rdbms_vnet/azext_rdbms_vnet/azext_metadata.json new file mode 100644 index 00000000000..7f7f4a76ebd --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/azext_metadata.json @@ -0,0 +1,3 @@ +{ + "azext.minCliCoreVersion": "2.0.24" +} \ No newline at end of file diff --git a/src/rdbms_vnet/azext_rdbms_vnet/commands.py b/src/rdbms_vnet/azext_rdbms_vnet/commands.py new file mode 100644 index 00000000000..ce76cd0c017 --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/commands.py @@ -0,0 +1,44 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + +from azext_rdbms_vnet._client_factory import ( + cf_mysql_virtual_network_rules_operations, + cf_postgres_virtual_network_rules_operations) + + +# pylint: disable=too-many-locals, too-many-statements, line-too-long +def load_command_table(self, _): + + rdbms_custom = CliCommandType(operations_tmpl='azext_rdbms_vnet.custom#{}') + + mysql_vnet_sdk = CliCommandType( + operations_tmpl='azext_rdbms_vnet.mysql.operations.virtual_network_rules_operations#VirtualNetworkRulesOperations.{}', + client_arg_name='self', + client_factory=cf_mysql_virtual_network_rules_operations + ) + + postgres_vnet_sdk = CliCommandType( + operations_tmpl='azext_rdbms_vnet.postgresql.operations.virtual_network_rules_operations#VirtualNetworkRulesOperations.{}', + client_arg_name='self', + client_factory=cf_postgres_virtual_network_rules_operations + ) + with self.command_group('mysql server vnet-rule', mysql_vnet_sdk) as g: + g.command('create', 'create_or_update') + g.command('delete', 'delete', confirmation=True) + g.command('show', 'get') + g.command('list', 'list_by_server') + g.generic_update_command('update', getter_name='_custom_vnet_update_get', getter_type=rdbms_custom, + setter_name='_custom_vnet_update_set', setter_type=rdbms_custom, setter_arg_name='parameters') + + with self.command_group('postgres server vnet-rule', postgres_vnet_sdk) as g: + g.command('create', 'create_or_update') + g.command('delete', 'delete', confirmation=True) + g.command('show', 'get') + g.command('list', 'list_by_server') + g.generic_update_command('update', + getter_name='_custom_vnet_update_get', getter_type=rdbms_custom, + setter_name='_custom_vnet_update_set', setter_type=rdbms_custom, setter_arg_name='parameters') diff --git a/src/rdbms_vnet/azext_rdbms_vnet/custom.py b/src/rdbms_vnet/azext_rdbms_vnet/custom.py new file mode 100644 index 00000000000..7d6dec72283 --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/custom.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def _custom_vnet_update_get(client, resource_group_name, server_name, virtual_network_rule_name): + return client.get(resource_group_name, server_name, virtual_network_rule_name) + + +def _custom_vnet_update_set(client, resource_group_name, server_name, virtual_network_rule_name, + virtual_network_subnet_id, + ignore_missing_vnet_service_endpoint=None): + return client.create_or_update(resource_group_name, server_name, + virtual_network_rule_name, virtual_network_subnet_id, + ignore_missing_vnet_service_endpoint) diff --git a/src/rdbms/azext_rdbms/mysql/__init__.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/__init__.py similarity index 99% rename from src/rdbms/azext_rdbms/mysql/__init__.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/__init__.py index 64d65048414..624450eee2f 100644 --- a/src/rdbms/azext_rdbms/mysql/__init__.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/__init__.py @@ -15,3 +15,4 @@ __all__ = ['MySQLManagementClient'] __version__ = VERSION + diff --git a/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/__init__.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/__init__.py new file mode 100644 index 00000000000..de3ca6004ad --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/__init__.py @@ -0,0 +1,90 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource +from .tracked_resource import TrackedResource +from .storage_profile import StorageProfile +from .server_properties_for_create import ServerPropertiesForCreate +from .server_properties_for_default_create import ServerPropertiesForDefaultCreate +from .server_properties_for_restore import ServerPropertiesForRestore +from .server_properties_for_geo_restore import ServerPropertiesForGeoRestore +from .sku import Sku +from .server import Server +from .server_for_create import ServerForCreate +from .server_update_parameters import ServerUpdateParameters +from .firewall_rule import FirewallRule +from .virtual_network_rule import VirtualNetworkRule +from .database import Database +from .configuration import Configuration +from .operation_display import OperationDisplay +from .operation import Operation +from .operation_list_result import OperationListResult +from .log_file import LogFile +from .performance_tier_service_level_objectives import PerformanceTierServiceLevelObjectives +from .performance_tier_properties import PerformanceTierProperties +from .name_availability_request import NameAvailabilityRequest +from .name_availability import NameAvailability +from .server_paged import ServerPaged +from .firewall_rule_paged import FirewallRulePaged +from .virtual_network_rule_paged import VirtualNetworkRulePaged +from .database_paged import DatabasePaged +from .configuration_paged import ConfigurationPaged +from .log_file_paged import LogFilePaged +from .performance_tier_properties_paged import PerformanceTierPropertiesPaged +from .my_sql_management_client_enums import ( + ServerVersion, + SslEnforcementEnum, + ServerState, + GeoRedundantBackup, + SkuTier, + VirtualNetworkRuleState, + OperationOrigin, +) + +__all__ = [ + 'ProxyResource', + 'TrackedResource', + 'StorageProfile', + 'ServerPropertiesForCreate', + 'ServerPropertiesForDefaultCreate', + 'ServerPropertiesForRestore', + 'ServerPropertiesForGeoRestore', + 'Sku', + 'Server', + 'ServerForCreate', + 'ServerUpdateParameters', + 'FirewallRule', + 'VirtualNetworkRule', + 'Database', + 'Configuration', + 'OperationDisplay', + 'Operation', + 'OperationListResult', + 'LogFile', + 'PerformanceTierServiceLevelObjectives', + 'PerformanceTierProperties', + 'NameAvailabilityRequest', + 'NameAvailability', + 'ServerPaged', + 'FirewallRulePaged', + 'VirtualNetworkRulePaged', + 'DatabasePaged', + 'ConfigurationPaged', + 'LogFilePaged', + 'PerformanceTierPropertiesPaged', + 'ServerVersion', + 'SslEnforcementEnum', + 'ServerState', + 'GeoRedundantBackup', + 'SkuTier', + 'VirtualNetworkRuleState', + 'OperationOrigin', +] diff --git a/src/rdbms/azext_rdbms/mysql/models/configuration_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/configuration.py similarity index 94% rename from src/rdbms/azext_rdbms/mysql/models/configuration_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/configuration.py index 9ad3350cf61..958b4df2237 100644 --- a/src/rdbms/azext_rdbms/mysql/models/configuration_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/configuration.py @@ -60,8 +60,8 @@ class Configuration(ProxyResource): 'source': {'key': 'properties.source', 'type': 'str'}, } - def __init__(self, *, value: str=None, source: str=None, **kwargs) -> None: - super(Configuration, self).__init__(, **kwargs) + def __init__(self, value=None, source=None): + super(Configuration, self).__init__() self.value = value self.description = None self.default_value = None diff --git a/src/rdbms/azext_rdbms/mysql/models/configuration_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/configuration_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/models/configuration_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/configuration_paged.py diff --git a/src/rdbms/azext_rdbms/mysql/models/database_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/database.py similarity index 91% rename from src/rdbms/azext_rdbms/mysql/models/database_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/database.py index e7880e928d6..f4e129302c9 100644 --- a/src/rdbms/azext_rdbms/mysql/models/database_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/database.py @@ -44,7 +44,7 @@ class Database(ProxyResource): 'collation': {'key': 'properties.collation', 'type': 'str'}, } - def __init__(self, *, charset: str=None, collation: str=None, **kwargs) -> None: - super(Database, self).__init__(, **kwargs) + def __init__(self, charset=None, collation=None): + super(Database, self).__init__() self.charset = charset self.collation = collation diff --git a/src/rdbms/azext_rdbms/mysql/models/database_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/database_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/models/database_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/database_paged.py diff --git a/src/rdbms/azext_rdbms/postgresql/models/firewall_rule_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/firewall_rule.py similarity index 80% rename from src/rdbms/azext_rdbms/postgresql/models/firewall_rule_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/firewall_rule.py index 2891333362d..ed7b9c13a02 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/firewall_rule_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/firewall_rule.py @@ -18,19 +18,17 @@ class FirewallRule(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - :ivar id: Resource ID :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param start_ip_address: Required. The start IP address of the server - firewall rule. Must be IPv4 format. + :param start_ip_address: The start IP address of the server firewall rule. + Must be IPv4 format. :type start_ip_address: str - :param end_ip_address: Required. The end IP address of the server firewall - rule. Must be IPv4 format. + :param end_ip_address: The end IP address of the server firewall rule. + Must be IPv4 format. :type end_ip_address: str """ @@ -50,7 +48,7 @@ class FirewallRule(ProxyResource): 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, } - def __init__(self, *, start_ip_address: str, end_ip_address: str, **kwargs) -> None: - super(FirewallRule, self).__init__(, **kwargs) + def __init__(self, start_ip_address, end_ip_address): + super(FirewallRule, self).__init__() self.start_ip_address = start_ip_address self.end_ip_address = end_ip_address diff --git a/src/rdbms/azext_rdbms/mysql/models/firewall_rule_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/firewall_rule_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/models/firewall_rule_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/firewall_rule_paged.py diff --git a/src/rdbms/azext_rdbms/mysql/models/log_file_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/log_file.py similarity index 93% rename from src/rdbms/azext_rdbms/mysql/models/log_file_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/log_file.py index 060afec5668..56ba143dae2 100644 --- a/src/rdbms/azext_rdbms/mysql/models/log_file_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/log_file.py @@ -55,8 +55,8 @@ class LogFile(ProxyResource): 'url': {'key': 'properties.url', 'type': 'str'}, } - def __init__(self, *, size_in_kb: int=None, log_file_type: str=None, url: str=None, **kwargs) -> None: - super(LogFile, self).__init__(, **kwargs) + def __init__(self, size_in_kb=None, log_file_type=None, url=None): + super(LogFile, self).__init__() self.size_in_kb = size_in_kb self.created_time = None self.last_modified_time = None diff --git a/src/rdbms/azext_rdbms/mysql/models/log_file_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/log_file_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/models/log_file_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/log_file_paged.py diff --git a/src/rdbms/azext_rdbms/mysql/models/my_sql_management_client_enums.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/my_sql_management_client_enums.py similarity index 73% rename from src/rdbms/azext_rdbms/mysql/models/my_sql_management_client_enums.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/my_sql_management_client_enums.py index ec49c1bde64..05295d49fe6 100644 --- a/src/rdbms/azext_rdbms/mysql/models/my_sql_management_client_enums.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/my_sql_management_client_enums.py @@ -12,39 +12,48 @@ from enum import Enum -class ServerVersion(str, Enum): +class ServerVersion(Enum): five_full_stop_six = "5.6" five_full_stop_seven = "5.7" -class SslEnforcementEnum(str, Enum): +class SslEnforcementEnum(Enum): enabled = "Enabled" disabled = "Disabled" -class ServerState(str, Enum): +class ServerState(Enum): ready = "Ready" dropping = "Dropping" disabled = "Disabled" -class GeoRedundantBackup(str, Enum): +class GeoRedundantBackup(Enum): enabled = "Enabled" disabled = "Disabled" -class SkuTier(str, Enum): +class SkuTier(Enum): basic = "Basic" general_purpose = "GeneralPurpose" memory_optimized = "MemoryOptimized" -class OperationOrigin(str, Enum): +class VirtualNetworkRuleState(Enum): + + initializing = "Initializing" + in_progress = "InProgress" + ready = "Ready" + deleting = "Deleting" + unknown = "Unknown" + + +class OperationOrigin(Enum): not_specified = "NotSpecified" user = "user" diff --git a/src/rdbms/azext_rdbms/postgresql/models/name_availability_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/name_availability.py similarity index 87% rename from src/rdbms/azext_rdbms/postgresql/models/name_availability_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/name_availability.py index f7b52a09e29..b7759d8d472 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/name_availability_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/name_availability.py @@ -29,8 +29,8 @@ class NameAvailability(Model): 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self, *, message: str=None, name_available: bool=None, reason: str=None, **kwargs) -> None: - super(NameAvailability, self).__init__(**kwargs) + def __init__(self, message=None, name_available=None, reason=None): + super(NameAvailability, self).__init__() self.message = message self.name_available = name_available self.reason = reason diff --git a/src/rdbms/azext_rdbms/postgresql/models/name_availability_request_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/name_availability_request.py similarity index 78% rename from src/rdbms/azext_rdbms/postgresql/models/name_availability_request_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/name_availability_request.py index ec45bb2e473..715b87ea367 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/name_availability_request_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/name_availability_request.py @@ -15,9 +15,7 @@ class NameAvailabilityRequest(Model): """Request from client to check resource name availability. - All required parameters must be populated in order to send to Azure. - - :param name: Required. Resource name to verify. + :param name: Resource name to verify. :type name: str :param type: Resource type used for verification. :type type: str @@ -32,7 +30,7 @@ class NameAvailabilityRequest(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, *, name: str, type: str=None, **kwargs) -> None: - super(NameAvailabilityRequest, self).__init__(**kwargs) + def __init__(self, name, type=None): + super(NameAvailabilityRequest, self).__init__() self.name = name self.type = type diff --git a/src/rdbms/azext_rdbms/mysql/models/operation.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/operation.py similarity index 95% rename from src/rdbms/azext_rdbms/mysql/models/operation.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/operation.py index dfd48f5fa19..d177c6129f3 100644 --- a/src/rdbms/azext_rdbms/mysql/models/operation.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/operation.py @@ -45,8 +45,8 @@ class Operation(Model): 'properties': {'key': 'properties', 'type': '{object}'}, } - def __init__(self, **kwargs): - super(Operation, self).__init__(**kwargs) + def __init__(self): + super(Operation, self).__init__() self.name = None self.display = None self.origin = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/operation_display.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/operation_display.py similarity index 94% rename from src/rdbms/azext_rdbms/postgresql/models/operation_display.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/operation_display.py index 98314a2871d..66b7f736d29 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/operation_display.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/operation_display.py @@ -42,8 +42,8 @@ class OperationDisplay(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): - super(OperationDisplay, self).__init__(**kwargs) + def __init__(self): + super(OperationDisplay, self).__init__() self.provider = None self.resource = None self.operation = None diff --git a/src/rdbms/azext_rdbms/mysql/models/operation_list_result_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/operation_list_result.py similarity index 87% rename from src/rdbms/azext_rdbms/mysql/models/operation_list_result_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/operation_list_result.py index d90867e62f9..55da5a63aa3 100644 --- a/src/rdbms/azext_rdbms/mysql/models/operation_list_result_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/operation_list_result.py @@ -23,6 +23,6 @@ class OperationListResult(Model): 'value': {'key': 'value', 'type': '[Operation]'}, } - def __init__(self, *, value=None, **kwargs) -> None: - super(OperationListResult, self).__init__(**kwargs) + def __init__(self, value=None): + super(OperationListResult, self).__init__() self.value = value diff --git a/src/rdbms/azext_rdbms/mysql/models/performance_tier_properties_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/performance_tier_properties.py similarity index 88% rename from src/rdbms/azext_rdbms/mysql/models/performance_tier_properties_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/performance_tier_properties.py index b75517b4945..dd50ed653f8 100644 --- a/src/rdbms/azext_rdbms/mysql/models/performance_tier_properties_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/performance_tier_properties.py @@ -28,7 +28,7 @@ class PerformanceTierProperties(Model): 'service_level_objectives': {'key': 'serviceLevelObjectives', 'type': '[PerformanceTierServiceLevelObjectives]'}, } - def __init__(self, *, id: str=None, service_level_objectives=None, **kwargs) -> None: - super(PerformanceTierProperties, self).__init__(**kwargs) + def __init__(self, id=None, service_level_objectives=None): + super(PerformanceTierProperties, self).__init__() self.id = id self.service_level_objectives = service_level_objectives diff --git a/src/rdbms/azext_rdbms/mysql/models/performance_tier_properties_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/performance_tier_properties_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/models/performance_tier_properties_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/performance_tier_properties_paged.py diff --git a/src/rdbms/azext_rdbms/postgresql/models/performance_tier_service_level_objectives_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/performance_tier_service_level_objectives.py similarity index 90% rename from src/rdbms/azext_rdbms/postgresql/models/performance_tier_service_level_objectives_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/performance_tier_service_level_objectives.py index 083e4720ab4..08541b20c60 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/performance_tier_service_level_objectives_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/performance_tier_service_level_objectives.py @@ -47,8 +47,8 @@ class PerformanceTierServiceLevelObjectives(Model): 'min_storage_mb': {'key': 'minStorageMB', 'type': 'int'}, } - def __init__(self, *, id: str=None, edition: str=None, v_core: int=None, hardware_generation: str=None, max_backup_retention_days: int=None, min_backup_retention_days: int=None, max_storage_mb: int=None, min_storage_mb: int=None, **kwargs) -> None: - super(PerformanceTierServiceLevelObjectives, self).__init__(**kwargs) + def __init__(self, id=None, edition=None, v_core=None, hardware_generation=None, max_backup_retention_days=None, min_backup_retention_days=None, max_storage_mb=None, min_storage_mb=None): + super(PerformanceTierServiceLevelObjectives, self).__init__() self.id = id self.edition = edition self.v_core = v_core diff --git a/src/rdbms/azext_rdbms/mysql/models/proxy_resource.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/proxy_resource.py similarity index 93% rename from src/rdbms/azext_rdbms/mysql/models/proxy_resource.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/proxy_resource.py index 1223f4670fe..b982916c5e5 100644 --- a/src/rdbms/azext_rdbms/mysql/models/proxy_resource.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/proxy_resource.py @@ -38,8 +38,8 @@ class ProxyResource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): - super(ProxyResource, self).__init__(**kwargs) + def __init__(self): + super(ProxyResource, self).__init__() self.id = None self.name = None self.type = None diff --git a/src/rdbms/azext_rdbms/mysql/models/server_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server.py similarity index 90% rename from src/rdbms/azext_rdbms/mysql/models/server_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server.py index c31b74ba064..46e114056c5 100644 --- a/src/rdbms/azext_rdbms/mysql/models/server_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server.py @@ -18,15 +18,13 @@ class Server(TrackedResource): Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - :ivar id: Resource ID :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param location: Required. The location the resource resides in. + :param location: The location the resource resides in. :type location: str :param tags: Application-specific metadata in the form of key-value pairs. :type tags: dict[str, str] @@ -79,8 +77,8 @@ class Server(TrackedResource): 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, } - def __init__(self, *, location: str, tags=None, sku=None, administrator_login: str=None, version=None, ssl_enforcement=None, user_visible_state=None, fully_qualified_domain_name: str=None, earliest_restore_date=None, storage_profile=None, **kwargs) -> None: - super(Server, self).__init__(location=location, tags=tags, **kwargs) + def __init__(self, location, tags=None, sku=None, administrator_login=None, version=None, ssl_enforcement=None, user_visible_state=None, fully_qualified_domain_name=None, earliest_restore_date=None, storage_profile=None): + super(Server, self).__init__(location=location, tags=tags) self.sku = sku self.administrator_login = administrator_login self.version = version diff --git a/src/rdbms/azext_rdbms/mysql/models/server_for_create_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_for_create.py similarity index 80% rename from src/rdbms/azext_rdbms/mysql/models/server_for_create_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_for_create.py index 485e9433b9d..2de6f910be1 100644 --- a/src/rdbms/azext_rdbms/mysql/models/server_for_create_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_for_create.py @@ -15,13 +15,11 @@ class ServerForCreate(Model): """Represents a server to be created. - All required parameters must be populated in order to send to Azure. - :param sku: The SKU (pricing tier) of the server. :type sku: ~azure.mgmt.rdbms.mysql.models.Sku - :param properties: Required. Properties of the server. + :param properties: Properties of the server. :type properties: ~azure.mgmt.rdbms.mysql.models.ServerPropertiesForCreate - :param location: Required. The location the resource resides in. + :param location: The location the resource resides in. :type location: str :param tags: Application-specific metadata in the form of key-value pairs. :type tags: dict[str, str] @@ -39,8 +37,8 @@ class ServerForCreate(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, properties, location: str, sku=None, tags=None, **kwargs) -> None: - super(ServerForCreate, self).__init__(**kwargs) + def __init__(self, properties, location, sku=None, tags=None): + super(ServerForCreate, self).__init__() self.sku = sku self.properties = properties self.location = location diff --git a/src/rdbms/azext_rdbms/mysql/models/server_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/models/server_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_paged.py diff --git a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_create_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_create.py similarity index 87% rename from src/rdbms/azext_rdbms/mysql/models/server_properties_for_create_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_create.py index 99460d06ef3..fb22126068f 100644 --- a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_create_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_create.py @@ -19,8 +19,6 @@ class ServerPropertiesForCreate(Model): sub-classes are: ServerPropertiesForDefaultCreate, ServerPropertiesForRestore, ServerPropertiesForGeoRestore - All required parameters must be populated in order to send to Azure. - :param version: Server version. Possible values include: '5.6', '5.7' :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion :param ssl_enforcement: Enable ssl enforcement or not when connect to @@ -29,7 +27,7 @@ class ServerPropertiesForCreate(Model): ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum :param storage_profile: Storage profile of a server. :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - :param create_mode: Required. Constant filled by server. + :param create_mode: Constant filled by server. :type create_mode: str """ @@ -48,8 +46,8 @@ class ServerPropertiesForCreate(Model): 'create_mode': {'Default': 'ServerPropertiesForDefaultCreate', 'PointInTimeRestore': 'ServerPropertiesForRestore', 'GeoRestore': 'ServerPropertiesForGeoRestore'} } - def __init__(self, *, version=None, ssl_enforcement=None, storage_profile=None, **kwargs) -> None: - super(ServerPropertiesForCreate, self).__init__(**kwargs) + def __init__(self, version=None, ssl_enforcement=None, storage_profile=None): + super(ServerPropertiesForCreate, self).__init__() self.version = version self.ssl_enforcement = ssl_enforcement self.storage_profile = storage_profile diff --git a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_default_create_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_default_create.py similarity index 78% rename from src/rdbms/azext_rdbms/mysql/models/server_properties_for_default_create_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_default_create.py index 96215514555..5421c3059e4 100644 --- a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_default_create_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_default_create.py @@ -15,8 +15,6 @@ class ServerPropertiesForDefaultCreate(ServerPropertiesForCreate): """The properties used to create a new server. - All required parameters must be populated in order to send to Azure. - :param version: Server version. Possible values include: '5.6', '5.7' :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion :param ssl_enforcement: Enable ssl enforcement or not when connect to @@ -25,14 +23,14 @@ class ServerPropertiesForDefaultCreate(ServerPropertiesForCreate): ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum :param storage_profile: Storage profile of a server. :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - :param create_mode: Required. Constant filled by server. + :param create_mode: Constant filled by server. :type create_mode: str - :param administrator_login: Required. The administrator's login name of a - server. Can only be specified when the server is being created (and is - required for creation). + :param administrator_login: The administrator's login name of a server. + Can only be specified when the server is being created (and is required + for creation). :type administrator_login: str - :param administrator_login_password: Required. The password of the - administrator login. + :param administrator_login_password: The password of the administrator + login. :type administrator_login_password: str """ @@ -51,8 +49,8 @@ class ServerPropertiesForDefaultCreate(ServerPropertiesForCreate): 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, } - def __init__(self, *, administrator_login: str, administrator_login_password: str, version=None, ssl_enforcement=None, storage_profile=None, **kwargs) -> None: - super(ServerPropertiesForDefaultCreate, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile, **kwargs) + def __init__(self, administrator_login, administrator_login_password, version=None, ssl_enforcement=None, storage_profile=None): + super(ServerPropertiesForDefaultCreate, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile) self.administrator_login = administrator_login self.administrator_login_password = administrator_login_password self.create_mode = 'Default' diff --git a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_geo_restore_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_geo_restore.py similarity index 84% rename from src/rdbms/azext_rdbms/mysql/models/server_properties_for_geo_restore_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_geo_restore.py index dd6cfb4d354..64c73098025 100644 --- a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_geo_restore_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_geo_restore.py @@ -16,8 +16,6 @@ class ServerPropertiesForGeoRestore(ServerPropertiesForCreate): """The properties used to create a new server by restoring to a different region from a geo replicated backup. - All required parameters must be populated in order to send to Azure. - :param version: Server version. Possible values include: '5.6', '5.7' :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion :param ssl_enforcement: Enable ssl enforcement or not when connect to @@ -26,9 +24,9 @@ class ServerPropertiesForGeoRestore(ServerPropertiesForCreate): ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum :param storage_profile: Storage profile of a server. :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - :param create_mode: Required. Constant filled by server. + :param create_mode: Constant filled by server. :type create_mode: str - :param source_server_id: Required. The source server id to restore from. + :param source_server_id: The source server id to restore from. :type source_server_id: str """ @@ -45,7 +43,7 @@ class ServerPropertiesForGeoRestore(ServerPropertiesForCreate): 'source_server_id': {'key': 'sourceServerId', 'type': 'str'}, } - def __init__(self, *, source_server_id: str, version=None, ssl_enforcement=None, storage_profile=None, **kwargs) -> None: - super(ServerPropertiesForGeoRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile, **kwargs) + def __init__(self, source_server_id, version=None, ssl_enforcement=None, storage_profile=None): + super(ServerPropertiesForGeoRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile) self.source_server_id = source_server_id self.create_mode = 'GeoRestore' diff --git a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_restore_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_restore.py similarity index 81% rename from src/rdbms/azext_rdbms/mysql/models/server_properties_for_restore_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_restore.py index 2922fd4e075..fe6ab57faf8 100644 --- a/src/rdbms/azext_rdbms/mysql/models/server_properties_for_restore_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_properties_for_restore.py @@ -15,8 +15,6 @@ class ServerPropertiesForRestore(ServerPropertiesForCreate): """The properties used to create a new server by restoring from a backup. - All required parameters must be populated in order to send to Azure. - :param version: Server version. Possible values include: '5.6', '5.7' :type version: str or ~azure.mgmt.rdbms.mysql.models.ServerVersion :param ssl_enforcement: Enable ssl enforcement or not when connect to @@ -25,12 +23,12 @@ class ServerPropertiesForRestore(ServerPropertiesForCreate): ~azure.mgmt.rdbms.mysql.models.SslEnforcementEnum :param storage_profile: Storage profile of a server. :type storage_profile: ~azure.mgmt.rdbms.mysql.models.StorageProfile - :param create_mode: Required. Constant filled by server. + :param create_mode: Constant filled by server. :type create_mode: str - :param source_server_id: Required. The source server id to restore from. + :param source_server_id: The source server id to restore from. :type source_server_id: str - :param restore_point_in_time: Required. Restore point creation time - (ISO8601 format), specifying the time to restore from. + :param restore_point_in_time: Restore point creation time (ISO8601 + format), specifying the time to restore from. :type restore_point_in_time: datetime """ @@ -49,8 +47,8 @@ class ServerPropertiesForRestore(ServerPropertiesForCreate): 'restore_point_in_time': {'key': 'restorePointInTime', 'type': 'iso-8601'}, } - def __init__(self, *, source_server_id: str, restore_point_in_time, version=None, ssl_enforcement=None, storage_profile=None, **kwargs) -> None: - super(ServerPropertiesForRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile, **kwargs) + def __init__(self, source_server_id, restore_point_in_time, version=None, ssl_enforcement=None, storage_profile=None): + super(ServerPropertiesForRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile) self.source_server_id = source_server_id self.restore_point_in_time = restore_point_in_time self.create_mode = 'PointInTimeRestore' diff --git a/src/rdbms/azext_rdbms/mysql/models/server_update_parameters_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_update_parameters.py similarity index 90% rename from src/rdbms/azext_rdbms/mysql/models/server_update_parameters_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_update_parameters.py index 4d06bdc1e3c..5da1465629f 100644 --- a/src/rdbms/azext_rdbms/mysql/models/server_update_parameters_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/server_update_parameters.py @@ -42,8 +42,8 @@ class ServerUpdateParameters(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, sku=None, storage_profile=None, administrator_login_password: str=None, version=None, ssl_enforcement=None, tags=None, **kwargs) -> None: - super(ServerUpdateParameters, self).__init__(**kwargs) + def __init__(self, sku=None, storage_profile=None, administrator_login_password=None, version=None, ssl_enforcement=None, tags=None): + super(ServerUpdateParameters, self).__init__() self.sku = sku self.storage_profile = storage_profile self.administrator_login_password = administrator_login_password diff --git a/src/rdbms/azext_rdbms/mysql/models/sku_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/sku.py similarity index 90% rename from src/rdbms/azext_rdbms/mysql/models/sku_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/sku.py index f7c0fbf90ed..480a830a498 100644 --- a/src/rdbms/azext_rdbms/mysql/models/sku_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/sku.py @@ -42,8 +42,8 @@ class Sku(Model): 'family': {'key': 'family', 'type': 'str'}, } - def __init__(self, *, name: str=None, tier=None, capacity: int=None, size: str=None, family: str=None, **kwargs) -> None: - super(Sku, self).__init__(**kwargs) + def __init__(self, name=None, tier=None, capacity=None, size=None, family=None): + super(Sku, self).__init__() self.name = name self.tier = tier self.capacity = capacity diff --git a/src/rdbms/azext_rdbms/mysql/models/storage_profile_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/storage_profile.py similarity index 88% rename from src/rdbms/azext_rdbms/mysql/models/storage_profile_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/storage_profile.py index 8a50588949d..1bc8092ae4b 100644 --- a/src/rdbms/azext_rdbms/mysql/models/storage_profile_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/storage_profile.py @@ -31,8 +31,8 @@ class StorageProfile(Model): 'storage_mb': {'key': 'storageMB', 'type': 'int'}, } - def __init__(self, *, backup_retention_days: int=None, geo_redundant_backup=None, storage_mb: int=None, **kwargs) -> None: - super(StorageProfile, self).__init__(**kwargs) + def __init__(self, backup_retention_days=None, geo_redundant_backup=None, storage_mb=None): + super(StorageProfile, self).__init__() self.backup_retention_days = backup_retention_days self.geo_redundant_backup = geo_redundant_backup self.storage_mb = storage_mb diff --git a/src/rdbms/azext_rdbms/postgresql/models/tracked_resource_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/tracked_resource.py similarity index 84% rename from src/rdbms/azext_rdbms/postgresql/models/tracked_resource_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/models/tracked_resource.py index 6db5a5b1b40..0d199e6f6f9 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/tracked_resource_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/tracked_resource.py @@ -18,15 +18,13 @@ class TrackedResource(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - :ivar id: Resource ID :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param location: Required. The location the resource resides in. + :param location: The location the resource resides in. :type location: str :param tags: Application-specific metadata in the form of key-value pairs. :type tags: dict[str, str] @@ -47,7 +45,7 @@ class TrackedResource(ProxyResource): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, location: str, tags=None, **kwargs) -> None: - super(TrackedResource, self).__init__(, **kwargs) + def __init__(self, location, tags=None): + super(TrackedResource, self).__init__() self.location = location self.tags = tags diff --git a/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/virtual_network_rule.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/virtual_network_rule.py new file mode 100644 index 00000000000..42553474ddd --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/virtual_network_rule.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class VirtualNetworkRule(ProxyResource): + """A virtual network rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param virtual_network_subnet_id: The ARM resource id of the virtual + network subnet. + :type virtual_network_subnet_id: str + :param ignore_missing_vnet_service_endpoint: Create firewall rule before + the virtual network has vnet service endpoint enabled. + :type ignore_missing_vnet_service_endpoint: bool + :ivar state: Virtual Network Rule State. Possible values include: + 'Initializing', 'InProgress', 'Ready', 'Deleting', 'Unknown' + :vartype state: str or + ~azure.mgmt.rdbms.mysql.models.VirtualNetworkRuleState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_subnet_id': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'virtual_network_subnet_id': {'key': 'properties.virtualNetworkSubnetId', 'type': 'str'}, + 'ignore_missing_vnet_service_endpoint': {'key': 'properties.ignoreMissingVnetServiceEndpoint', 'type': 'bool'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__(self, virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=None): + super(VirtualNetworkRule, self).__init__() + self.virtual_network_subnet_id = virtual_network_subnet_id + self.ignore_missing_vnet_service_endpoint = ignore_missing_vnet_service_endpoint + self.state = None diff --git a/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/virtual_network_rule_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/virtual_network_rule_paged.py new file mode 100644 index 00000000000..a7eaf18d22b --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/models/virtual_network_rule_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class VirtualNetworkRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkRule]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkRulePaged, self).__init__(*args, **kwargs) diff --git a/src/rdbms/azext_rdbms/mysql/my_sql_management_client.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/my_sql_management_client.py similarity index 90% rename from src/rdbms/azext_rdbms/mysql/my_sql_management_client.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/my_sql_management_client.py index 789f4fd8984..cf4d7d88893 100644 --- a/src/rdbms/azext_rdbms/mysql/my_sql_management_client.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/my_sql_management_client.py @@ -15,6 +15,7 @@ from .version import VERSION from .operations.servers_operations import ServersOperations from .operations.firewall_rules_operations import FirewallRulesOperations +from .operations.virtual_network_rules_operations import VirtualNetworkRulesOperations from .operations.databases_operations import DatabasesOperations from .operations.configurations_operations import ConfigurationsOperations from .operations.log_files_operations import LogFilesOperations @@ -50,7 +51,7 @@ def __init__( super(MySQLManagementClientConfiguration, self).__init__(base_url) - self.add_user_agent('azure-mgmt-rdbms/{}'.format(VERSION)) + self.add_user_agent('azure-mgmt-mysql/{}'.format(VERSION)) self.add_user_agent('Azure-SDK-For-Python') self.credentials = credentials @@ -58,7 +59,7 @@ def __init__( class MySQLManagementClient(object): - """The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, log files and configurations with new business model. + """The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, VNET rules, log files and configurations with new business model. :ivar config: Configuration for client. :vartype config: MySQLManagementClientConfiguration @@ -67,6 +68,8 @@ class MySQLManagementClient(object): :vartype servers: azure.mgmt.rdbms.mysql.operations.ServersOperations :ivar firewall_rules: FirewallRules operations :vartype firewall_rules: azure.mgmt.rdbms.mysql.operations.FirewallRulesOperations + :ivar virtual_network_rules: VirtualNetworkRules operations + :vartype virtual_network_rules: azure.mgmt.rdbms.mysql.operations.VirtualNetworkRulesOperations :ivar databases: Databases operations :vartype databases: azure.mgmt.rdbms.mysql.operations.DatabasesOperations :ivar configurations: Configurations operations @@ -104,6 +107,8 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.firewall_rules = FirewallRulesOperations( self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_rules = VirtualNetworkRulesOperations( + self._client, self.config, self._serialize, self._deserialize) self.databases = DatabasesOperations( self._client, self.config, self._serialize, self._deserialize) self.configurations = ConfigurationsOperations( diff --git a/src/rdbms/azext_rdbms/mysql/operations/__init__.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/__init__.py similarity index 91% rename from src/rdbms/azext_rdbms/mysql/operations/__init__.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/__init__.py index 323618c0dd5..6020f85ddf6 100644 --- a/src/rdbms/azext_rdbms/mysql/operations/__init__.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/__init__.py @@ -11,6 +11,7 @@ from .servers_operations import ServersOperations from .firewall_rules_operations import FirewallRulesOperations +from .virtual_network_rules_operations import VirtualNetworkRulesOperations from .databases_operations import DatabasesOperations from .configurations_operations import ConfigurationsOperations from .log_files_operations import LogFilesOperations @@ -21,6 +22,7 @@ __all__ = [ 'ServersOperations', 'FirewallRulesOperations', + 'VirtualNetworkRulesOperations', 'DatabasesOperations', 'ConfigurationsOperations', 'LogFilesOperations', diff --git a/src/rdbms/azext_rdbms/mysql/operations/check_name_availability_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/check_name_availability_operations.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/operations/check_name_availability_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/check_name_availability_operations.py diff --git a/src/rdbms/azext_rdbms/mysql/operations/configurations_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/configurations_operations.py similarity index 89% rename from src/rdbms/azext_rdbms/mysql/operations/configurations_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/configurations_operations.py index b71a938d376..7dfdb70fc1d 100644 --- a/src/rdbms/azext_rdbms/mysql/operations/configurations_operations.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/configurations_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller from .. import models @@ -93,7 +93,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, configuration_name, value=None, source=None, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, configuration_name, value=None, source=None, custom_headers=None, raw=False, **operation_config): """Updates a configuration of a server. :param resource_group_name: The name of the resource group that @@ -109,16 +109,13 @@ def create_or_update( :param source: Source of the configuration. :type source: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Configuration or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns + Configuration or ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.mysql.models.Configuration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.mysql.models.Configuration]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -131,8 +128,30 @@ def create_or_update( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('Configuration', response) if raw: @@ -141,13 +160,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}'} def get( diff --git a/src/rdbms/azext_rdbms/mysql/operations/databases_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/databases_operations.py similarity index 85% rename from src/rdbms/azext_rdbms/mysql/operations/databases_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/databases_operations.py index 7746deca34c..5d294b9de38 100644 --- a/src/rdbms/azext_rdbms/mysql/operations/databases_operations.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/databases_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller from .. import models @@ -95,7 +95,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, database_name, charset=None, collation=None, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, database_name, charset=None, collation=None, custom_headers=None, raw=False, **operation_config): """Creates a new database or updates an existing database. :param resource_group_name: The name of the resource group that @@ -111,16 +111,13 @@ def create_or_update( :param collation: The collation of the database. :type collation: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Database or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns Database or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.mysql.models.Database] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.mysql.models.Database]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -133,8 +130,30 @@ def create_or_update( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('Database', response) if raw: @@ -143,13 +162,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}'} @@ -193,7 +211,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): """Deletes a database. :param resource_group_name: The name of the resource group that @@ -205,14 +223,12 @@ def delete( :param database_name: The name of the database. :type database_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -223,19 +239,40 @@ def delete( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}'} def get( diff --git a/src/rdbms/azext_rdbms/mysql/operations/firewall_rules_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/firewall_rules_operations.py similarity index 85% rename from src/rdbms/azext_rdbms/mysql/operations/firewall_rules_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/firewall_rules_operations.py index 4dc1bb68119..3d8aa4f4e2f 100644 --- a/src/rdbms/azext_rdbms/mysql/operations/firewall_rules_operations.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/firewall_rules_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller from .. import models @@ -95,7 +95,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, firewall_rule_name, start_ip_address, end_ip_address, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, firewall_rule_name, start_ip_address, end_ip_address, custom_headers=None, raw=False, **operation_config): """Creates a new firewall rule or updates an existing firewall rule. :param resource_group_name: The name of the resource group that @@ -113,16 +113,13 @@ def create_or_update( Must be IPv4 format. :type end_ip_address: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FirewallRule or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns FirewallRule + or ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.mysql.models.FirewallRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.mysql.models.FirewallRule]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -135,8 +132,30 @@ def create_or_update( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('FirewallRule', response) if raw: @@ -145,13 +164,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}'} @@ -195,7 +213,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, firewall_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, firewall_rule_name, custom_headers=None, raw=False, **operation_config): """Deletes a server firewall rule. :param resource_group_name: The name of the resource group that @@ -207,14 +225,12 @@ def delete( :param firewall_rule_name: The name of the server firewall rule. :type firewall_rule_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -225,19 +241,40 @@ def delete( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}'} def get( diff --git a/src/rdbms/azext_rdbms/mysql/operations/location_based_performance_tier_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/location_based_performance_tier_operations.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/operations/location_based_performance_tier_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/location_based_performance_tier_operations.py diff --git a/src/rdbms/azext_rdbms/mysql/operations/log_files_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/log_files_operations.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/operations/log_files_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/log_files_operations.py diff --git a/src/rdbms/azext_rdbms/mysql/operations/operations.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/operations.py similarity index 100% rename from src/rdbms/azext_rdbms/mysql/operations/operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/operations.py diff --git a/src/rdbms/azext_rdbms/mysql/operations/servers_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/servers_operations.py similarity index 83% rename from src/rdbms/azext_rdbms/mysql/operations/servers_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/servers_operations.py index 46d3cb5a5d7..6679e48634d 100644 --- a/src/rdbms/azext_rdbms/mysql/operations/servers_operations.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/servers_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller from .. import models @@ -92,7 +92,7 @@ def _create_initial( return deserialized def create( - self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): """Creates a new server or updates an existing server. The update action will overwrite the existing server. @@ -106,16 +106,13 @@ def create( server. :type parameters: ~azure.mgmt.rdbms.mysql.models.ServerForCreate :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Server or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns Server or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.mysql.models.Server] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.mysql.models.Server]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._create_initial( @@ -126,8 +123,30 @@ def create( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('Server', response) if raw: @@ -136,13 +155,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}'} @@ -196,7 +214,7 @@ def _update_initial( return deserialized def update( - self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): """Updates an existing server. The request body can contain one to many of the properties present in the normal server definition. @@ -210,16 +228,13 @@ def update( :type parameters: ~azure.mgmt.rdbms.mysql.models.ServerUpdateParameters :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Server or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns Server or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.mysql.models.Server] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.mysql.models.Server]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._update_initial( @@ -230,8 +245,30 @@ def update( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('Server', response) if raw: @@ -240,13 +277,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}'} @@ -289,7 +325,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): """Deletes a server. :param resource_group_name: The name of the resource group that @@ -299,14 +335,12 @@ def delete( :param server_name: The name of the server. :type server_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -316,19 +350,40 @@ def delete( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}'} def get( diff --git a/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/virtual_network_rules_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/virtual_network_rules_operations.py new file mode 100644 index 00000000000..39f501fd3fc --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/operations/virtual_network_rules_operations.py @@ -0,0 +1,421 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller + +from .. import models + + +class VirtualNetworkRulesOperations(object): + """VirtualNetworkRulesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-12-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-12-01" + + self.config = config + + def get( + self, resource_group_name, server_name, virtual_network_rule_name, custom_headers=None, raw=False, **operation_config): + """Gets a virtual network rule. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param virtual_network_rule_name: The name of the virtual network + rule. + :type virtual_network_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.rdbms.mysql.models.VirtualNetworkRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'virtualNetworkRuleName': self._serialize.url("virtual_network_rule_name", virtual_network_rule_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualNetworkRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, server_name, virtual_network_rule_name, virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=None, custom_headers=None, raw=False, **operation_config): + parameters = models.VirtualNetworkRule(virtual_network_subnet_id=virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=ignore_missing_vnet_service_endpoint) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'virtualNetworkRuleName': self._serialize.url("virtual_network_rule_name", virtual_network_rule_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'VirtualNetworkRule') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualNetworkRule', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, server_name, virtual_network_rule_name, virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=None, custom_headers=None, raw=False, **operation_config): + """Creates or updates an existing virtual network rule. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param virtual_network_rule_name: The name of the virtual network + rule. + :type virtual_network_rule_name: str + :param virtual_network_subnet_id: The ARM resource id of the virtual + network subnet. + :type virtual_network_subnet_id: str + :param ignore_missing_vnet_service_endpoint: Create firewall rule + before the virtual network has vnet service endpoint enabled. + :type ignore_missing_vnet_service_endpoint: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns + VirtualNetworkRule or ClientRawResponse if raw=true + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.mysql.models.VirtualNetworkRule] + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + server_name=server_name, + virtual_network_rule_name=virtual_network_rule_name, + virtual_network_subnet_id=virtual_network_subnet_id, + ignore_missing_vnet_service_endpoint=ignore_missing_vnet_service_endpoint, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = self._deserialize('VirtualNetworkRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}'} + + + def _delete_initial( + self, resource_group_name, server_name, virtual_network_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'virtualNetworkRuleName': self._serialize.url("virtual_network_rule_name", virtual_network_rule_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, server_name, virtual_network_rule_name, custom_headers=None, raw=False, **operation_config): + """Deletes the virtual network rule with the given name. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param virtual_network_rule_name: The name of the virtual network + rule. + :type virtual_network_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + server_name=server_name, + virtual_network_rule_name=virtual_network_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}'} + + def list_by_server( + self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of virtual network rules in a server. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkRule + :rtype: + ~azure.mgmt.rdbms.mysql.models.VirtualNetworkRulePaged[~azure.mgmt.rdbms.mysql.models.VirtualNetworkRule] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_server.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.VirtualNetworkRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_server.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules'} diff --git a/src/rdbms/azext_rdbms/postgresql/version.py b/src/rdbms_vnet/azext_rdbms_vnet/mysql/version.py similarity index 95% rename from src/rdbms/azext_rdbms/postgresql/version.py rename to src/rdbms_vnet/azext_rdbms_vnet/mysql/version.py index 220ef6ab5ec..e0ec669828c 100644 --- a/src/rdbms/azext_rdbms/postgresql/version.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/mysql/version.py @@ -9,4 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "2017-12-01" +VERSION = "0.1.0" + diff --git a/src/rdbms/azext_rdbms/postgresql/__init__.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/__init__.py similarity index 99% rename from src/rdbms/azext_rdbms/postgresql/__init__.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/__init__.py index 89b549af443..41ac8ae569f 100644 --- a/src/rdbms/azext_rdbms/postgresql/__init__.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/__init__.py @@ -15,3 +15,4 @@ __all__ = ['PostgreSQLManagementClient'] __version__ = VERSION + diff --git a/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/__init__.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/__init__.py new file mode 100644 index 00000000000..e455d4de83e --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/__init__.py @@ -0,0 +1,90 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource +from .tracked_resource import TrackedResource +from .storage_profile import StorageProfile +from .server_properties_for_create import ServerPropertiesForCreate +from .server_properties_for_default_create import ServerPropertiesForDefaultCreate +from .server_properties_for_restore import ServerPropertiesForRestore +from .server_properties_for_geo_restore import ServerPropertiesForGeoRestore +from .sku import Sku +from .server import Server +from .server_for_create import ServerForCreate +from .server_update_parameters import ServerUpdateParameters +from .firewall_rule import FirewallRule +from .virtual_network_rule import VirtualNetworkRule +from .database import Database +from .configuration import Configuration +from .operation_display import OperationDisplay +from .operation import Operation +from .operation_list_result import OperationListResult +from .log_file import LogFile +from .performance_tier_service_level_objectives import PerformanceTierServiceLevelObjectives +from .performance_tier_properties import PerformanceTierProperties +from .name_availability_request import NameAvailabilityRequest +from .name_availability import NameAvailability +from .server_paged import ServerPaged +from .firewall_rule_paged import FirewallRulePaged +from .virtual_network_rule_paged import VirtualNetworkRulePaged +from .database_paged import DatabasePaged +from .configuration_paged import ConfigurationPaged +from .log_file_paged import LogFilePaged +from .performance_tier_properties_paged import PerformanceTierPropertiesPaged +from .postgre_sql_management_client_enums import ( + ServerVersion, + SslEnforcementEnum, + ServerState, + GeoRedundantBackup, + SkuTier, + VirtualNetworkRuleState, + OperationOrigin, +) + +__all__ = [ + 'ProxyResource', + 'TrackedResource', + 'StorageProfile', + 'ServerPropertiesForCreate', + 'ServerPropertiesForDefaultCreate', + 'ServerPropertiesForRestore', + 'ServerPropertiesForGeoRestore', + 'Sku', + 'Server', + 'ServerForCreate', + 'ServerUpdateParameters', + 'FirewallRule', + 'VirtualNetworkRule', + 'Database', + 'Configuration', + 'OperationDisplay', + 'Operation', + 'OperationListResult', + 'LogFile', + 'PerformanceTierServiceLevelObjectives', + 'PerformanceTierProperties', + 'NameAvailabilityRequest', + 'NameAvailability', + 'ServerPaged', + 'FirewallRulePaged', + 'VirtualNetworkRulePaged', + 'DatabasePaged', + 'ConfigurationPaged', + 'LogFilePaged', + 'PerformanceTierPropertiesPaged', + 'ServerVersion', + 'SslEnforcementEnum', + 'ServerState', + 'GeoRedundantBackup', + 'SkuTier', + 'VirtualNetworkRuleState', + 'OperationOrigin', +] diff --git a/src/rdbms/azext_rdbms/postgresql/models/configuration_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/configuration.py similarity index 94% rename from src/rdbms/azext_rdbms/postgresql/models/configuration_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/configuration.py index 9ad3350cf61..958b4df2237 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/configuration_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/configuration.py @@ -60,8 +60,8 @@ class Configuration(ProxyResource): 'source': {'key': 'properties.source', 'type': 'str'}, } - def __init__(self, *, value: str=None, source: str=None, **kwargs) -> None: - super(Configuration, self).__init__(, **kwargs) + def __init__(self, value=None, source=None): + super(Configuration, self).__init__() self.value = value self.description = None self.default_value = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/configuration_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/configuration_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/models/configuration_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/configuration_paged.py diff --git a/src/rdbms/azext_rdbms/postgresql/models/database_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/database.py similarity index 91% rename from src/rdbms/azext_rdbms/postgresql/models/database_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/database.py index e7880e928d6..f4e129302c9 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/database_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/database.py @@ -44,7 +44,7 @@ class Database(ProxyResource): 'collation': {'key': 'properties.collation', 'type': 'str'}, } - def __init__(self, *, charset: str=None, collation: str=None, **kwargs) -> None: - super(Database, self).__init__(, **kwargs) + def __init__(self, charset=None, collation=None): + super(Database, self).__init__() self.charset = charset self.collation = collation diff --git a/src/rdbms/azext_rdbms/postgresql/models/database_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/database_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/models/database_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/database_paged.py diff --git a/src/rdbms/azext_rdbms/mysql/models/firewall_rule_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/firewall_rule.py similarity index 80% rename from src/rdbms/azext_rdbms/mysql/models/firewall_rule_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/firewall_rule.py index 2891333362d..ed7b9c13a02 100644 --- a/src/rdbms/azext_rdbms/mysql/models/firewall_rule_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/firewall_rule.py @@ -18,19 +18,17 @@ class FirewallRule(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - :ivar id: Resource ID :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param start_ip_address: Required. The start IP address of the server - firewall rule. Must be IPv4 format. + :param start_ip_address: The start IP address of the server firewall rule. + Must be IPv4 format. :type start_ip_address: str - :param end_ip_address: Required. The end IP address of the server firewall - rule. Must be IPv4 format. + :param end_ip_address: The end IP address of the server firewall rule. + Must be IPv4 format. :type end_ip_address: str """ @@ -50,7 +48,7 @@ class FirewallRule(ProxyResource): 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, } - def __init__(self, *, start_ip_address: str, end_ip_address: str, **kwargs) -> None: - super(FirewallRule, self).__init__(, **kwargs) + def __init__(self, start_ip_address, end_ip_address): + super(FirewallRule, self).__init__() self.start_ip_address = start_ip_address self.end_ip_address = end_ip_address diff --git a/src/rdbms/azext_rdbms/postgresql/models/firewall_rule_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/firewall_rule_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/models/firewall_rule_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/firewall_rule_paged.py diff --git a/src/rdbms/azext_rdbms/postgresql/models/log_file_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/log_file.py similarity index 93% rename from src/rdbms/azext_rdbms/postgresql/models/log_file_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/log_file.py index 060afec5668..56ba143dae2 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/log_file_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/log_file.py @@ -55,8 +55,8 @@ class LogFile(ProxyResource): 'url': {'key': 'properties.url', 'type': 'str'}, } - def __init__(self, *, size_in_kb: int=None, log_file_type: str=None, url: str=None, **kwargs) -> None: - super(LogFile, self).__init__(, **kwargs) + def __init__(self, size_in_kb=None, log_file_type=None, url=None): + super(LogFile, self).__init__() self.size_in_kb = size_in_kb self.created_time = None self.last_modified_time = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/log_file_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/log_file_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/models/log_file_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/log_file_paged.py diff --git a/src/rdbms/azext_rdbms/mysql/models/name_availability_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/name_availability.py similarity index 87% rename from src/rdbms/azext_rdbms/mysql/models/name_availability_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/name_availability.py index f7b52a09e29..b7759d8d472 100644 --- a/src/rdbms/azext_rdbms/mysql/models/name_availability_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/name_availability.py @@ -29,8 +29,8 @@ class NameAvailability(Model): 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self, *, message: str=None, name_available: bool=None, reason: str=None, **kwargs) -> None: - super(NameAvailability, self).__init__(**kwargs) + def __init__(self, message=None, name_available=None, reason=None): + super(NameAvailability, self).__init__() self.message = message self.name_available = name_available self.reason = reason diff --git a/src/rdbms/azext_rdbms/mysql/models/name_availability_request_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/name_availability_request.py similarity index 78% rename from src/rdbms/azext_rdbms/mysql/models/name_availability_request_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/name_availability_request.py index ec45bb2e473..715b87ea367 100644 --- a/src/rdbms/azext_rdbms/mysql/models/name_availability_request_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/name_availability_request.py @@ -15,9 +15,7 @@ class NameAvailabilityRequest(Model): """Request from client to check resource name availability. - All required parameters must be populated in order to send to Azure. - - :param name: Required. Resource name to verify. + :param name: Resource name to verify. :type name: str :param type: Resource type used for verification. :type type: str @@ -32,7 +30,7 @@ class NameAvailabilityRequest(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, *, name: str, type: str=None, **kwargs) -> None: - super(NameAvailabilityRequest, self).__init__(**kwargs) + def __init__(self, name, type=None): + super(NameAvailabilityRequest, self).__init__() self.name = name self.type = type diff --git a/src/rdbms/azext_rdbms/postgresql/models/operation.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/operation.py similarity index 95% rename from src/rdbms/azext_rdbms/postgresql/models/operation.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/operation.py index 6e54cd3c45b..c0ad896a743 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/operation.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/operation.py @@ -46,8 +46,8 @@ class Operation(Model): 'properties': {'key': 'properties', 'type': '{object}'}, } - def __init__(self, **kwargs): - super(Operation, self).__init__(**kwargs) + def __init__(self): + super(Operation, self).__init__() self.name = None self.display = None self.origin = None diff --git a/src/rdbms/azext_rdbms/mysql/models/operation_display.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/operation_display.py similarity index 94% rename from src/rdbms/azext_rdbms/mysql/models/operation_display.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/operation_display.py index 98314a2871d..66b7f736d29 100644 --- a/src/rdbms/azext_rdbms/mysql/models/operation_display.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/operation_display.py @@ -42,8 +42,8 @@ class OperationDisplay(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): - super(OperationDisplay, self).__init__(**kwargs) + def __init__(self): + super(OperationDisplay, self).__init__() self.provider = None self.resource = None self.operation = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/operation_list_result_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/operation_list_result.py similarity index 87% rename from src/rdbms/azext_rdbms/postgresql/models/operation_list_result_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/operation_list_result.py index b20d89e4c6e..b6521d80d2b 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/operation_list_result_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/operation_list_result.py @@ -23,6 +23,6 @@ class OperationListResult(Model): 'value': {'key': 'value', 'type': '[Operation]'}, } - def __init__(self, *, value=None, **kwargs) -> None: - super(OperationListResult, self).__init__(**kwargs) + def __init__(self, value=None): + super(OperationListResult, self).__init__() self.value = value diff --git a/src/rdbms/azext_rdbms/postgresql/models/performance_tier_properties_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/performance_tier_properties.py similarity index 88% rename from src/rdbms/azext_rdbms/postgresql/models/performance_tier_properties_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/performance_tier_properties.py index 3d56f700d21..cb1c8d45112 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/performance_tier_properties_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/performance_tier_properties.py @@ -28,7 +28,7 @@ class PerformanceTierProperties(Model): 'service_level_objectives': {'key': 'serviceLevelObjectives', 'type': '[PerformanceTierServiceLevelObjectives]'}, } - def __init__(self, *, id: str=None, service_level_objectives=None, **kwargs) -> None: - super(PerformanceTierProperties, self).__init__(**kwargs) + def __init__(self, id=None, service_level_objectives=None): + super(PerformanceTierProperties, self).__init__() self.id = id self.service_level_objectives = service_level_objectives diff --git a/src/rdbms/azext_rdbms/postgresql/models/performance_tier_properties_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/performance_tier_properties_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/models/performance_tier_properties_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/performance_tier_properties_paged.py diff --git a/src/rdbms/azext_rdbms/mysql/models/performance_tier_service_level_objectives_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/performance_tier_service_level_objectives.py similarity index 90% rename from src/rdbms/azext_rdbms/mysql/models/performance_tier_service_level_objectives_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/performance_tier_service_level_objectives.py index 083e4720ab4..08541b20c60 100644 --- a/src/rdbms/azext_rdbms/mysql/models/performance_tier_service_level_objectives_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/performance_tier_service_level_objectives.py @@ -47,8 +47,8 @@ class PerformanceTierServiceLevelObjectives(Model): 'min_storage_mb': {'key': 'minStorageMB', 'type': 'int'}, } - def __init__(self, *, id: str=None, edition: str=None, v_core: int=None, hardware_generation: str=None, max_backup_retention_days: int=None, min_backup_retention_days: int=None, max_storage_mb: int=None, min_storage_mb: int=None, **kwargs) -> None: - super(PerformanceTierServiceLevelObjectives, self).__init__(**kwargs) + def __init__(self, id=None, edition=None, v_core=None, hardware_generation=None, max_backup_retention_days=None, min_backup_retention_days=None, max_storage_mb=None, min_storage_mb=None): + super(PerformanceTierServiceLevelObjectives, self).__init__() self.id = id self.edition = edition self.v_core = v_core diff --git a/src/rdbms/azext_rdbms/postgresql/models/postgre_sql_management_client_enums.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/postgre_sql_management_client_enums.py similarity index 73% rename from src/rdbms/azext_rdbms/postgresql/models/postgre_sql_management_client_enums.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/postgre_sql_management_client_enums.py index 067e776798b..a8ad3f87370 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/postgre_sql_management_client_enums.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/postgre_sql_management_client_enums.py @@ -12,39 +12,48 @@ from enum import Enum -class ServerVersion(str, Enum): +class ServerVersion(Enum): nine_full_stop_five = "9.5" nine_full_stop_six = "9.6" -class SslEnforcementEnum(str, Enum): +class SslEnforcementEnum(Enum): enabled = "Enabled" disabled = "Disabled" -class ServerState(str, Enum): +class ServerState(Enum): ready = "Ready" dropping = "Dropping" disabled = "Disabled" -class GeoRedundantBackup(str, Enum): +class GeoRedundantBackup(Enum): enabled = "Enabled" disabled = "Disabled" -class SkuTier(str, Enum): +class SkuTier(Enum): basic = "Basic" general_purpose = "GeneralPurpose" memory_optimized = "MemoryOptimized" -class OperationOrigin(str, Enum): +class VirtualNetworkRuleState(Enum): + + initializing = "Initializing" + in_progress = "InProgress" + ready = "Ready" + deleting = "Deleting" + unknown = "Unknown" + + +class OperationOrigin(Enum): not_specified = "NotSpecified" user = "user" diff --git a/src/rdbms/azext_rdbms/postgresql/models/proxy_resource.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/proxy_resource.py similarity index 93% rename from src/rdbms/azext_rdbms/postgresql/models/proxy_resource.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/proxy_resource.py index 1223f4670fe..b982916c5e5 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/proxy_resource.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/proxy_resource.py @@ -38,8 +38,8 @@ class ProxyResource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): - super(ProxyResource, self).__init__(**kwargs) + def __init__(self): + super(ProxyResource, self).__init__() self.id = None self.name = None self.type = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server.py similarity index 90% rename from src/rdbms/azext_rdbms/postgresql/models/server_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server.py index 2db1674947d..c7bc6e3e1a6 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/server_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server.py @@ -18,15 +18,13 @@ class Server(TrackedResource): Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - :ivar id: Resource ID :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param location: Required. The location the resource resides in. + :param location: The location the resource resides in. :type location: str :param tags: Application-specific metadata in the form of key-value pairs. :type tags: dict[str, str] @@ -79,8 +77,8 @@ class Server(TrackedResource): 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, } - def __init__(self, *, location: str, tags=None, sku=None, administrator_login: str=None, version=None, ssl_enforcement=None, user_visible_state=None, fully_qualified_domain_name: str=None, earliest_restore_date=None, storage_profile=None, **kwargs) -> None: - super(Server, self).__init__(location=location, tags=tags, **kwargs) + def __init__(self, location, tags=None, sku=None, administrator_login=None, version=None, ssl_enforcement=None, user_visible_state=None, fully_qualified_domain_name=None, earliest_restore_date=None, storage_profile=None): + super(Server, self).__init__(location=location, tags=tags) self.sku = sku self.administrator_login = administrator_login self.version = version diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_for_create_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_for_create.py similarity index 80% rename from src/rdbms/azext_rdbms/postgresql/models/server_for_create_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_for_create.py index 4e686e7a266..3b28a60b632 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/server_for_create_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_for_create.py @@ -15,14 +15,12 @@ class ServerForCreate(Model): """Represents a server to be created. - All required parameters must be populated in order to send to Azure. - :param sku: The SKU (pricing tier) of the server. :type sku: ~azure.mgmt.rdbms.postgresql.models.Sku - :param properties: Required. Properties of the server. + :param properties: Properties of the server. :type properties: ~azure.mgmt.rdbms.postgresql.models.ServerPropertiesForCreate - :param location: Required. The location the resource resides in. + :param location: The location the resource resides in. :type location: str :param tags: Application-specific metadata in the form of key-value pairs. :type tags: dict[str, str] @@ -40,8 +38,8 @@ class ServerForCreate(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, properties, location: str, sku=None, tags=None, **kwargs) -> None: - super(ServerForCreate, self).__init__(**kwargs) + def __init__(self, properties, location, sku=None, tags=None): + super(ServerForCreate, self).__init__() self.sku = sku self.properties = properties self.location = location diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_paged.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/models/server_paged.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_paged.py diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_create_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_create.py similarity index 87% rename from src/rdbms/azext_rdbms/postgresql/models/server_properties_for_create_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_create.py index 5983a5bff36..8101e6cf31a 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_create_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_create.py @@ -19,8 +19,6 @@ class ServerPropertiesForCreate(Model): sub-classes are: ServerPropertiesForDefaultCreate, ServerPropertiesForRestore, ServerPropertiesForGeoRestore - All required parameters must be populated in order to send to Azure. - :param version: Server version. Possible values include: '9.5', '9.6' :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion :param ssl_enforcement: Enable ssl enforcement or not when connect to @@ -29,7 +27,7 @@ class ServerPropertiesForCreate(Model): ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum :param storage_profile: Storage profile of a server. :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - :param create_mode: Required. Constant filled by server. + :param create_mode: Constant filled by server. :type create_mode: str """ @@ -48,8 +46,8 @@ class ServerPropertiesForCreate(Model): 'create_mode': {'Default': 'ServerPropertiesForDefaultCreate', 'PointInTimeRestore': 'ServerPropertiesForRestore', 'GeoRestore': 'ServerPropertiesForGeoRestore'} } - def __init__(self, *, version=None, ssl_enforcement=None, storage_profile=None, **kwargs) -> None: - super(ServerPropertiesForCreate, self).__init__(**kwargs) + def __init__(self, version=None, ssl_enforcement=None, storage_profile=None): + super(ServerPropertiesForCreate, self).__init__() self.version = version self.ssl_enforcement = ssl_enforcement self.storage_profile = storage_profile diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_default_create_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_default_create.py similarity index 78% rename from src/rdbms/azext_rdbms/postgresql/models/server_properties_for_default_create_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_default_create.py index 6bb8809b653..487e01908dd 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_default_create_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_default_create.py @@ -15,8 +15,6 @@ class ServerPropertiesForDefaultCreate(ServerPropertiesForCreate): """The properties used to create a new server. - All required parameters must be populated in order to send to Azure. - :param version: Server version. Possible values include: '9.5', '9.6' :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion :param ssl_enforcement: Enable ssl enforcement or not when connect to @@ -25,14 +23,14 @@ class ServerPropertiesForDefaultCreate(ServerPropertiesForCreate): ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum :param storage_profile: Storage profile of a server. :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - :param create_mode: Required. Constant filled by server. + :param create_mode: Constant filled by server. :type create_mode: str - :param administrator_login: Required. The administrator's login name of a - server. Can only be specified when the server is being created (and is - required for creation). + :param administrator_login: The administrator's login name of a server. + Can only be specified when the server is being created (and is required + for creation). :type administrator_login: str - :param administrator_login_password: Required. The password of the - administrator login. + :param administrator_login_password: The password of the administrator + login. :type administrator_login_password: str """ @@ -51,8 +49,8 @@ class ServerPropertiesForDefaultCreate(ServerPropertiesForCreate): 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, } - def __init__(self, *, administrator_login: str, administrator_login_password: str, version=None, ssl_enforcement=None, storage_profile=None, **kwargs) -> None: - super(ServerPropertiesForDefaultCreate, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile, **kwargs) + def __init__(self, administrator_login, administrator_login_password, version=None, ssl_enforcement=None, storage_profile=None): + super(ServerPropertiesForDefaultCreate, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile) self.administrator_login = administrator_login self.administrator_login_password = administrator_login_password self.create_mode = 'Default' diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_geo_restore_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_geo_restore.py similarity index 84% rename from src/rdbms/azext_rdbms/postgresql/models/server_properties_for_geo_restore_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_geo_restore.py index 2e01f31edee..56650199678 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_geo_restore_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_geo_restore.py @@ -16,8 +16,6 @@ class ServerPropertiesForGeoRestore(ServerPropertiesForCreate): """The properties used to create a new server by restoring to a different region from a geo replicated backup. - All required parameters must be populated in order to send to Azure. - :param version: Server version. Possible values include: '9.5', '9.6' :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion :param ssl_enforcement: Enable ssl enforcement or not when connect to @@ -26,9 +24,9 @@ class ServerPropertiesForGeoRestore(ServerPropertiesForCreate): ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum :param storage_profile: Storage profile of a server. :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - :param create_mode: Required. Constant filled by server. + :param create_mode: Constant filled by server. :type create_mode: str - :param source_server_id: Required. The source server id to restore from. + :param source_server_id: The source server id to restore from. :type source_server_id: str """ @@ -45,7 +43,7 @@ class ServerPropertiesForGeoRestore(ServerPropertiesForCreate): 'source_server_id': {'key': 'sourceServerId', 'type': 'str'}, } - def __init__(self, *, source_server_id: str, version=None, ssl_enforcement=None, storage_profile=None, **kwargs) -> None: - super(ServerPropertiesForGeoRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile, **kwargs) + def __init__(self, source_server_id, version=None, ssl_enforcement=None, storage_profile=None): + super(ServerPropertiesForGeoRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile) self.source_server_id = source_server_id self.create_mode = 'GeoRestore' diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_restore_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_restore.py similarity index 81% rename from src/rdbms/azext_rdbms/postgresql/models/server_properties_for_restore_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_restore.py index 61f4aedc4f7..3e0ed598ea7 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/server_properties_for_restore_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_properties_for_restore.py @@ -15,8 +15,6 @@ class ServerPropertiesForRestore(ServerPropertiesForCreate): """The properties used to create a new server by restoring from a backup. - All required parameters must be populated in order to send to Azure. - :param version: Server version. Possible values include: '9.5', '9.6' :type version: str or ~azure.mgmt.rdbms.postgresql.models.ServerVersion :param ssl_enforcement: Enable ssl enforcement or not when connect to @@ -25,12 +23,12 @@ class ServerPropertiesForRestore(ServerPropertiesForCreate): ~azure.mgmt.rdbms.postgresql.models.SslEnforcementEnum :param storage_profile: Storage profile of a server. :type storage_profile: ~azure.mgmt.rdbms.postgresql.models.StorageProfile - :param create_mode: Required. Constant filled by server. + :param create_mode: Constant filled by server. :type create_mode: str - :param source_server_id: Required. The source server id to restore from. + :param source_server_id: The source server id to restore from. :type source_server_id: str - :param restore_point_in_time: Required. Restore point creation time - (ISO8601 format), specifying the time to restore from. + :param restore_point_in_time: Restore point creation time (ISO8601 + format), specifying the time to restore from. :type restore_point_in_time: datetime """ @@ -49,8 +47,8 @@ class ServerPropertiesForRestore(ServerPropertiesForCreate): 'restore_point_in_time': {'key': 'restorePointInTime', 'type': 'iso-8601'}, } - def __init__(self, *, source_server_id: str, restore_point_in_time, version=None, ssl_enforcement=None, storage_profile=None, **kwargs) -> None: - super(ServerPropertiesForRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile, **kwargs) + def __init__(self, source_server_id, restore_point_in_time, version=None, ssl_enforcement=None, storage_profile=None): + super(ServerPropertiesForRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, storage_profile=storage_profile) self.source_server_id = source_server_id self.restore_point_in_time = restore_point_in_time self.create_mode = 'PointInTimeRestore' diff --git a/src/rdbms/azext_rdbms/postgresql/models/server_update_parameters_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_update_parameters.py similarity index 90% rename from src/rdbms/azext_rdbms/postgresql/models/server_update_parameters_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_update_parameters.py index f7f3a6a1b00..5888125236a 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/server_update_parameters_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/server_update_parameters.py @@ -42,8 +42,8 @@ class ServerUpdateParameters(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, sku=None, storage_profile=None, administrator_login_password: str=None, version=None, ssl_enforcement=None, tags=None, **kwargs) -> None: - super(ServerUpdateParameters, self).__init__(**kwargs) + def __init__(self, sku=None, storage_profile=None, administrator_login_password=None, version=None, ssl_enforcement=None, tags=None): + super(ServerUpdateParameters, self).__init__() self.sku = sku self.storage_profile = storage_profile self.administrator_login_password = administrator_login_password diff --git a/src/rdbms/azext_rdbms/postgresql/models/sku_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/sku.py similarity index 90% rename from src/rdbms/azext_rdbms/postgresql/models/sku_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/sku.py index 918f88853b4..fb973426b82 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/sku_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/sku.py @@ -42,8 +42,8 @@ class Sku(Model): 'family': {'key': 'family', 'type': 'str'}, } - def __init__(self, *, name: str=None, tier=None, capacity: int=None, size: str=None, family: str=None, **kwargs) -> None: - super(Sku, self).__init__(**kwargs) + def __init__(self, name=None, tier=None, capacity=None, size=None, family=None): + super(Sku, self).__init__() self.name = name self.tier = tier self.capacity = capacity diff --git a/src/rdbms/azext_rdbms/postgresql/models/storage_profile_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/storage_profile.py similarity index 88% rename from src/rdbms/azext_rdbms/postgresql/models/storage_profile_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/storage_profile.py index bd6e048710a..0f408839ce2 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/storage_profile_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/storage_profile.py @@ -31,8 +31,8 @@ class StorageProfile(Model): 'storage_mb': {'key': 'storageMB', 'type': 'int'}, } - def __init__(self, *, backup_retention_days: int=None, geo_redundant_backup=None, storage_mb: int=None, **kwargs) -> None: - super(StorageProfile, self).__init__(**kwargs) + def __init__(self, backup_retention_days=None, geo_redundant_backup=None, storage_mb=None): + super(StorageProfile, self).__init__() self.backup_retention_days = backup_retention_days self.geo_redundant_backup = geo_redundant_backup self.storage_mb = storage_mb diff --git a/src/rdbms/azext_rdbms/mysql/models/tracked_resource_py3.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/tracked_resource.py similarity index 84% rename from src/rdbms/azext_rdbms/mysql/models/tracked_resource_py3.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/tracked_resource.py index 6db5a5b1b40..0d199e6f6f9 100644 --- a/src/rdbms/azext_rdbms/mysql/models/tracked_resource_py3.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/tracked_resource.py @@ -18,15 +18,13 @@ class TrackedResource(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - :ivar id: Resource ID :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param location: Required. The location the resource resides in. + :param location: The location the resource resides in. :type location: str :param tags: Application-specific metadata in the form of key-value pairs. :type tags: dict[str, str] @@ -47,7 +45,7 @@ class TrackedResource(ProxyResource): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, location: str, tags=None, **kwargs) -> None: - super(TrackedResource, self).__init__(, **kwargs) + def __init__(self, location, tags=None): + super(TrackedResource, self).__init__() self.location = location self.tags = tags diff --git a/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/virtual_network_rule.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/virtual_network_rule.py new file mode 100644 index 00000000000..9e76bc7002a --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/virtual_network_rule.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class VirtualNetworkRule(ProxyResource): + """A virtual network rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param virtual_network_subnet_id: The ARM resource id of the virtual + network subnet. + :type virtual_network_subnet_id: str + :param ignore_missing_vnet_service_endpoint: Create firewall rule before + the virtual network has vnet service endpoint enabled. + :type ignore_missing_vnet_service_endpoint: bool + :ivar state: Virtual Network Rule State. Possible values include: + 'Initializing', 'InProgress', 'Ready', 'Deleting', 'Unknown' + :vartype state: str or + ~azure.mgmt.rdbms.postgresql.models.VirtualNetworkRuleState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_subnet_id': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'virtual_network_subnet_id': {'key': 'properties.virtualNetworkSubnetId', 'type': 'str'}, + 'ignore_missing_vnet_service_endpoint': {'key': 'properties.ignoreMissingVnetServiceEndpoint', 'type': 'bool'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__(self, virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=None): + super(VirtualNetworkRule, self).__init__() + self.virtual_network_subnet_id = virtual_network_subnet_id + self.ignore_missing_vnet_service_endpoint = ignore_missing_vnet_service_endpoint + self.state = None diff --git a/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/virtual_network_rule_paged.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/virtual_network_rule_paged.py new file mode 100644 index 00000000000..df6f247ff1a --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/models/virtual_network_rule_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class VirtualNetworkRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkRule]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkRulePaged, self).__init__(*args, **kwargs) diff --git a/src/rdbms/azext_rdbms/postgresql/operations/__init__.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/__init__.py similarity index 91% rename from src/rdbms/azext_rdbms/postgresql/operations/__init__.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/__init__.py index 323618c0dd5..6020f85ddf6 100644 --- a/src/rdbms/azext_rdbms/postgresql/operations/__init__.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/__init__.py @@ -11,6 +11,7 @@ from .servers_operations import ServersOperations from .firewall_rules_operations import FirewallRulesOperations +from .virtual_network_rules_operations import VirtualNetworkRulesOperations from .databases_operations import DatabasesOperations from .configurations_operations import ConfigurationsOperations from .log_files_operations import LogFilesOperations @@ -21,6 +22,7 @@ __all__ = [ 'ServersOperations', 'FirewallRulesOperations', + 'VirtualNetworkRulesOperations', 'DatabasesOperations', 'ConfigurationsOperations', 'LogFilesOperations', diff --git a/src/rdbms/azext_rdbms/postgresql/operations/check_name_availability_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/check_name_availability_operations.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/operations/check_name_availability_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/check_name_availability_operations.py diff --git a/src/rdbms/azext_rdbms/postgresql/operations/configurations_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/configurations_operations.py similarity index 89% rename from src/rdbms/azext_rdbms/postgresql/operations/configurations_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/configurations_operations.py index a89d8b4a16a..64b9d83210c 100644 --- a/src/rdbms/azext_rdbms/postgresql/operations/configurations_operations.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/configurations_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller from .. import models @@ -93,7 +93,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, configuration_name, value=None, source=None, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, configuration_name, value=None, source=None, custom_headers=None, raw=False, **operation_config): """Updates a configuration of a server. :param resource_group_name: The name of the resource group that @@ -109,16 +109,13 @@ def create_or_update( :param source: Source of the configuration. :type source: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Configuration or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns + Configuration or ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.postgresql.models.Configuration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.postgresql.models.Configuration]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -131,8 +128,30 @@ def create_or_update( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('Configuration', response) if raw: @@ -141,13 +160,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}'} def get( diff --git a/src/rdbms/azext_rdbms/postgresql/operations/databases_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/databases_operations.py similarity index 85% rename from src/rdbms/azext_rdbms/postgresql/operations/databases_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/databases_operations.py index 3cc265baa3a..cfd4ee7ae05 100644 --- a/src/rdbms/azext_rdbms/postgresql/operations/databases_operations.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/databases_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller from .. import models @@ -95,7 +95,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, database_name, charset=None, collation=None, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, database_name, charset=None, collation=None, custom_headers=None, raw=False, **operation_config): """Creates a new database or updates an existing database. :param resource_group_name: The name of the resource group that @@ -111,16 +111,13 @@ def create_or_update( :param collation: The collation of the database. :type collation: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Database or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns Database or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.postgresql.models.Database] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.postgresql.models.Database]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -133,8 +130,30 @@ def create_or_update( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('Database', response) if raw: @@ -143,13 +162,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}'} @@ -193,7 +211,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): """Deletes a database. :param resource_group_name: The name of the resource group that @@ -205,14 +223,12 @@ def delete( :param database_name: The name of the database. :type database_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -223,19 +239,40 @@ def delete( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}'} def get( diff --git a/src/rdbms/azext_rdbms/postgresql/operations/firewall_rules_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/firewall_rules_operations.py similarity index 85% rename from src/rdbms/azext_rdbms/postgresql/operations/firewall_rules_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/firewall_rules_operations.py index 1af3188087c..82410f3d1d9 100644 --- a/src/rdbms/azext_rdbms/postgresql/operations/firewall_rules_operations.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/firewall_rules_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller from .. import models @@ -95,7 +95,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, firewall_rule_name, start_ip_address, end_ip_address, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, firewall_rule_name, start_ip_address, end_ip_address, custom_headers=None, raw=False, **operation_config): """Creates a new firewall rule or updates an existing firewall rule. :param resource_group_name: The name of the resource group that @@ -113,16 +113,13 @@ def create_or_update( Must be IPv4 format. :type end_ip_address: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FirewallRule or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns FirewallRule + or ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.postgresql.models.FirewallRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.postgresql.models.FirewallRule]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -135,8 +132,30 @@ def create_or_update( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('FirewallRule', response) if raw: @@ -145,13 +164,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}'} @@ -195,7 +213,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, firewall_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, firewall_rule_name, custom_headers=None, raw=False, **operation_config): """Deletes a server firewall rule. :param resource_group_name: The name of the resource group that @@ -207,14 +225,12 @@ def delete( :param firewall_rule_name: The name of the server firewall rule. :type firewall_rule_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -225,19 +241,40 @@ def delete( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}'} def get( diff --git a/src/rdbms/azext_rdbms/postgresql/operations/location_based_performance_tier_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/location_based_performance_tier_operations.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/operations/location_based_performance_tier_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/location_based_performance_tier_operations.py diff --git a/src/rdbms/azext_rdbms/postgresql/operations/log_files_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/log_files_operations.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/operations/log_files_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/log_files_operations.py diff --git a/src/rdbms/azext_rdbms/postgresql/operations/operations.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/operations.py similarity index 100% rename from src/rdbms/azext_rdbms/postgresql/operations/operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/operations.py diff --git a/src/rdbms/azext_rdbms/postgresql/operations/servers_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/servers_operations.py similarity index 83% rename from src/rdbms/azext_rdbms/postgresql/operations/servers_operations.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/servers_operations.py index 4228e0f25cd..c6944576af8 100644 --- a/src/rdbms/azext_rdbms/postgresql/operations/servers_operations.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/servers_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller from .. import models @@ -92,7 +92,7 @@ def _create_initial( return deserialized def create( - self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): """Creates a new server, or will overwrite an existing server. :param resource_group_name: The name of the resource group that @@ -105,16 +105,13 @@ def create( server. :type parameters: ~azure.mgmt.rdbms.postgresql.models.ServerForCreate :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Server or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns Server or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.postgresql.models.Server] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.postgresql.models.Server]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._create_initial( @@ -125,8 +122,30 @@ def create( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('Server', response) if raw: @@ -135,13 +154,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}'} @@ -195,7 +213,7 @@ def _update_initial( return deserialized def update( - self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): """Updates an existing server. The request body can contain one to many of the properties present in the normal server definition. @@ -209,16 +227,13 @@ def update( :type parameters: ~azure.mgmt.rdbms.postgresql.models.ServerUpdateParameters :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Server or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns Server or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.postgresql.models.Server] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.rdbms.postgresql.models.Server]] + or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._update_initial( @@ -229,8 +244,30 @@ def update( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + deserialized = self._deserialize('Server', response) if raw: @@ -239,13 +276,12 @@ def get_long_running_output(response): return deserialized - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}'} @@ -288,7 +324,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): """Deletes a server. :param resource_group_name: The name of the resource group that @@ -298,14 +334,12 @@ def delete( :param server_name: The name of the server. :type server_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -315,19 +349,40 @@ def delete( raw=True, **operation_config ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - lro_delay = operation_config.get( + long_running_operation_timeout = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}'} def get( diff --git a/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/virtual_network_rules_operations.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/virtual_network_rules_operations.py new file mode 100644 index 00000000000..6c53758a599 --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/operations/virtual_network_rules_operations.py @@ -0,0 +1,421 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.exceptions import DeserializationError +from msrestazure.azure_operation import AzureOperationPoller + +from .. import models + + +class VirtualNetworkRulesOperations(object): + """VirtualNetworkRulesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-12-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-12-01" + + self.config = config + + def get( + self, resource_group_name, server_name, virtual_network_rule_name, custom_headers=None, raw=False, **operation_config): + """Gets a virtual network rule. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param virtual_network_rule_name: The name of the virtual network + rule. + :type virtual_network_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.rdbms.postgresql.models.VirtualNetworkRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'virtualNetworkRuleName': self._serialize.url("virtual_network_rule_name", virtual_network_rule_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualNetworkRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, server_name, virtual_network_rule_name, virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=None, custom_headers=None, raw=False, **operation_config): + parameters = models.VirtualNetworkRule(virtual_network_subnet_id=virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=ignore_missing_vnet_service_endpoint) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'virtualNetworkRuleName': self._serialize.url("virtual_network_rule_name", virtual_network_rule_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'VirtualNetworkRule') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualNetworkRule', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, server_name, virtual_network_rule_name, virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=None, custom_headers=None, raw=False, **operation_config): + """Creates or updates an existing virtual network rule. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param virtual_network_rule_name: The name of the virtual network + rule. + :type virtual_network_rule_name: str + :param virtual_network_subnet_id: The ARM resource id of the virtual + network subnet. + :type virtual_network_subnet_id: str + :param ignore_missing_vnet_service_endpoint: Create firewall rule + before the virtual network has vnet service endpoint enabled. + :type ignore_missing_vnet_service_endpoint: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns + VirtualNetworkRule or ClientRawResponse if raw=true + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.rdbms.postgresql.models.VirtualNetworkRule] + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + server_name=server_name, + virtual_network_rule_name=virtual_network_rule_name, + virtual_network_subnet_id=virtual_network_subnet_id, + ignore_missing_vnet_service_endpoint=ignore_missing_vnet_service_endpoint, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = self._deserialize('VirtualNetworkRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}'} + + + def _delete_initial( + self, resource_group_name, server_name, virtual_network_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'virtualNetworkRuleName': self._serialize.url("virtual_network_rule_name", virtual_network_rule_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, server_name, virtual_network_rule_name, custom_headers=None, raw=False, **operation_config): + """Deletes the virtual network rule with the given name. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param virtual_network_rule_name: The name of the virtual network + rule. + :type virtual_network_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :return: An instance of AzureOperationPoller that returns None or + ClientRawResponse if raw=true + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + server_name=server_name, + virtual_network_rule_name=virtual_network_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + if raw: + return raw_result + + # Construct and send request + def long_running_send(): + return raw_result.response + + def get_long_running_status(status_link, headers=None): + + request = self._client.get(status_link) + if headers: + request.headers.update(headers) + header_parameters = {} + header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] + return self._client.send( + request, header_parameters, stream=False, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}'} + + def list_by_server( + self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of virtual network rules in a server. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkRule + :rtype: + ~azure.mgmt.rdbms.postgresql.models.VirtualNetworkRulePaged[~azure.mgmt.rdbms.postgresql.models.VirtualNetworkRule] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_server.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.VirtualNetworkRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_server.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules'} diff --git a/src/rdbms/azext_rdbms/postgresql/postgre_sql_management_client.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/postgre_sql_management_client.py similarity index 90% rename from src/rdbms/azext_rdbms/postgresql/postgre_sql_management_client.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/postgre_sql_management_client.py index 205e43afb3b..ad1301005da 100644 --- a/src/rdbms/azext_rdbms/postgresql/postgre_sql_management_client.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/postgre_sql_management_client.py @@ -15,6 +15,7 @@ from .version import VERSION from .operations.servers_operations import ServersOperations from .operations.firewall_rules_operations import FirewallRulesOperations +from .operations.virtual_network_rules_operations import VirtualNetworkRulesOperations from .operations.databases_operations import DatabasesOperations from .operations.configurations_operations import ConfigurationsOperations from .operations.log_files_operations import LogFilesOperations @@ -50,7 +51,7 @@ def __init__( super(PostgreSQLManagementClientConfiguration, self).__init__(base_url) - self.add_user_agent('azure-mgmt-rdbms/{}'.format(VERSION)) + self.add_user_agent('azure-mgmt-postgresql/{}'.format(VERSION)) self.add_user_agent('Azure-SDK-For-Python') self.credentials = credentials @@ -58,7 +59,7 @@ def __init__( class PostgreSQLManagementClient(object): - """The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, log files and configurations with new business model. + """The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, log files and configurations with new business model. :ivar config: Configuration for client. :vartype config: PostgreSQLManagementClientConfiguration @@ -67,6 +68,8 @@ class PostgreSQLManagementClient(object): :vartype servers: azure.mgmt.rdbms.postgresql.operations.ServersOperations :ivar firewall_rules: FirewallRules operations :vartype firewall_rules: azure.mgmt.rdbms.postgresql.operations.FirewallRulesOperations + :ivar virtual_network_rules: VirtualNetworkRules operations + :vartype virtual_network_rules: azure.mgmt.rdbms.postgresql.operations.VirtualNetworkRulesOperations :ivar databases: Databases operations :vartype databases: azure.mgmt.rdbms.postgresql.operations.DatabasesOperations :ivar configurations: Configurations operations @@ -104,6 +107,8 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.firewall_rules = FirewallRulesOperations( self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_rules = VirtualNetworkRulesOperations( + self._client, self.config, self._serialize, self._deserialize) self.databases = DatabasesOperations( self._client, self.config, self._serialize, self._deserialize) self.configurations = ConfigurationsOperations( diff --git a/src/rdbms/azext_rdbms/mysql/version.py b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/version.py similarity index 95% rename from src/rdbms/azext_rdbms/mysql/version.py rename to src/rdbms_vnet/azext_rdbms_vnet/postgresql/version.py index 220ef6ab5ec..e0ec669828c 100644 --- a/src/rdbms/azext_rdbms/mysql/version.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/postgresql/version.py @@ -9,4 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "2017-12-01" +VERSION = "0.1.0" + diff --git a/src/rdbms/azext_rdbms/tests/__init__.py b/src/rdbms_vnet/azext_rdbms_vnet/tests/__init__.py similarity index 100% rename from src/rdbms/azext_rdbms/tests/__init__.py rename to src/rdbms_vnet/azext_rdbms_vnet/tests/__init__.py diff --git a/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_mysql_proxy_resources_mgmt.yaml b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_mysql_proxy_resources_mgmt.yaml new file mode 100644 index 00000000000..f8c79fa763f --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_mysql_proxy_resources_mgmt.yaml @@ -0,0 +1,1948 @@ +interactions: +- request: + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-05-08T01:04:59Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-08T01:04:59Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:05:01 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": {}, "createMode": + "Default", "administratorLogin": "cloudsa", "administratorLoginPassword": "SecretPassword123"}, + "location": "brazilsouth"}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + Content-Length: ['204'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-05-08T01:05:03.903Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/b03880ad-66d4-44f7-ad17-38f3d7f3d5fd?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:05:03 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/b03880ad-66d4-44f7-ad17-38f3d7f3d5fd?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/b03880ad-66d4-44f7-ad17-38f3d7f3d5fd?api-version=2017-12-01 + response: + body: {string: '{"name":"b03880ad-66d4-44f7-ad17-38f3d7f3d5fd","status":"InProgress","startTime":"2018-05-08T01:05:03.903Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:06:05 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/b03880ad-66d4-44f7-ad17-38f3d7f3d5fd?api-version=2017-12-01 + response: + body: {string: '{"name":"b03880ad-66d4-44f7-ad17-38f3d7f3d5fd","status":"Succeeded","startTime":"2018-05-08T01:05:03.903Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000002.mysql.database.azure.com","earliestRestoreDate":"2018-05-08T01:15:04.247+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","name":"azuredbclitest000002","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['916'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "255.255.255.255"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule create] + Connection: [keep-alive] + Content-Length: ['80'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:07:11.59Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/b5cf1b18-b1d4-413e-a6af-ce87157b3787?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['86'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:11 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/b5cf1b18-b1d4-413e-a6af-ce87157b3787?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/b5cf1b18-b1d4-413e-a6af-ce87157b3787?api-version=2017-12-01 + response: + body: {string: '{"name":"b5cf1b18-b1d4-413e-a6af-ce87157b3787","status":"Succeeded","startTime":"2018-05-08T01:07:11.59Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:31 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforMySQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['416'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforMySQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['416'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:35 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforMySQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['416'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:37 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "123.123.123.123", "endIpAddress": "123.123.123.124"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + Content-Length: ['88'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:07:40.873Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/bec1c311-10f2-406c-ac0e-f1d62429d7c3?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['87'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:40 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/bec1c311-10f2-406c-ac0e-f1d62429d7c3?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/bec1c311-10f2-406c-ac0e-f1d62429d7c3?api-version=2017-12-01 + response: + body: {string: '{"name":"bec1c311-10f2-406c-ac0e-f1d62429d7c3","status":"Succeeded","startTime":"2018-05-08T01:07:40.873Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:57 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforMySQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['424'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:07:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforMySQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['424'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:08:01 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "123.123.123.124"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + Content-Length: ['80'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:08:04.167Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/98c9245e-3568-4886-bcad-b4e56dbd865c?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['87'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:08:04 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/98c9245e-3568-4886-bcad-b4e56dbd865c?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/98c9245e-3568-4886-bcad-b4e56dbd865c?api-version=2017-12-01 + response: + body: {string: '{"name":"98c9245e-3568-4886-bcad-b4e56dbd865c","status":"Succeeded","startTime":"2018-05-08T01:08:04.167Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:08:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforMySQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['416'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:08:22 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforMySQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['416'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:08:24 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "255.255.255.255"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + Content-Length: ['80'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:08:27.11Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/2178e297-79d8-4f7d-9bc6-08f16ab0693b?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['86'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:08:26 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/2178e297-79d8-4f7d-9bc6-08f16ab0693b?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/2178e297-79d8-4f7d-9bc6-08f16ab0693b?api-version=2017-12-01 + response: + body: {string: '{"name":"2178e297-79d8-4f7d-9bc6-08f16ab0693b","status":"Succeeded","startTime":"2018-05-08T01:08:27.11Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:08:43 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforMySQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['416'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:08:45 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "123.123.123.123", "endIpAddress": "123.123.123.124"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule create] + Connection: [keep-alive] + Content-Length: ['88'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule2?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:08:48.47Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/5593effc-882c-40b4-8992-0b7714d76cbf?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['86'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:08:48 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/5593effc-882c-40b4-8992-0b7714d76cbf?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/5593effc-882c-40b4-8992-0b7714d76cbf?api-version=2017-12-01 + response: + body: {string: '{"name":"5593effc-882c-40b4-8992-0b7714d76cbf","status":"Succeeded","startTime":"2018-05-08T01:08:48.47Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule2?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule2","name":"rule2","type":"Microsoft.DBforMySQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['424'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:06 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforMySQL/servers/firewallRules"},{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule2","name":"rule2","type":"Microsoft.DBforMySQL/servers/firewallRules"}]}'} + headers: + cache-control: [no-cache] + content-length: ['853'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServerFirewallRule","startTime":"2018-05-08T01:09:11.923Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/d1942b8a-8964-4c31-bf1c-1a1d6644e219?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['84'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:11 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/d1942b8a-8964-4c31-bf1c-1a1d6644e219?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule delete] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/d1942b8a-8964-4c31-bf1c-1a1d6644e219?api-version=2017-12-01 + response: + body: {string: '{"name":"d1942b8a-8964-4c31-bf1c-1a1d6644e219","status":"Succeeded","startTime":"2018-05-08T01:09:11.923Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:28 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule2","name":"rule2","type":"Microsoft.DBforMySQL/servers/firewallRules"}]}'} + headers: + cache-control: [no-cache] + content-length: ['436'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:30 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules/rule2?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServerFirewallRule","startTime":"2018-05-08T01:09:33.273Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/3b94cce0-cd1e-422b-bfd3-583cb1568792?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['84'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:32 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/3b94cce0-cd1e-422b-bfd3-583cb1568792?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule delete] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/3b94cce0-cd1e-422b-bfd3-583cb1568792?api-version=2017-12-01 + response: + body: {string: '{"name":"3b94cce0-cd1e-422b-bfd3-583cb1568792","status":"Succeeded","startTime":"2018-05-08T01:09:33.273Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:49 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server firewall-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/firewallRules?api-version=2017-12-01 + response: + body: {string: '{"value":[]}'} + headers: + cache-control: [no-cache] + content-length: ['12'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:52 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"location": "brazilsouth", "tags": {}, "properties": {"addressSpace": + {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"properties": + {"addressPrefix": "10.0.0.0/24"}, "name": "clitestsubnet1"}]}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet create] + Connection: [keep-alive] + Content-Length: ['217'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet?api-version=2018-02-01 + response: + body: {string: "{\r\n \"name\": \"clitestvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet\"\ + ,\r\n \"etag\": \"W/\\\"4a302e46-7790-4e46-9d43-0c6791e8efeb\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"brazilsouth\"\ + ,\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\":\ + \ \"Updating\",\r\n \"resourceGuid\": \"813a8544-d320-4141-b2d6-e7bcc1fb3239\"\ + ,\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"\ + 10.0.0.0/16\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\"\ + : []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"clitestsubnet1\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1\"\ + ,\r\n \"etag\": \"W/\\\"4a302e46-7790-4e46-9d43-0c6791e8efeb\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"addressPrefix\": \"10.0.0.0/24\"\r\n }\r\n }\r\ + \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ + : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/0778d372-2d62-4485-ab0e-b51fa1532c08?api-version=2018-02-01'] + cache-control: [no-cache] + content-length: ['1267'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:55 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/0778d372-2d62-4485-ab0e-b51fa1532c08?api-version=2018-02-01 + response: + body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['30'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:09:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/0778d372-2d62-4485-ab0e-b51fa1532c08?api-version=2018-02-01 + response: + body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['29'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:10:11 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet?api-version=2018-02-01 + response: + body: {string: "{\r\n \"name\": \"clitestvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet\"\ + ,\r\n \"etag\": \"W/\\\"a13a5dfa-b8a3-4fe2-b9cc-0d539ec0c97c\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"brazilsouth\"\ + ,\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\":\ + \ \"Succeeded\",\r\n \"resourceGuid\": \"813a8544-d320-4141-b2d6-e7bcc1fb3239\"\ + ,\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"\ + 10.0.0.0/16\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\"\ + : []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"clitestsubnet1\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1\"\ + ,\r\n \"etag\": \"W/\\\"a13a5dfa-b8a3-4fe2-b9cc-0d539ec0c97c\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"addressPrefix\": \"10.0.0.0/24\"\r\n }\r\n }\r\ + \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ + : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['1269'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:10:12 GMT'] + etag: [W/"a13a5dfa-b8a3-4fe2-b9cc-0d539ec0c97c"] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"addressPrefix": "10.0.1.0/24"}, "name": "clitestsubnet2"}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet subnet create] + Connection: [keep-alive] + Content-Length: ['74'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2?api-version=2018-02-01 + response: + body: {string: "{\r\n \"name\": \"clitestsubnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2\"\ + ,\r\n \"etag\": \"W/\\\"a27e7fda-d02e-41b4-8c96-d450806ac84b\\\"\",\r\n \ + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ + addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n}"} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/9584d78e-36ae-4802-973f-9035548a0b02?api-version=2018-02-01'] + cache-control: [no-cache] + content-length: ['422'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:10:13 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet subnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/9584d78e-36ae-4802-973f-9035548a0b02?api-version=2018-02-01 + response: + body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['29'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:10:18 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet subnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2?api-version=2018-02-01 + response: + body: {string: "{\r\n \"name\": \"clitestsubnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2\"\ + ,\r\n \"etag\": \"W/\\\"91d8e25b-1a2e-4ce2-a44d-0af1e91b5f37\\\"\",\r\n \ + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ + addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['423'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:10:20 GMT'] + etag: [W/"91d8e25b-1a2e-4ce2-a44d-0af1e91b5f37"] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''{"properties": {"virtualNetworkSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1", + "ignoreMissingVnetServiceEndpoint": true}}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule create] + Connection: [keep-alive] + Content-Length: ['309'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerVnetFirewallRule","startTime":"2018-05-08T01:10:24.063Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/f58085f1-10cb-4407-8c87-10141136eab6?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['90'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:10:24 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/f58085f1-10cb-4407-8c87-10141136eab6?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/f58085f1-10cb-4407-8c87-10141136eab6?api-version=2017-12-01 + response: + body: {string: '{"name":"f58085f1-10cb-4407-8c87-10141136eab6","status":"Succeeded","startTime":"2018-05-08T01:10:24.063Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:10:55 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1","name":"vnet_rule1","type":"Microsoft.DBforMySQL/servers/virtualNetworkRules"}'} + headers: + cache-control: [no-cache] + content-length: ['683'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:10:57 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1","name":"vnet_rule1","type":"Microsoft.DBforMySQL/servers/virtualNetworkRules"}'} + headers: + cache-control: [no-cache] + content-length: ['683'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:10:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''{"properties": {"virtualNetworkSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2", + "ignoreMissingVnetServiceEndpoint": true}}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule create] + Connection: [keep-alive] + Content-Length: ['309'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerVnetFirewallRule","startTime":"2018-05-08T01:11:02.78Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/acd29980-7e43-45f7-9d51-222f04c78058?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['89'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:11:02 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/acd29980-7e43-45f7-9d51-222f04c78058?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/acd29980-7e43-45f7-9d51-222f04c78058?api-version=2017-12-01 + response: + body: {string: '{"name":"acd29980-7e43-45f7-9d51-222f04c78058","status":"Succeeded","startTime":"2018-05-08T01:11:02.78Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:11:33 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2?api-version=2017-12-01 + response: + body: {string: '{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2","name":"vnet_rule2","type":"Microsoft.DBforMySQL/servers/virtualNetworkRules"}'} + headers: + cache-control: [no-cache] + content-length: ['683'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:11:36 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1","name":"vnet_rule1","type":"Microsoft.DBforMySQL/servers/virtualNetworkRules"},{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2","name":"vnet_rule2","type":"Microsoft.DBforMySQL/servers/virtualNetworkRules"}]}'} + headers: + cache-control: [no-cache] + content-length: ['1379'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:11:38 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServerVnetFirewallRule","startTime":"2018-05-08T01:11:41.26Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/d9e714b8-e5f8-48e1-9a77-da80992c7f9b?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['87'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:11:41 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/d9e714b8-e5f8-48e1-9a77-da80992c7f9b?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule delete] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/d9e714b8-e5f8-48e1-9a77-da80992c7f9b?api-version=2017-12-01 + response: + body: {string: '{"name":"d9e714b8-e5f8-48e1-9a77-da80992c7f9b","status":"Succeeded","startTime":"2018-05-08T01:11:41.26Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:11:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2","name":"vnet_rule2","type":"Microsoft.DBforMySQL/servers/virtualNetworkRules"}]}'} + headers: + cache-control: [no-cache] + content-length: ['695'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServerVnetFirewallRule","startTime":"2018-05-08T01:12:03.36Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/113d3ca7-6b8a-4b91-bc5e-13a6cd96b564?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['87'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:02 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/113d3ca7-6b8a-4b91-bc5e-13a6cd96b564?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14997'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule delete] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/113d3ca7-6b8a-4b91-bc5e-13a6cd96b564?api-version=2017-12-01 + response: + body: {string: '{"name":"113d3ca7-6b8a-4b91-bc5e-13a6cd96b564","status":"Succeeded","startTime":"2018-05-08T01:12:03.36Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server vnet-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-mysql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/virtualNetworkRules?api-version=2017-12-01 + response: + body: {string: '{"value":[]}'} + headers: + cache-control: [no-cache] + content-length: ['12'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:21 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql db list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/databases?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"charset":"utf8","collation":"utf8_general_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/databases/information_schema","name":"information_schema","type":"Microsoft.DBforMySQL/servers/databases"},{"properties":{"charset":"latin1","collation":"latin1_swedish_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/databases/mysql","name":"mysql","type":"Microsoft.DBforMySQL/servers/databases"},{"properties":{"charset":"utf8","collation":"utf8_general_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/databases/performance_schema","name":"performance_schema","type":"Microsoft.DBforMySQL/servers/databases"},{"properties":{"charset":"utf8","collation":"utf8_general_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/databases/sys","name":"sys","type":"Microsoft.DBforMySQL/servers/databases"}]}'} + headers: + cache-control: [no-cache] + content-length: ['1647'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:24 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_admin_statements?api-version=2017-12-01 + response: + body: {string: '{"properties":{"value":"OFF","description":"Include slow administrative + statements in the statements written to the slow query log.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_admin_statements","name":"log_slow_admin_statements","type":"Microsoft.DBforMySQL/servers/configurations"}'} + headers: + cache-control: [no-cache] + content-length: ['613'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:25 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"value": "ON"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration set] + Connection: [keep-alive] + Content-Length: ['31'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_admin_statements?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpdateElasticServerConfig","startTime":"2018-05-08T01:12:27.09Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/7d95bbfa-dffd-4f53-a88b-7e5d9411cc84?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['79'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:26 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/7d95bbfa-dffd-4f53-a88b-7e5d9411cc84?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/7d95bbfa-dffd-4f53-a88b-7e5d9411cc84?api-version=2017-12-01 + response: + body: {string: '{"name":"7d95bbfa-dffd-4f53-a88b-7e5d9411cc84","status":"Succeeded","startTime":"2018-05-08T01:12:27.09Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:44 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_admin_statements?api-version=2017-12-01 + response: + body: {string: '{"properties":{"value":"ON","description":"Include slow administrative + statements in the statements written to the slow query log.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"user-override"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_admin_statements","name":"log_slow_admin_statements","type":"Microsoft.DBforMySQL/servers/configurations"}'} + headers: + cache-control: [no-cache] + content-length: ['611'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:47 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"source": "system-default"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration set] + Connection: [keep-alive] + Content-Length: ['44'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_admin_statements?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpdateElasticServerConfig","startTime":"2018-05-08T01:12:50.293Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/bea92d9c-5b0d-4fba-9b91-1dcd673301a6?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['80'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:12:50 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/bea92d9c-5b0d-4fba-9b91-1dcd673301a6?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/bea92d9c-5b0d-4fba-9b91-1dcd673301a6?api-version=2017-12-01 + response: + body: {string: '{"name":"bea92d9c-5b0d-4fba-9b91-1dcd673301a6","status":"Succeeded","startTime":"2018-05-08T01:12:50.293Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:13:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_admin_statements?api-version=2017-12-01 + response: + body: {string: '{"properties":{"value":"OFF","description":"Include slow administrative + statements in the statements written to the slow query log.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_admin_statements","name":"log_slow_admin_statements","type":"Microsoft.DBforMySQL/servers/configurations"}'} + headers: + cache-control: [no-cache] + content-length: ['613'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:13:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"value":"OFF","description":"Indicates + the status of the Event Scheduler.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF,DISABLED","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/event_scheduler","name":"event_scheduler","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"4","description":"Number + of digits by which to increase the scale of the result of division operations.","defaultValue":"4","dataType":"Integer","allowedValues":"0-30","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/div_precision_increment","name":"div_precision_increment","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"1024","description":"Maximum + allowed result length in bytes for the GROUP_CONCAT().","defaultValue":"1024","dataType":"Integer","allowedValues":"4-16777216","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/group_concat_max_len","name":"group_concat_max_len","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"ON","description":"Whether + innodb adaptive hash indexes are enabled or disabled.","defaultValue":"ON","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_adaptive_hash_index","name":"innodb_adaptive_hash_index","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"50","description":"The + length of time in seconds an InnoDB transaction waits for a row lock before + giving up.","defaultValue":"50","dataType":"Integer","allowedValues":"1-3600","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_lock_wait_timeout","name":"innodb_lock_wait_timeout","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"1800","description":"Number + of seconds the server waits for activity on an interactive connection before + closing it.","defaultValue":"1800","dataType":"Integer","allowedValues":"10-1800","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/interactive_timeout","name":"interactive_timeout","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"OFF","description":"Logs + queries that are expected to retrieve all rows to slow query log.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_queries_not_using_indexes","name":"log_queries_not_using_indexes","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"0","description":"Limits + the number of such queries per minute that can be written to the slow query + log.","defaultValue":"0","dataType":"Integer","allowedValues":"0-4294967295","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_throttle_queries_not_using_indexes","name":"log_throttle_queries_not_using_indexes","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"OFF","description":"Include + slow administrative statements in the statements written to the slow query + log.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_admin_statements","name":"log_slow_admin_statements","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"OFF","description":"When + the slow query log is enabled, this variable enables logging for queries that + have taken more than long_query_time seconds to execute on the slave.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_slow_slave_statements","name":"log_slow_slave_statements","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"OFF","description":"This + variable applies when binary logging is enabled. It controls whether stored + function creators can be trusted not to create stored functions that will + cause unsafe events to be written to the binary log.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/log_bin_trust_function_creators","name":"log_bin_trust_function_creators","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"10","description":"If + a query takes longer than this many seconds, the server increments the Slow_queries + status variable.","defaultValue":"10","dataType":"Numeric","allowedValues":"0-1E+100","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/long_query_time","name":"long_query_time","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"0","description":"Can + be used to cause queries which examine fewer than the stated number of rows + not to be logged.","defaultValue":"0","dataType":"Integer","allowedValues":"0-18446744073709551615","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/min_examined_row_limit","name":"min_examined_row_limit","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"OFF","description":"Enable + or disable the slow query log","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/slow_query_log","name":"slow_query_log","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"","description":"The + current server SQL mode.","defaultValue":"","dataType":"Set","allowedValues":",ALLOW_INVALID_DATES,ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,HIGH_NOT_PRECEDENCE,IGNORE_SPACE,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_UNSIGNED_SUBTRACTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY,PAD_CHAR_TO_FULL_LENGTH,PIPES_AS_CONCAT,REAL_AS_FLOAT,STRICT_ALL_TABLES,STRICT_TRANS_TABLES","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/sql_mode","name":"sql_mode","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"120","description":"The + number of seconds the server waits for activity on a noninteractive connection + before closing it.","defaultValue":"120","dataType":"Integer","allowedValues":"60-86400","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/wait_timeout","name":"wait_timeout","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"120","description":"The + number of seconds the server waits for network reading action, especially + for LOAD DATA LOCAL FILE.","defaultValue":"120","dataType":"Integer","allowedValues":"10-3600","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/net_read_timeout","name":"net_read_timeout","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"240","description":"The + number of seconds the server waits for network writing action, especially + for LOAD DATA LOCAL FILE.","defaultValue":"240","dataType":"Integer","allowedValues":"10-3600","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/net_write_timeout","name":"net_write_timeout","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"509875341","description":"The + server ID, used in replication to give each master and slave a unique identity.","defaultValue":"1000","dataType":"Integer","allowedValues":"1000-4294967295","source":"user-override"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/server_id","name":"server_id","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"536870912","description":"The + maximum size of one packet or any generated/intermediate string, or any parameter + sent by the mysql_stmt_send_long_data() C API function.","defaultValue":"536870912","dataType":"Integer","allowedValues":"1024-1073741824","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/max_allowed_packet","name":"max_allowed_packet","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"60","description":"The + number of seconds to wait for more data from the master before the slave considers + the connection broken, aborts the read, and tries to reconnect.","defaultValue":"60","dataType":"Integer","allowedValues":"30-3600","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/slave_net_timeout","name":"slave_net_timeout","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"SYSTEM","description":"The + server time zone","defaultValue":"SYSTEM","dataType":"String","allowedValues":"[+|-][0]{0,1}[0-9]:[0-5][0-9]|[+|-][1][0-2]:[0-5][0-9]|SYSTEM","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/time_zone","name":"time_zone","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"1000","description":"Controls + how many microseconds the binary log commit waits before synchronizing the + binary log file to disk.","defaultValue":"1000","dataType":"Integer","allowedValues":"0,11-1000000","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/binlog_group_commit_sync_delay","name":"binlog_group_commit_sync_delay","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"0","description":"The + maximum number of transactions to wait for before aborting the current delay + as specified by binlog-group-commit-sync-delay.","defaultValue":"0","dataType":"Integer","allowedValues":"0-1000000","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/binlog_group_commit_sync_no_delay_count","name":"binlog_group_commit_sync_no_delay_count","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"latin1","description":"Use + charset_name as the default server character set.","defaultValue":"latin1","dataType":"Enumeration","allowedValues":"BIG5,DEC8,CP850,HP8,KOI8R,LATIN1,LATIN2,SWE7,ASCII,UJIS,SJIS,HEBREW,TIS620,EUCKR,KOI8U,GB2312,GREEK,CP1250,GBK,LATIN5,ARMSCII8,UTF8,UCS2,CP866,KEYBCS2,MACCE,MACROMAN,CP852,LATIN7,UTF8MB4,CP1251,UTF16,CP1256,CP1257,UTF32,BINARY,GEOSTD8,CP932,EUCJPMS","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/character_set_server","name":"character_set_server","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"262144","description":"The + minimum size of the buffer that is used for plain index scans, range index + scans, and joins that do not use indexes and thus perform full table scans.","defaultValue":"262144","dataType":"Integer","allowedValues":"128-2097152","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/join_buffer_size","name":"join_buffer_size","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"2000","description":"The + number of open tables for all threads.","defaultValue":"2000","dataType":"Integer","allowedValues":"1-4000","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/table_open_cache","name":"table_open_cache","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"OFF","description":"InnoDB + stores the data and indexes for each newly created table in a separate .ibd + file instead of the system tablespace.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_file_per_table","name":"innodb_file_per_table","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"1","description":"If + set to 1, table names are stored in lowercase on disk and comparisons are + not case sensitive. If set to 2, table names are stored as given but compared + in lowercase.","defaultValue":"1","dataType":"Enumeration","allowedValues":"1,2","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/lower_case_table_names","name":"lower_case_table_names","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"OFF","description":"This + option places an upper limit on the total size in bytes of all relay logs + on the slave.","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/slave_compressed_protocol","name":"slave_compressed_protocol","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"200","description":"Sets + an upper limit on I/O activity performed by InnoDB background tasks, such + as flushing pages from the buffer pool and merging data from the change buffer.","defaultValue":"200","dataType":"Integer","allowedValues":"100-1500","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_io_capacity","name":"innodb_io_capacity","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"4","description":"The + number of I/O threads for read operations in InnoDB.","defaultValue":"4","dataType":"Integer","allowedValues":"1-64","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_read_io_threads","name":"innodb_read_io_threads","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"0","description":"InnoDB + tries to keep the number of operating system threads concurrently inside InnoDB + less than or equal to the limit given by this variable.","defaultValue":"0","dataType":"Integer","allowedValues":"0-1000","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_thread_concurrency","name":"innodb_thread_concurrency","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"4","description":"The + number of I/O threads for write operations in InnoDB.","defaultValue":"4","dataType":"Integer","allowedValues":"1-64","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_write_io_threads","name":"innodb_write_io_threads","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"4","description":"The + number of page cleaner threads that flush dirty pages from buffer pool instances.","defaultValue":"4","dataType":"Integer","allowedValues":"1-64","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_page_cleaners","name":"innodb_page_cleaners","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"134217728","description":"Specifies + an upper limit on the size of the temporary log files used during online DDL + operations for InnoDB tables.","defaultValue":"134217728","dataType":"Integer","allowedValues":"65536-2147483648","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_online_alter_log_max_size","name":"innodb_online_alter_log_max_size","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"","description":"A + string to be executed by the server for each client that connects.","defaultValue":"","dataType":"String","allowedValues":"","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/init_connect","name":"init_connect","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"REPEATABLE-READ","description":"The + default transaction isolation level.","defaultValue":"REPEATABLE-READ","dataType":"Enumeration","allowedValues":"READ-UNCOMMITTED,READ-COMMITTED,REPEATABLE-READ,SERIALIZABLE","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/tx_isolation","name":"tx_isolation","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"200","description":"This + variable indicates the number of equality ranges in an equality comparison + condition when the optimizer should switch from using index dives to index + statistics in estimating the number of qualifying rows.","defaultValue":"200","dataType":"Integer","allowedValues":"0-4294967295","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/eq_range_index_dive_limit","name":"eq_range_index_dive_limit","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"37","description":"Specifies + the approximate percentage of the InnoDB buffer pool used for the old block + sublist.","defaultValue":"37","dataType":"Integer","allowedValues":"5-95","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_old_blocks_pct","name":"innodb_old_blocks_pct","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"1000","description":"Non-zero + values protect against the buffer pool being filled by data that is referenced + only for a brief period, such as during a full table scan.","defaultValue":"1000","dataType":"Integer","allowedValues":"0-4294967295","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_old_blocks_time","name":"innodb_old_blocks_time","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"56","description":"Controls + the sensitivity of linear read-ahead that InnoDB uses to prefetch pages into + the buffer pool.","defaultValue":"56","dataType":"Integer","allowedValues":"0-64","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_read_ahead_threshold","name":"innodb_read_ahead_threshold","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"1024","description":"The + cutoff on the size of index values that determines which filesort algorithm + to use.","defaultValue":"1024","dataType":"Integer","allowedValues":"4-8388608","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/max_length_for_sort_data","name":"max_length_for_sort_data","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"100","description":"If + more than this many successive connection requests from a host are interrupted + without a successful connection, the server blocks that host from further + connections.","defaultValue":"100","dataType":"Integer","allowedValues":"1-18446744073709551615","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/max_connect_errors","name":"max_connect_errors","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"10000","description":"Defines + how long InnoDB threads sleep before joining the InnoDB queue, in microseconds.","defaultValue":"10000","dataType":"Integer","allowedValues":"0-1000000","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_thread_sleep_delay","name":"innodb_thread_sleep_delay","type":"Microsoft.DBforMySQL/servers/configurations"},{"properties":{"value":"Barracuda","description":"Indicates + the InnoDB file format for file-per-table tablespaces.","defaultValue":"Barracuda","dataType":"Enumeration","allowedValues":"Antelope,Barracuda","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/innodb_file_format","name":"innodb_file_format","type":"Microsoft.DBforMySQL/servers/configurations"}]}'} + headers: + cache-control: [no-cache] + content-length: ['29201'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:13:12 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"value": "ON"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration set] + Connection: [keep-alive] + Content-Length: ['31'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/slow_query_log?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpdateElasticServerConfig","startTime":"2018-05-08T01:13:15.197Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/b539dad1-c907-4405-9cbd-d5e4398e2655?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['80'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:13:15 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/b539dad1-c907-4405-9cbd-d5e4398e2655?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/b539dad1-c907-4405-9cbd-d5e4398e2655?api-version=2017-12-01 + response: + body: {string: '{"name":"b539dad1-c907-4405-9cbd-d5e4398e2655","status":"Succeeded","startTime":"2018-05-08T01:13:15.197Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:13:32 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/slow_query_log?api-version=2017-12-01 + response: + body: {string: '{"properties":{"value":"ON","description":"Enable or disable the + slow query log","defaultValue":"OFF","dataType":"Enumeration","allowedValues":"ON,OFF","source":"user-override"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/configurations/slow_query_log","name":"slow_query_log","type":"Microsoft.DBforMySQL/servers/configurations"}'} + headers: + cache-control: [no-cache] + content-length: ['538'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:13:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server-logs list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/logFiles?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"name":"mysql-slow-azuredbclitest000002-2018050801.log","sizeInKB":1,"createdTime":"0001-01-01T00:00:00+00:00","lastModifiedTime":"2018-05-08T01:13:15+00:00","type":"slowlog","url":"https://wasd2prodbrso1fse32.file.core.windows.net/a88cfe32616c46589ff638d007db0e99/serverlogs/mysql-slow-azuredbclitest000002-2018050801.log?sv=2015-04-05&sr=f&sig=bvK3XZXr3vodzFI2eJ9B13b4WSYw9NzXQSTUWBo6UiY%3D&se=2018-05-08T02%3A13%3A36Z&sp=r"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/logFiles/mysql-slow-azuredbclitest000002-2018050801.log","name":"mysql-slow-azuredbclitest000002-2018050801.log","type":"Microsoft.DBforMySQL/servers/logFiles"}]}'} + headers: + cache-control: [no-cache] + content-length: ['1039'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:13:35 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Tue, 08 May 2018 01:13:37 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdNVUJOSlREVUI1QjVXNjJFVVVKSE5EUlZVNEFVVzJCWEszT3w0RDdGMzc0RjMzOTYyRUZBLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_mysql_replica_mgmt.yaml b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_mysql_replica_mgmt.yaml new file mode 100644 index 00000000000..0dfc04ec45c --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_mysql_replica_mgmt.yaml @@ -0,0 +1,1699 @@ +interactions: +- request: + body: '{"tags": {"use": "az-test"}, "location": "westus"}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['50'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['328'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:42:21 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: '{"sku": {"name": "GP_Gen4_2"}, "properties": {"storageProfile": {}, "administratorLoginPassword": + "SecretPassword123", "administratorLogin": "cloudsa", "createMode": "Default"}, + "location": "brazilsouth"}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + Content-Length: ['204'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002?api-version=2017-12-01-preview + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-03-07T06:42:27.5Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/a054d595-6618-443e-ae0a-6077180c7d66?api-version=2017-12-01-preview'] + cache-control: [no-cache] + content-length: ['72'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:42:27 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/a054d595-6618-443e-ae0a-6077180c7d66?api-version=2017-12-01-preview'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/a054d595-6618-443e-ae0a-6077180c7d66?api-version=2017-12-01-preview + response: + body: {string: '{"name":"a054d595-6618-443e-ae0a-6077180c7d66","status":"InProgress","startTime":"2018-03-07T06:42:27.5Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:43:28 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/a054d595-6618-443e-ae0a-6077180c7d66?api-version=2017-12-01-preview + response: + body: {string: '{"name":"a054d595-6618-443e-ae0a-6077180c7d66","status":"Succeeded","startTime":"2018-03-07T06:42:27.5Z"}'} + headers: + cache-control: [no-cache] + content-length: ['105'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:44:31 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000002.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T06:52:27.89+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","name":"azuredbclitest000002","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['822'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:44:33 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000002.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T06:52:27.89+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","name":"azuredbclitest000002","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['822'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:49:38 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"sku": {"name": "GP_Gen4_2"}, "properties": {"sourceServerId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002", + "createMode": "Replica"}, "location": "brazilsouth"}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + Content-Length: ['334'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003?api-version=2017-12-01-preview + response: + body: {string: '{"operation":"CreateElasticServerContinuousCopy","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview'] + cache-control: [no-cache] + content-length: ['88'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:49:42 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:50:14 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:50:47 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:51:19 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:51:51 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:52:24 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:52:56 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:53:27 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:54:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:54:31 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:55:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:55:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:56:06 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:56:37 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:57:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:57:40 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:58:13 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:58:45 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:59:17 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 06:59:48 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"InProgress","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:00:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/c88f466b-078e-4b84-8037-d57e5570a248?api-version=2017-12-01-preview + response: + body: {string: '{"name":"c88f466b-078e-4b84-8037-d57e5570a248","status":"Succeeded","startTime":"2018-03-07T06:49:42.057Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:00:52 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirep1000003.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T07:00:54.35+00:00","replicationRole":"Replica","primaryServerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","replicaCapacity":0},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003","name":"azuredbclirep1000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['1132'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:00:53 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000002.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T06:52:27.89+00:00","replicationRole":"Primary","primaryServerId":"","replicaCapacity":5},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","name":"azuredbclitest000002","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['825'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:00:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002/Replicas?api-version=2017-12-01-preview + response: + body: {string: '{"value":[{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirep1000003.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T07:00:54.35+00:00","replicationRole":"Replica","primaryServerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","replicaCapacity":0},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003","name":"azuredbclirep1000003","type":"Microsoft.DBforMySQL/servers"}]}'} + headers: + cache-control: [no-cache] + content-length: ['1144'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:01:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica promote] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirep1000003.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T07:00:54.35+00:00","replicationRole":"Replica","primaryServerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","replicaCapacity":0},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003","name":"azuredbclirep1000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['1132'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:01:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"replicationRole": "None"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica promote] + Connection: [keep-alive] + Content-Length: ['43'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003?api-version=2017-12-01-preview + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-03-07T07:01:08.613Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/e5920aa2-6cad-494e-bc20-f859c6682065?api-version=2017-12-01-preview'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:01:09 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/e5920aa2-6cad-494e-bc20-f859c6682065?api-version=2017-12-01-preview'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica promote] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/e5920aa2-6cad-494e-bc20-f859c6682065?api-version=2017-12-01-preview + response: + body: {string: '{"name":"e5920aa2-6cad-494e-bc20-f859c6682065","status":"Succeeded","startTime":"2018-03-07T07:01:08.613Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:02:10 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica promote] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirep1000003.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T07:00:54.35+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003","name":"azuredbclirep1000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['915'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:02:11 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000002.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T06:52:27.89+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","name":"azuredbclitest000002","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['822'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:02:16 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000002.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T06:52:27.89+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","name":"azuredbclitest000002","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['822'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:02:21 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"sku": {"name": "GP_Gen4_2"}, "properties": {"sourceServerId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002", + "createMode": "Replica"}, "location": "brazilsouth"}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + Content-Length: ['334'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep2000004?api-version=2017-12-01-preview + response: + body: {string: '{"operation":"CreateElasticServerContinuousCopy","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview'] + cache-control: [no-cache] + content-length: ['88'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:02:26 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:02:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:03:30 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:04:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:04:32 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:05:05 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:05:37 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:06:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:06:39 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:07:10 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:07:42 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:08:13 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:08:45 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"InProgress","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:09:15 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/50a188dc-23aa-4af3-b1ce-a7f21adcaa60?api-version=2017-12-01-preview + response: + body: {string: '{"name":"50a188dc-23aa-4af3-b1ce-a7f21adcaa60","status":"Succeeded","startTime":"2018-03-07T07:02:25.533Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:09:48 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server replica create] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep2000004?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirep2000004.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T07:12:26.66+00:00","replicationRole":"Replica","primaryServerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002","replicaCapacity":0},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep2000004","name":"azuredbclirep2000004","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['1132'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:09:50 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000002?api-version=2017-12-01-preview + response: + body: {string: '{"operation":"DropElasticServer","startTime":"2018-03-07T07:09:56.783Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/4a8861ed-a2cc-4d8c-992e-89c197d3ff4e?api-version=2017-12-01-preview'] + cache-control: [no-cache] + content-length: ['72'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:09:57 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/4a8861ed-a2cc-4d8c-992e-89c197d3ff4e?api-version=2017-12-01-preview'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/4a8861ed-a2cc-4d8c-992e-89c197d3ff4e?api-version=2017-12-01-preview + response: + body: {string: '{"name":"4a8861ed-a2cc-4d8c-992e-89c197d3ff4e","status":"Succeeded","startTime":"2018-03-07T07:09:56.783Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:10:13 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep2000004?api-version=2017-12-01-preview + response: + body: {string: '{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirep2000004.mysql.database.azure.com","earliestRestoreDate":"2018-03-07T07:12:26.66+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep2000004","name":"azuredbclirep2000004","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['915'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:15:19 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep1000003?api-version=2017-12-01-preview + response: + body: {string: '{"operation":"DropElasticServer","startTime":"2018-03-07T07:15:23.507Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/12e342cf-f3ea-4033-8b0c-f3d0a4f37fe2?api-version=2017-12-01-preview'] + cache-control: [no-cache] + content-length: ['72'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:15:23 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/12e342cf-f3ea-4033-8b0c-f3d0a4f37fe2?api-version=2017-12-01-preview'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/12e342cf-f3ea-4033-8b0c-f3d0a4f37fe2?api-version=2017-12-01-preview + response: + body: {string: '{"name":"12e342cf-f3ea-4033-8b0c-f3d0a4f37fe2","status":"Succeeded","startTime":"2018-03-07T07:15:23.507Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:15:39 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclirep2000004?api-version=2017-12-01-preview + response: + body: {string: '{"operation":"DropElasticServer","startTime":"2018-03-07T07:15:45.32Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/f264a2d2-9a8a-4035-b217-f36ce9fec450?api-version=2017-12-01-preview'] + cache-control: [no-cache] + content-length: ['71'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:15:45 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/operationResults/f264a2d2-9a8a-4035-b217-f36ce9fec450?api-version=2017-12-01-preview'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 azure-mgmt-rdbms/2017-12-01-preview Azure-SDK-For-Python + AZURECLI/2.0.27] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/brazilsouth/azureAsyncOperation/f264a2d2-9a8a-4035-b217-f36ce9fec450?api-version=2017-12-01-preview + response: + body: {string: '{"name":"f264a2d2-9a8a-4035-b217-f36ce9fec450","status":"Succeeded","startTime":"2018-03-07T07:15:45.32Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 07 Mar 2018 07:16:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 + msrest_azure/0.4.21 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.27] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Wed, 07 Mar 2018 07:16:10 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdQQkVEUVVRTjZYUlgzTDdLMlJQTVlKQ1BKRkZONkg3WEkyQnwxNzQyMUU0QTc3NUVEQUJCLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_mysql_server_mgmt.yaml b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_mysql_server_mgmt.yaml new file mode 100644 index 00000000000..2f9d02cfbbe --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_mysql_server_mgmt.yaml @@ -0,0 +1,1965 @@ +interactions: +- request: + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-04-03T23:36:48Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-03T23:36:48Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:36:49 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 201, message: Created} +- request: + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-04-03T23:36:50Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002","name":"clitest.rg000002","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-03T23:36:50Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:36:50 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": {"backupRetentionDays": + 10, "geoRedundantBackup": "Enabled"}, "createMode": "Default", "administratorLogin": + "cloudsa", "administratorLoginPassword": "SecretPassword123"}, "location": "koreasouth", + "tags": {"key": "1"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + Content-Length: ['283'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-03T23:36:52.827Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/506c8013-5118-482c-8f8b-83d8b126e6e5?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:36:52 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/506c8013-5118-482c-8f8b-83d8b126e6e5?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/506c8013-5118-482c-8f8b-83d8b126e6e5?api-version=2017-12-01 + response: + body: {string: '{"name":"506c8013-5118-482c-8f8b-83d8b126e6e5","status":"InProgress","startTime":"2018-04-03T23:36:52.827Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:37:53 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/506c8013-5118-482c-8f8b-83d8b126e6e5?api-version=2017-12-01 + response: + body: {string: '{"name":"506c8013-5118-482c-8f8b-83d8b126e6e5","status":"InProgress","startTime":"2018-04-03T23:36:52.827Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:38:55 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/506c8013-5118-482c-8f8b-83d8b126e6e5?api-version=2017-12-01 + response: + body: {string: '{"name":"506c8013-5118-482c-8f8b-83d8b126e6e5","status":"Succeeded","startTime":"2018-04-03T23:36:52.827Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:39:55 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server create] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['934'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:39:57 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['934'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:39:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['934'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:39:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"storageProfile": {"backupRetentionDays": 10, "geoRedundantBackup": + "Enabled", "storageMB": 5120}, "administratorLoginPassword": "SecretPassword456", + "sslEnforcement": "Disabled"}, "tags": {"key": "2"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Length: ['218'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-03T23:40:01.827Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/500b151c-e057-4a60-9d9e-cc2e62ede692?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:40:00 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/500b151c-e057-4a60-9d9e-cc2e62ede692?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/500b151c-e057-4a60-9d9e-cc2e62ede692?api-version=2017-12-01 + response: + body: {string: '{"name":"500b151c-e057-4a60-9d9e-cc2e62ede692","status":"Succeeded","startTime":"2018-04-03T23:40:01.827Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:41:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['935'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:41:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['935'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:41:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"sku": {"name": "gp_Gen5_4", "tier": "GeneralPurpose", "capacity": 4, + "family": "Gen5"}, "properties": {"storageProfile": {"backupRetentionDays": + 10, "geoRedundantBackup": "Enabled", "storageMB": 5120}}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Length: ['204'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-03T23:41:07.197Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/3e9a0d49-c528-4202-9ac4-f10d0f4237fc?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:41:06 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/3e9a0d49-c528-4202-9ac4-f10d0f4237fc?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/3e9a0d49-c528-4202-9ac4-f10d0f4237fc?api-version=2017-12-01 + response: + body: {string: '{"name":"3e9a0d49-c528-4202-9ac4-f10d0f4237fc","status":"InProgress","startTime":"2018-04-03T23:41:07.197Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:42:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/3e9a0d49-c528-4202-9ac4-f10d0f4237fc?api-version=2017-12-01 + response: + body: {string: '{"name":"3e9a0d49-c528-4202-9ac4-f10d0f4237fc","status":"Succeeded","startTime":"2018-04-03T23:41:07.197Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:43:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_4","tier":"GeneralPurpose","family":"Gen5","capacity":4},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['935'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:43:10 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_4","tier":"GeneralPurpose","family":"Gen5","capacity":4},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['935'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:43:11 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_4","tier":"GeneralPurpose","family":"Gen5","capacity":4},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['935'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:43:12 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"sku": {"name": "gp_Gen5_2", "tier": "GeneralPurpose", "capacity": 2, + "family": "Gen5"}, "properties": {"storageProfile": {"backupRetentionDays": + 10, "geoRedundantBackup": "Enabled", "storageMB": 5120}}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Length: ['204'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-03T23:43:15.927Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/e6d123b7-f64e-4a57-9687-f06cec3cfe98?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:43:15 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/e6d123b7-f64e-4a57-9687-f06cec3cfe98?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/e6d123b7-f64e-4a57-9687-f06cec3cfe98?api-version=2017-12-01 + response: + body: {string: '{"name":"e6d123b7-f64e-4a57-9687-f06cec3cfe98","status":"InProgress","startTime":"2018-04-03T23:43:15.927Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:44:17 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/e6d123b7-f64e-4a57-9687-f06cec3cfe98?api-version=2017-12-01 + response: + body: {string: '{"name":"e6d123b7-f64e-4a57-9687-f06cec3cfe98","status":"InProgress","startTime":"2018-04-03T23:43:15.927Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:45:18 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/e6d123b7-f64e-4a57-9687-f06cec3cfe98?api-version=2017-12-01 + response: + body: {string: '{"name":"e6d123b7-f64e-4a57-9687-f06cec3cfe98","status":"Succeeded","startTime":"2018-04-03T23:43:15.927Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:46:18 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['935'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:46:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['935'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:46:21 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"storageProfile": {"backupRetentionDays": 10, "geoRedundantBackup": + "Enabled", "storageMB": 5120}, "sslEnforcement": "Enabled"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Length: ['144'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-03T23:46:23.957Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/446cb6f8-6755-40ac-b203-4b4f99804e3c?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:46:23 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/446cb6f8-6755-40ac-b203-4b4f99804e3c?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/446cb6f8-6755-40ac-b203-4b4f99804e3c?api-version=2017-12-01 + response: + body: {string: '{"name":"446cb6f8-6755-40ac-b203-4b4f99804e3c","status":"Succeeded","startTime":"2018-04-03T23:46:23.957Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:47:25 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['934'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:47:25 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['934'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:47:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"storageProfile": {"backupRetentionDays": 10, "geoRedundantBackup": + "Enabled", "storageMB": 5120}}, "tags": {"key": "3"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + Content-Length: ['137'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-03T23:47:29.643Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/ea613ae3-570a-4d16-8dd5-c99ba7b8b5e3?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:47:30 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/ea613ae3-570a-4d16-8dd5-c99ba7b8b5e3?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/ea613ae3-570a-4d16-8dd5-c99ba7b8b5e3?api-version=2017-12-01 + response: + body: {string: '{"name":"ea613ae3-570a-4d16-8dd5-c99ba7b8b5e3","status":"Succeeded","startTime":"2018-04-03T23:47:29.643Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:48:31 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"3"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['934'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:48:32 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"3"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['934'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:53:33 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"properties": {"createMode": "PointInTimeRestore", "sourceServerId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003", + "restorePointInTime": "2018-04-03T23:53:33.076463Z"}, "location": "koreasouth"}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + Content-Length: ['398'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers/azuredbclirestore000004?api-version=2017-12-01 + response: + body: {string: '{"operation":"RestoreElasticServer","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['75'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:53:35 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:53:46 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:53:57 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:54:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:54:19 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:54:30 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:54:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:54:52 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:55:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:55:14 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:55:24 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:55:36 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:55:47 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:55:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:56:09 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:56:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:56:31 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:56:42 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:56:53 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:57:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:57:15 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:57:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:57:37 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"InProgress","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:57:49 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/698f94d9-f0af-46f8-aa8c-6b46bfe23346?api-version=2017-12-01 + response: + body: {string: '{"name":"698f94d9-f0af-46f8-aa8c-6b46bfe23346","status":"Succeeded","startTime":"2018-04-03T23:53:35.703Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:57:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers/azuredbclirestore000004?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirestore000004.mysql.database.azure.com","earliestRestoreDate":"2018-04-04T00:03:35.983+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers/azuredbclirestore000004","name":"azuredbclirestore000004","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['915'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server georestore] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"None","primaryServerId":"","replicaCapacity":5},"location":"koreasouth","tags":{"key":"3"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['934'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": + {"backupRetentionDays": 20, "geoRedundantBackup": "Disabled"}, "createMode": + "GeoRestore", "sourceServerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003"}, + "location": "koreasouth"}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server georestore] + Connection: [keep-alive] + Content-Length: ['448'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers/azuredbcligeorestore000005?api-version=2017-12-01 + response: + body: {string: '{"operation":"RestoreElasticServer","startTime":"2018-04-03T23:58:05.637Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/aa4982f8-5366-48d9-b2f3-3cdc44220512?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['75'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:05 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/aa4982f8-5366-48d9-b2f3-3cdc44220512?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server georestore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/aa4982f8-5366-48d9-b2f3-3cdc44220512?api-version=2017-12-01 + response: + body: {string: '{"name":"aa4982f8-5366-48d9-b2f3-3cdc44220512","status":"Failed","startTime":"2018-04-03T23:58:05.637Z","error":{"code":"SubscriptionDoesNotHaveServer","message":"Subscription + ''707595a1-1498-4b7d-9771-cf0455939d2c'' does not have the server ''azuredbclitest000003''."}}'} + headers: + cache-control: [no-cache] + content-length: ['309'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:16 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers?api-version=2017-12-01 + response: + body: {string: '{"value":[{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirestore000004.mysql.database.azure.com","earliestRestoreDate":"2018-04-04T00:03:35.983+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers/azuredbclirestore000004","name":"azuredbclirestore000004","type":"Microsoft.DBforMySQL/servers"}]}'} + headers: + cache-control: [no-cache] + content-length: ['903'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:17 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/servers?api-version=2017-12-01 + response: + body: {string: '{"value":[{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"shinim","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"marketplacetesting.mysql.database.azure.com","earliestRestoreDate":"2018-03-27T23:58:19.3380997+00:00","replicationRole":"","primaryServerId":""},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/OrcasGATesting/providers/Microsoft.DBforMySQL/servers/marketplacetesting","name":"marketplacetesting","type":"Microsoft.DBforMySQL/servers"},{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.mysql.database.azure.com","earliestRestoreDate":"2018-04-03T23:46:53.297+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"3"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforMySQL/servers"},{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirestore000004.mysql.database.azure.com","earliestRestoreDate":"2018-04-04T00:03:35.983+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers/azuredbclirestore000004","name":"azuredbclirestore000004","type":"Microsoft.DBforMySQL/servers"},{"sku":{"name":"GP_Gen5_8","tier":"GeneralPurpose","family":"Gen5","capacity":8},"properties":{"administratorLogin":"rwerwef","storageProfile":{"storageMB":771072,"backupRetentionDays":29,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"restorenortheurope.mysql.database.azure.com","earliestRestoreDate":"2018-03-21T23:15:35.6+00:00","replicationRole":"","primaryServerId":""},"location":"northeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/revatest/providers/Microsoft.DBforMySQL/servers/restorenortheurope","name":"restorenortheurope","type":"Microsoft.DBforMySQL/servers"},{"sku":{"name":"GP_Gen5_8","tier":"GeneralPurpose","family":"Gen5","capacity":8},"properties":{"administratorLogin":"rwerwef","storageProfile":{"storageMB":771072,"backupRetentionDays":29,"geoRedundantBackup":"Enabled"},"version":"5.7","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"restoreonotnth.mysql.database.azure.com","earliestRestoreDate":"2018-03-21T23:28:08.203+00:00","replicationRole":"","primaryServerId":""},"location":"northeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/revatest/providers/Microsoft.DBforMySQL/servers/restoreonotnth","name":"restoreonotnth","type":"Microsoft.DBforMySQL/servers"}]}'} + headers: + cache-control: [no-cache] + content-length: ['3886'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:18 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-original-request-ids: [11763038-ba3a-47b3-8be2-8bd78b977d0e, f28a011f-a6b2-46e9-93c0-9d3ba7839b6b, + 14d277bb-7f7c-47cf-a7ef-7af945162de2] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServer","startTime":"2018-04-03T23:58:20.87Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/e3ca35e6-46a8-4420-9516-44d1b9c7ee62?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['71'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:21 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/e3ca35e6-46a8-4420-9516-44d1b9c7ee62?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/e3ca35e6-46a8-4420-9516-44d1b9c7ee62?api-version=2017-12-01 + response: + body: {string: '{"name":"e3ca35e6-46a8-4420-9516-44d1b9c7ee62","status":"Succeeded","startTime":"2018-04-03T23:58:20.87Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:36 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers/azuredbclirestore000004?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServer","startTime":"2018-04-03T23:58:39.087Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/f7b1e156-9d9f-41bd-befb-d21091479268?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['72'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:38 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/operationResults/f7b1e156-9d9f-41bd-befb-d21091479268?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server delete] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/koreasouth/azureAsyncOperation/f7b1e156-9d9f-41bd-befb-d21091479268?api-version=2017-12-01 + response: + body: {string: '{"name":"f7b1e156-9d9f-41bd-befb-d21091479268","status":"Succeeded","startTime":"2018-04-03T23:58:39.087Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/servers?api-version=2017-12-01 + response: + body: {string: '{"value":[]}'} + headers: + cache-control: [no-cache] + content-length: ['12'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:55 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [mysql server list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforMySQL/servers?api-version=2017-12-01 + response: + body: {string: '{"value":[]}'} + headers: + cache-control: [no-cache] + content-length: ['12'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:55 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.31] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Tue, 03 Apr 2018 23:58:56 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc3VlhaU1NIRkVONVhXTk8zV1ZJTEtRUVlKVklHTzczUVhESXxCM0RCNzgxOTc1NThBODIzLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.31] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Tue, 03 Apr 2018 23:58:57 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdaWlJQNjJYQklRSE8yTDdJRTNKUU1GSElHQ0cyUFZGR1VYTHw1OEQyRTVFQjY0MkQ1MjhGLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_postgres_proxy_resources_mgmt.yaml b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_postgres_proxy_resources_mgmt.yaml new file mode 100644 index 00000000000..525552c5eac --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_postgres_proxy_resources_mgmt.yaml @@ -0,0 +1,1984 @@ +interactions: +- request: + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-05-08T01:13:38Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-08T01:13:38Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:13:39 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": {}, "createMode": + "Default", "administratorLogin": "cloudsa", "administratorLoginPassword": "SecretPassword123"}, + "location": "brazilsouth"}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server create] + Connection: [keep-alive] + Content-Length: ['204'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-05-08T01:13:42.4Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/5f2a2439-db58-4c5a-9fa0-0c2032627b07?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['72'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:13:41 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/5f2a2439-db58-4c5a-9fa0-0c2032627b07?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/5f2a2439-db58-4c5a-9fa0-0c2032627b07?api-version=2017-12-01 + response: + body: {string: '{"name":"5f2a2439-db58-4c5a-9fa0-0c2032627b07","status":"InProgress","startTime":"2018-05-08T01:13:42.4Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:14:43 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/5f2a2439-db58-4c5a-9fa0-0c2032627b07?api-version=2017-12-01 + response: + body: {string: '{"name":"5f2a2439-db58-4c5a-9fa0-0c2032627b07","status":"Succeeded","startTime":"2018-05-08T01:13:42.4Z"}'} + headers: + cache-control: [no-cache] + content-length: ['105'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:15:45 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000002.postgres.database.azure.com","earliestRestoreDate":"2018-05-08T01:23:42.76+00:00","replicationRole":"","primaryServerId":""},"location":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002","name":"azuredbclitest000002","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['904'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:15:46 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "255.255.255.255"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule create] + Connection: [keep-alive] + Content-Length: ['80'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:15:50.333Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/80609a24-6eaa-4ed9-9ad1-4431159970ac?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['87'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:15:49 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/80609a24-6eaa-4ed9-9ad1-4431159970ac?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/80609a24-6eaa-4ed9-9ad1-4431159970ac?api-version=2017-12-01 + response: + body: {string: '{"name":"80609a24-6eaa-4ed9-9ad1-4431159970ac","status":"Succeeded","startTime":"2018-05-08T01:15:50.333Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['426'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['426'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:10 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['426'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:12 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "123.123.123.123", "endIpAddress": "123.123.123.124"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + Content-Length: ['88'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:16:15.25Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/8ec202e1-036b-4f08-800a-bac9be74358f?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['86'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:14 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/8ec202e1-036b-4f08-800a-bac9be74358f?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/8ec202e1-036b-4f08-800a-bac9be74358f?api-version=2017-12-01 + response: + body: {string: '{"name":"8ec202e1-036b-4f08-800a-bac9be74358f","status":"Succeeded","startTime":"2018-05-08T01:16:15.25Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:32 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['434'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['434'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:35 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "123.123.123.124"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + Content-Length: ['80'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:16:38.547Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/b81e1e4b-90bf-4613-90b6-ee58bf0b5b3a?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['87'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:37 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/b81e1e4b-90bf-4613-90b6-ee58bf0b5b3a?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/b81e1e4b-90bf-4613-90b6-ee58bf0b5b3a?api-version=2017-12-01 + response: + body: {string: '{"name":"b81e1e4b-90bf-4613-90b6-ee58bf0b5b3a","status":"Succeeded","startTime":"2018-05-08T01:16:38.547Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['426'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:57 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['426'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:16:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "255.255.255.255"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + Content-Length: ['80'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:17:02.153Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/89b985c3-9ee6-4298-bc2c-140a2746e7c7?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['87'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:17:02 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/89b985c3-9ee6-4298-bc2c-140a2746e7c7?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/89b985c3-9ee6-4298-bc2c-140a2746e7c7?api-version=2017-12-01 + response: + body: {string: '{"name":"89b985c3-9ee6-4298-bc2c-140a2746e7c7","status":"Succeeded","startTime":"2018-05-08T01:17:02.153Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:17:18 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule update] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['426'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:17:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"startIpAddress": "123.123.123.123", "endIpAddress": "123.123.123.124"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule create] + Connection: [keep-alive] + Content-Length: ['88'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule2?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2018-05-08T01:17:23.817Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/0ac42686-1c54-46ac-8e6d-c5250bc5010e?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['87'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:17:23 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/0ac42686-1c54-46ac-8e6d-c5250bc5010e?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/0ac42686-1c54-46ac-8e6d-c5250bc5010e?api-version=2017-12-01 + response: + body: {string: '{"name":"0ac42686-1c54-46ac-8e6d-c5250bc5010e","status":"Succeeded","startTime":"2018-05-08T01:17:23.817Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:17:40 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule2?api-version=2017-12-01 + response: + body: {string: '{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule2","name":"rule2","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}'} + headers: + cache-control: [no-cache] + content-length: ['434'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:17:42 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1","name":"rule1","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"},{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule2","name":"rule2","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}]}'} + headers: + cache-control: [no-cache] + content-length: ['873'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:17:44 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServerFirewallRule","startTime":"2018-05-08T01:17:47.343Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/ecd378bf-1d87-4d5b-9f97-1843ef92f29b?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['84'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:17:46 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/ecd378bf-1d87-4d5b-9f97-1843ef92f29b?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule delete] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/ecd378bf-1d87-4d5b-9f97-1843ef92f29b?api-version=2017-12-01 + response: + body: {string: '{"name":"ecd378bf-1d87-4d5b-9f97-1843ef92f29b","status":"Succeeded","startTime":"2018-05-08T01:17:47.343Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"startIpAddress":"123.123.123.123","endIpAddress":"123.123.123.124"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule2","name":"rule2","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}]}'} + headers: + cache-control: [no-cache] + content-length: ['446'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:05 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules/rule2?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServerFirewallRule","startTime":"2018-05-08T01:18:09.127Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/0f23f39a-e8d9-4bd6-b383-9df06239e97e?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['84'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:08 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/0f23f39a-e8d9-4bd6-b383-9df06239e97e?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule delete] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/0f23f39a-e8d9-4bd6-b383-9df06239e97e?api-version=2017-12-01 + response: + body: {string: '{"name":"0f23f39a-e8d9-4bd6-b383-9df06239e97e","status":"Succeeded","startTime":"2018-05-08T01:18:09.127Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server firewall-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/firewallRules?api-version=2017-12-01 + response: + body: {string: '{"value":[]}'} + headers: + cache-control: [no-cache] + content-length: ['12'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:27 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"location": "brazilsouth", "tags": {}, "properties": {"addressSpace": + {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"properties": + {"addressPrefix": "10.0.0.0/24"}, "name": "clitestsubnet1"}]}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet create] + Connection: [keep-alive] + Content-Length: ['217'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet?api-version=2018-02-01 + response: + body: {string: "{\r\n \"name\": \"clitestvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet\"\ + ,\r\n \"etag\": \"W/\\\"58b5ff08-b387-48b9-a31e-27c31dbc1548\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"brazilsouth\"\ + ,\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\":\ + \ \"Updating\",\r\n \"resourceGuid\": \"bd558006-dcc5-4346-9b68-8441d805d563\"\ + ,\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"\ + 10.0.0.0/16\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\"\ + : []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"clitestsubnet1\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1\"\ + ,\r\n \"etag\": \"W/\\\"58b5ff08-b387-48b9-a31e-27c31dbc1548\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"addressPrefix\": \"10.0.0.0/24\"\r\n }\r\n }\r\ + \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ + : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/59236a0e-d5eb-4769-8d07-cb28b0a433f0?api-version=2018-02-01'] + cache-control: [no-cache] + content-length: ['1267'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:31 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/59236a0e-d5eb-4769-8d07-cb28b0a433f0?api-version=2018-02-01 + response: + body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['30'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/59236a0e-d5eb-4769-8d07-cb28b0a433f0?api-version=2018-02-01 + response: + body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['29'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:46 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet?api-version=2018-02-01 + response: + body: {string: "{\r\n \"name\": \"clitestvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet\"\ + ,\r\n \"etag\": \"W/\\\"4aa41f58-9273-401f-ae95-a1a5588538f3\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"brazilsouth\"\ + ,\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\":\ + \ \"Succeeded\",\r\n \"resourceGuid\": \"bd558006-dcc5-4346-9b68-8441d805d563\"\ + ,\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"\ + 10.0.0.0/16\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\"\ + : []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"clitestsubnet1\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1\"\ + ,\r\n \"etag\": \"W/\\\"4aa41f58-9273-401f-ae95-a1a5588538f3\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"addressPrefix\": \"10.0.0.0/24\"\r\n }\r\n }\r\ + \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ + : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['1269'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:47 GMT'] + etag: [W/"4aa41f58-9273-401f-ae95-a1a5588538f3"] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"addressPrefix": "10.0.1.0/24"}, "name": "clitestsubnet2"}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet subnet create] + Connection: [keep-alive] + Content-Length: ['74'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2?api-version=2018-02-01 + response: + body: {string: "{\r\n \"name\": \"clitestsubnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2\"\ + ,\r\n \"etag\": \"W/\\\"fc36f6f0-509d-4642-808e-a4cb4cb5c45c\\\"\",\r\n \ + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ + addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n}"} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/17b836c5-e3e9-42ef-b56c-4fdaf8190314?api-version=2018-02-01'] + cache-control: [no-cache] + content-length: ['422'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:49 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet subnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/brazilsouth/operations/17b836c5-e3e9-42ef-b56c-4fdaf8190314?api-version=2018-02-01 + response: + body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['29'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [network vnet subnet create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2?api-version=2018-02-01 + response: + body: {string: "{\r\n \"name\": \"clitestsubnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2\"\ + ,\r\n \"etag\": \"W/\\\"7c792e1e-9c86-4c06-bff9-5d65d44455f0\\\"\",\r\n \ + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ + addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n}"} + headers: + cache-control: [no-cache] + content-length: ['423'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:55 GMT'] + etag: [W/"7c792e1e-9c86-4c06-bff9-5d65d44455f0"] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''{"properties": {"virtualNetworkSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1", + "ignoreMissingVnetServiceEndpoint": true}}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + Content-Length: ['309'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerVnetFirewallRule","startTime":"2018-05-08T01:18:59.46Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/1eaf03a8-3641-49c8-912d-6da27a86f719?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['89'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:18:58 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/1eaf03a8-3641-49c8-912d-6da27a86f719?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/1eaf03a8-3641-49c8-912d-6da27a86f719?api-version=2017-12-01 + response: + body: {string: '{"name":"1eaf03a8-3641-49c8-912d-6da27a86f719","status":"InProgress","startTime":"2018-05-08T01:18:59.46Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:19:30 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/1eaf03a8-3641-49c8-912d-6da27a86f719?api-version=2017-12-01 + response: + body: {string: '{"name":"1eaf03a8-3641-49c8-912d-6da27a86f719","status":"InProgress","startTime":"2018-05-08T01:18:59.46Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:20:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/1eaf03a8-3641-49c8-912d-6da27a86f719?api-version=2017-12-01 + response: + body: {string: '{"name":"1eaf03a8-3641-49c8-912d-6da27a86f719","status":"InProgress","startTime":"2018-05-08T01:18:59.46Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:20:33 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/1eaf03a8-3641-49c8-912d-6da27a86f719?api-version=2017-12-01 + response: + body: {string: '{"name":"1eaf03a8-3641-49c8-912d-6da27a86f719","status":"InProgress","startTime":"2018-05-08T01:18:59.46Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:21:06 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/1eaf03a8-3641-49c8-912d-6da27a86f719?api-version=2017-12-01 + response: + body: {string: '{"name":"1eaf03a8-3641-49c8-912d-6da27a86f719","status":"Succeeded","startTime":"2018-05-08T01:18:59.46Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:21:38 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1","name":"vnet_rule1","type":"Microsoft.DBforPostgreSQL/servers/virtualNetworkRules"}'} + headers: + cache-control: [no-cache] + content-length: ['693'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:21:40 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1?api-version=2017-12-01 + response: + body: {string: '{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1","name":"vnet_rule1","type":"Microsoft.DBforPostgreSQL/servers/virtualNetworkRules"}'} + headers: + cache-control: [no-cache] + content-length: ['693'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:21:42 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''{"properties": {"virtualNetworkSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2", + "ignoreMissingVnetServiceEndpoint": true}}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + Content-Length: ['309'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServerVnetFirewallRule","startTime":"2018-05-08T01:21:45.68Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/52a3cd9f-c440-4216-989d-d0f64c0c82cb?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['89'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:21:45 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/52a3cd9f-c440-4216-989d-d0f64c0c82cb?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/52a3cd9f-c440-4216-989d-d0f64c0c82cb?api-version=2017-12-01 + response: + body: {string: '{"name":"52a3cd9f-c440-4216-989d-d0f64c0c82cb","status":"Succeeded","startTime":"2018-05-08T01:21:45.68Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:22:17 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2?api-version=2017-12-01 + response: + body: {string: '{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2","name":"vnet_rule2","type":"Microsoft.DBforPostgreSQL/servers/virtualNetworkRules"}'} + headers: + cache-control: [no-cache] + content-length: ['693'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:22:18 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet1","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1","name":"vnet_rule1","type":"Microsoft.DBforPostgreSQL/servers/virtualNetworkRules"},{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2","name":"vnet_rule2","type":"Microsoft.DBforPostgreSQL/servers/virtualNetworkRules"}]}'} + headers: + cache-control: [no-cache] + content-length: ['1399'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:22:21 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule1?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServerVnetFirewallRule","startTime":"2018-05-08T01:22:24.033Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/ef1391ab-04fe-445e-9b07-61d258b71fcf?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['88'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:22:23 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/ef1391ab-04fe-445e-9b07-61d258b71fcf?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule delete] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/ef1391ab-04fe-445e-9b07-61d258b71fcf?api-version=2017-12-01 + response: + body: {string: '{"name":"ef1391ab-04fe-445e-9b07-61d258b71fcf","status":"Succeeded","startTime":"2018-05-08T01:22:24.033Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:22:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"virtualNetworkSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/clitestvnet/subnets/clitestsubnet2","ignoreMissingVnetServiceEndpoint":true,"state":"Ready"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2","name":"vnet_rule2","type":"Microsoft.DBforPostgreSQL/servers/virtualNetworkRules"}]}'} + headers: + cache-control: [no-cache] + content-length: ['705'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:22:42 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules/vnet_rule2?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServerVnetFirewallRule","startTime":"2018-05-08T01:22:45.69Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/111b9234-5f7c-4b35-9c39-a1eee7ae2b0f?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['87'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:22:44 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/111b9234-5f7c-4b35-9c39-a1eee7ae2b0f?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule delete] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/111b9234-5f7c-4b35-9c39-a1eee7ae2b0f?api-version=2017-12-01 + response: + body: {string: '{"name":"111b9234-5f7c-4b35-9c39-a1eee7ae2b0f","status":"Succeeded","startTime":"2018-05-08T01:22:45.69Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server vnet-rule list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-postgresql/0.1.0 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/virtualNetworkRules?api-version=2017-12-01 + response: + body: {string: '{"value":[]}'} + headers: + cache-control: [no-cache] + content-length: ['12'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres db list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/databases?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"charset":"UTF8","collation":"English_United + States.1252"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/databases/postgres","name":"postgres","type":"Microsoft.DBforPostgreSQL/servers/databases"}]}'} + headers: + cache-control: [no-cache] + content-length: ['434'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:06 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server configuration show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/array_nulls?api-version=2017-12-01 + response: + body: {string: '{"properties":{"value":"on","description":"Enable input of NULL + elements in arrays.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/array_nulls","name":"array_nulls","type":"Microsoft.DBforPostgreSQL/servers/configurations"}'} + headers: + cache-control: [no-cache] + content-length: ['542'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"value": "off"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server configuration set] + Connection: [keep-alive] + Content-Length: ['32'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/array_nulls?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpdateElasticServerConfig","startTime":"2018-05-08T01:23:11.38Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/7f092593-b61b-4521-9358-21bafc7f7e72?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['79'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:10 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/7f092593-b61b-4521-9358-21bafc7f7e72?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/7f092593-b61b-4521-9358-21bafc7f7e72?api-version=2017-12-01 + response: + body: {string: '{"name":"7f092593-b61b-4521-9358-21bafc7f7e72","status":"Succeeded","startTime":"2018-05-08T01:23:11.38Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:28 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/array_nulls?api-version=2017-12-01 + response: + body: {string: '{"properties":{"value":"off","description":"Enable input of NULL + elements in arrays.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"user-override"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/array_nulls","name":"array_nulls","type":"Microsoft.DBforPostgreSQL/servers/configurations"}'} + headers: + cache-control: [no-cache] + content-length: ['542'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:30 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"source": "system-default"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server configuration set] + Connection: [keep-alive] + Content-Length: ['44'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/array_nulls?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpdateElasticServerConfig","startTime":"2018-05-08T01:23:37.127Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/311163f8-bb4c-4bb3-be60-d5ea7e7f2c95?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['80'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:36 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/operationResults/311163f8-bb4c-4bb3-be60-d5ea7e7f2c95?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/brazilsouth/azureAsyncOperation/311163f8-bb4c-4bb3-be60-d5ea7e7f2c95?api-version=2017-12-01 + response: + body: {string: '{"name":"311163f8-bb4c-4bb3-be60-d5ea7e7f2c95","status":"Succeeded","startTime":"2018-05-08T01:23:37.127Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:53 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server configuration set] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/array_nulls?api-version=2017-12-01 + response: + body: {string: '{"properties":{"value":"on","description":"Enable input of NULL + elements in arrays.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/array_nulls","name":"array_nulls","type":"Microsoft.DBforPostgreSQL/servers/configurations"}'} + headers: + cache-control: [no-cache] + content-length: ['542'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:56 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server configuration list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"value":"on","description":"Enable input + of NULL elements in arrays.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/array_nulls","name":"array_nulls","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"safe_encoding","description":"Sets + whether \"\\''\" is allowed in string literals.","defaultValue":"safe_encoding","dataType":"Enumeration","allowedValues":"safe_encoding,on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/backslash_quote","name":"backslash_quote","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"hex","description":"Sets + the output format for bytea.","defaultValue":"hex","dataType":"Enumeration","allowedValues":"escape,hex","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/bytea_output","name":"bytea_output","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Check + function bodies during CREATE FUNCTION.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/check_function_bodies","name":"check_function_bodies","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"sql_ascii","description":"Sets + the client''s character set encoding.","defaultValue":"sql_ascii","dataType":"Enumeration","allowedValues":"BIG5,EUC_CN,EUC_JP,EUC_JIS_2004,EUC_KR,EUC_TW,GB18030,GBK,ISO_8859_5,ISO_8859_6,ISO_8859_7,ISO_8859_8,JOHAB,KOI8R,KOI8U,LATIN1,LATIN2,LATIN3,LATIN4,LATIN5,LATIN6,LATIN7,LATIN8,LATIN9,LATIN10,MULE_INTERNAL,SJIS,SHIFT_JIS_2004,SQL_ASCII,UHC,UTF8,WIN866,WIN874,WIN1250,WIN1251,WIN1252,WIN1253,WIN1254,WIN1255,WIN1256,WIN1257,WIN1258","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/client_encoding","name":"client_encoding","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"notice","description":"Sets + the message levels that are sent to the client.","defaultValue":"notice","dataType":"Enumeration","allowedValues":"debug5,debug4,debug3,debug2,debug1,log,notice,warning,error","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/client_min_messages","name":"client_min_messages","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"partition","description":"Enables + the planner to use constraints to optimize queries.","defaultValue":"partition","dataType":"Enumeration","allowedValues":"partition,on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/constraint_exclusion","name":"constraint_exclusion","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0.005","description":"Sets + the planner''s estimate of the cost of processing each index entry during + an index scan.","defaultValue":"0.005","dataType":"Numeric","allowedValues":"0-1.79769e+308","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/cpu_index_tuple_cost","name":"cpu_index_tuple_cost","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0.0025","description":"Sets + the planner''s estimate of the cost of processing each operator or function + call.","defaultValue":"0.0025","dataType":"Numeric","allowedValues":"0-1.79769e+308","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/cpu_operator_cost","name":"cpu_operator_cost","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0.01","description":"Sets + the planner''s estimate of the cost of processing each tuple (row).","defaultValue":"0.01","dataType":"Numeric","allowedValues":"0-1.79769e+308","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/cpu_tuple_cost","name":"cpu_tuple_cost","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0.1","description":"Sets + the planner''s estimate of the fraction of a cursor''s rows that will be retrieved.","defaultValue":"0.1","dataType":"Numeric","allowedValues":"0-1","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/cursor_tuple_fraction","name":"cursor_tuple_fraction","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"iso, + mdy","description":"Sets the display format for date and time values.","defaultValue":"iso, + mdy","dataType":"String","allowedValues":"(iso|postgres|sql|german)\\,\\s(dmy|mdy|ymd)","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/datestyle","name":"datestyle","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"1000","description":"Sets + the amount of time, in milliseconds, to wait on a lock before checking for + deadlock.","defaultValue":"1000","dataType":"Integer","allowedValues":"1-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/deadlock_timeout","name":"deadlock_timeout","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Logs + each query''s execution plan.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/debug_print_plan","name":"debug_print_plan","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Logs + each query''s rewritten parse tree.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/debug_print_rewritten","name":"debug_print_rewritten","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"100","description":"Sets + the default statistics target.","defaultValue":"100","dataType":"Integer","allowedValues":"1-10000","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/default_statistics_target","name":"default_statistics_target","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"pg_catalog.english","description":"Sets + default text search configuration.","defaultValue":"pg_catalog.english","dataType":"String","allowedValues":"[A-Za-z\\._]+","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/default_text_search_config","name":"default_text_search_config","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Sets + the default deferrable status of new transactions.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/default_transaction_deferrable","name":"default_transaction_deferrable","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"read + committed","description":"Sets the transaction isolation level of each new + transaction.","defaultValue":"read committed","dataType":"Enumeration","allowedValues":"serializable,repeatable + read,read committed,read uncommitted","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/default_transaction_isolation","name":"default_transaction_isolation","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Sets + the default read-only status of new transactions.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/default_transaction_read_only","name":"default_transaction_read_only","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Create + new tables with OIDs by default.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/default_with_oids","name":"default_with_oids","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of bitmap-scan plans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_bitmapscan","name":"enable_bitmapscan","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of hashed aggregation plans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_hashagg","name":"enable_hashagg","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of hash join plans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_hashjoin","name":"enable_hashjoin","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of index-only-scan plans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_indexonlyscan","name":"enable_indexonlyscan","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of index-scan plans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_indexscan","name":"enable_indexscan","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of materialization.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_material","name":"enable_material","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of merge join plans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_mergejoin","name":"enable_mergejoin","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of nested-loop join plans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_nestloop","name":"enable_nestloop","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of sequential-scan plans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_seqscan","name":"enable_seqscan","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of explicit sort steps.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_sort","name":"enable_sort","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + the planner''s use of TID scan plans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/enable_tidscan","name":"enable_tidscan","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Warn + about backslash escapes in ordinary string literals.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/escape_string_warning","name":"escape_string_warning","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Terminate + session on any error.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/exit_on_error","name":"exit_on_error","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0","description":"Sets + the number of digits displayed for floating-point values.","defaultValue":"0","dataType":"Integer","allowedValues":"-15-3","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/extra_float_digits","name":"extra_float_digits","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"8","description":"Sets + the FROM-list size beyond which subqueries are not collapsed.","defaultValue":"8","dataType":"Integer","allowedValues":"1-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/from_collapse_limit","name":"from_collapse_limit","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enables + genetic query optimization.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/geqo","name":"geqo","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"5","description":"GEQO: + effort is used to set the default for other GEQO parameters.","defaultValue":"5","dataType":"Integer","allowedValues":"1-10","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/geqo_effort","name":"geqo_effort","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0","description":"GEQO: + number of iterations of the algorithm.","defaultValue":"0","dataType":"Integer","allowedValues":"0-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/geqo_generations","name":"geqo_generations","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0","description":"GEQO: + number of individuals in the population.","defaultValue":"0","dataType":"Integer","allowedValues":"0-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/geqo_pool_size","name":"geqo_pool_size","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0.0","description":"GEQO: + seed for random path selection.","defaultValue":"0.0","dataType":"Numeric","allowedValues":"0-1","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/geqo_seed","name":"geqo_seed","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"2.0","description":"GEQO: + selective pressure within the population.","defaultValue":"2.0","dataType":"Numeric","allowedValues":"1.5-2","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/geqo_selection_bias","name":"geqo_selection_bias","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"12","description":"Sets + the threshold of FROM items beyond which GEQO is used.","defaultValue":"12","dataType":"Integer","allowedValues":"2-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/geqo_threshold","name":"geqo_threshold","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0","description":"Sets + the maximum allowed result for exact search by GIN.","defaultValue":"0","dataType":"Integer","allowedValues":"0-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/gin_fuzzy_search_limit","name":"gin_fuzzy_search_limit","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"postgres","description":"Sets + the display format for interval values.","defaultValue":"postgres","dataType":"Enumeration","allowedValues":"postgres,postgres_verbose,sql_standard,iso_8601","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/intervalstyle","name":"intervalstyle","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"8","description":"Sets + the FROM-list size beyond which JOIN constructs are not flattened.","defaultValue":"8","dataType":"Integer","allowedValues":"1-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/join_collapse_limit","name":"join_collapse_limit","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0","description":"Sets + the maximum allowed duration (in milliseconds) of any wait for a lock. 0 turns + this off.","defaultValue":"0","dataType":"Integer","allowedValues":"0-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/lock_timeout","name":"lock_timeout","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Logs + each checkpoint.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_checkpoints","name":"log_checkpoints","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Logs + each successful connection.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_connections","name":"log_connections","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Logs + end of a session, including duration.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_disconnections","name":"log_disconnections","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Logs + the duration of each completed SQL statement.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_duration","name":"log_duration","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"default","description":"Sets + the verbosity of logged messages.","defaultValue":"default","dataType":"Enumeration","allowedValues":"terse,default,verbose","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_error_verbosity","name":"log_error_verbosity","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Logs + long lock waits.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_lock_waits","name":"log_lock_waits","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"-1","description":"Sets + the minimum execution time (in milliseconds) above which statements will be + logged. -1 disables logging statement durations.","defaultValue":"-1","dataType":"Integer","allowedValues":"-1-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_min_duration_statement","name":"log_min_duration_statement","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"error","description":"Causes + all statements generating error at or above this level to be logged.","defaultValue":"error","dataType":"Enumeration","allowedValues":"debug5,debug4,debug3,debug2,debug1,info,notice,warning,error,log,fatal,panic","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_min_error_statement","name":"log_min_error_statement","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"warning","description":"Sets + the message levels that are logged.","defaultValue":"warning","dataType":"Enumeration","allowedValues":"debug5,debug4,debug3,debug2,debug1,info,notice,warning,error,log,fatal,panic","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_min_messages","name":"log_min_messages","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"none","description":"Sets + the type of statements logged.","defaultValue":"none","dataType":"Enumeration","allowedValues":"none,ddl,mod,all","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_statement","name":"log_statement","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"When + generating SQL fragments, quote all identifiers.","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/quote_all_identifiers","name":"quote_all_identifiers","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"4.0","description":"Sets + the planner''s estimate of the cost of a nonsequentially fetched disk page.","defaultValue":"4.0","dataType":"Numeric","allowedValues":"0-1.79769e+308","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/random_page_cost","name":"random_page_cost","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"\"$user\", + public","description":"Sets the schema search order for names that are not + schema-qualified.","defaultValue":"\"$user\", public","dataType":"String","allowedValues":"[A-Za-z.\"$, + ]+","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/search_path","name":"search_path","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"1.0","description":"Sets + the planner''s estimate of the cost of a sequentially fetched disk page.","defaultValue":"1.0","dataType":"Numeric","allowedValues":"0-1.79769e+308","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/seq_page_cost","name":"seq_page_cost","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Causes + subtables to be included by default in various commands.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/sql_inheritance","name":"sql_inheritance","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0","description":"Sets + the maximum allowed duration (in milliseconds) of any statement. 0 turns this + off.","defaultValue":"0","dataType":"Integer","allowedValues":"0-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/statement_timeout","name":"statement_timeout","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Enable + synchronized sequential scans.","defaultValue":"on","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/synchronize_seqscans","name":"synchronize_seqscans","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"on","description":"Sets + the current transaction''s synchronization level.","defaultValue":"on","dataType":"Enumeration","allowedValues":"local,remote_write,on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/synchronous_commit","name":"synchronous_commit","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Treats + \"expr=NULL\" as \"expr IS NULL\".","defaultValue":"off","dataType":"Boolean","allowedValues":"on,off","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/transform_null_equals","name":"transform_null_equals","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"base64","description":"Sets + how binary values are to be encoded in XML.","defaultValue":"base64","dataType":"Enumeration","allowedValues":"base64,hex","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/xmlbinary","name":"xmlbinary","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"content","description":"Sets + whether XML data in implicit parsing and serialization operations is to be + considered as documents or content fragments.","defaultValue":"content","dataType":"Enumeration","allowedValues":"content,document","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/xmloption","name":"xmloption","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"off","description":"Forces + use of parallel query facilities.","defaultValue":"off","dataType":"Enumeration","allowedValues":"off,on,regress","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/force_parallel_mode","name":"force_parallel_mode","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0","description":"Sets + the maximum allowed duration of any idling transaction.","defaultValue":"0","dataType":"Integer","allowedValues":"0-2147483647","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/idle_in_transaction_session_timeout","name":"idle_in_transaction_session_timeout","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0","description":"Sets + the maximum number of parallel processes per executor node.","defaultValue":"0","dataType":"Integer","allowedValues":"0-1024","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/max_parallel_workers_per_gather","name":"max_parallel_workers_per_gather","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"8388608","description":"Sets + the minimum size of relations to be considered for parallel scan.","defaultValue":"8388608","dataType":"Integer","allowedValues":"0-715827882","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/min_parallel_relation_size","name":"min_parallel_relation_size","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"1000","description":"Sets + the planner''s estimate of the cost of starting up worker processes for parallel + query.","defaultValue":"1000","dataType":"Numeric","allowedValues":"0-1.79769e+308","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/parallel_setup_cost","name":"parallel_setup_cost","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"0.1","description":"Sets + the planner''s estimate of the cost of passing each tuple (row) from worker + to master backend.","defaultValue":"0.1","dataType":"Numeric","allowedValues":"0-1.79769e+308","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/parallel_tuple_cost","name":"parallel_tuple_cost","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"8096","description":"Sets + the amount of memory to be used by internal sort operations and hash tables + before writing to temporary disk files.","defaultValue":"8096","dataType":"Integer","allowedValues":"8096-2097151","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/work_mem","name":"work_mem","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"8096","description":"Sets + the maximum number of temporary buffers used by each database session.","defaultValue":"8096","dataType":"Integer","allowedValues":"8096-16384","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/temp_buffers","name":"temp_buffers","type":"Microsoft.DBforPostgreSQL/servers/configurations"},{"properties":{"value":"3","description":"Sets + how many days a log file is saved for.","defaultValue":"3","dataType":"Integer","allowedValues":"1-7","source":"system-default"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/configurations/log_retention_days","name":"log_retention_days","type":"Microsoft.DBforPostgreSQL/servers/configurations"}]}'} + headers: + cache-control: [no-cache] + content-length: ['45279'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:23:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server-logs list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.32] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/logFiles?api-version=2017-12-01 + response: + body: {string: '{"value":[{"properties":{"name":"postgresql-2018-05-08_011450.log","sizeInKB":3,"createdTime":"0001-01-01T00:00:00+00:00","lastModifiedTime":"2018-05-08T01:23:37+00:00","type":"text","url":"https://wasd2prodbrso1fse72.file.core.windows.net/66a3359621364526a60356c90ecc6492/pg_log/postgresql-2018-05-08_011450.log?sv=2015-04-05&sr=f&sig=NDfCz%2BqGkE%2FGhptNvUuxUZT%2Ftyd5lTQRl3gHqsiwWpw%3D&se=2018-05-08T02%3A24%3A01Z&sp=r"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000002/logFiles/postgresql-2018-05-08_011450.log","name":"postgresql-2018-05-08_011450.log","type":"Microsoft.DBforPostgreSQL/servers/logFiles"}]}'} + headers: + cache-control: [no-cache] + content-length: ['820'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 08 May 2018 01:24:01 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.29 + msrest_azure/0.4.29 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.32] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Tue, 08 May 2018 01:24:02 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdJNlRZV042SFNMVEc0TUdWSDRVWklDUTZaNEI3SEtUS0tUR3wxMzk2NzIzQkJEMzBEQTdBLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_postgres_server_mgmt.yaml b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_postgres_server_mgmt.yaml new file mode 100644 index 00000000000..0515cf213ac --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/tests/recordings/test_postgres_server_mgmt.yaml @@ -0,0 +1,1837 @@ +interactions: +- request: + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-04-03T23:58:58Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-03T23:58:58Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:58:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-04-03T23:58:59Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002","name":"clitest.rg000002","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-04-03T23:58:59Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:59:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 201, message: Created} +- request: + body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": {"backupRetentionDays": + 10, "geoRedundantBackup": "Enabled"}, "createMode": "Default", "administratorLogin": + "cloudsa", "administratorLoginPassword": "SecretPassword123"}, "location": "koreasouth", + "tags": {"key": "1"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server create] + Connection: [keep-alive] + Content-Length: ['283'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-03T23:59:02.453Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/27e9dd6e-3f91-4365-b425-8a685f7caf06?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 03 Apr 2018 23:59:01 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/27e9dd6e-3f91-4365-b425-8a685f7caf06?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server create] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/27e9dd6e-3f91-4365-b425-8a685f7caf06?api-version=2017-12-01 + response: + body: {string: '{"name":"27e9dd6e-3f91-4365-b425-8a685f7caf06","status":"InProgress","startTime":"2018-04-03T23:59:02.453Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:00:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server create] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/27e9dd6e-3f91-4365-b425-8a685f7caf06?api-version=2017-12-01 + response: + body: {string: '{"name":"27e9dd6e-3f91-4365-b425-8a685f7caf06","status":"Succeeded","startTime":"2018-04-03T23:59:02.453Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:01:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server create] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['923'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:01:05 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['923'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:01:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['923'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:01:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"storageProfile": {"backupRetentionDays": 10, "geoRedundantBackup": + "Enabled", "storageMB": 5120}, "administratorLoginPassword": "SecretPassword456", + "sslEnforcement": "Disabled"}, "tags": {"key": "2"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Length: ['218'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-04T00:01:10.86Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/fc71ee97-6950-4171-b971-3cbe7d36c459?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['73'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:01:10 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/fc71ee97-6950-4171-b971-3cbe7d36c459?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/fc71ee97-6950-4171-b971-3cbe7d36c459?api-version=2017-12-01 + response: + body: {string: '{"name":"fc71ee97-6950-4171-b971-3cbe7d36c459","status":"Succeeded","startTime":"2018-04-04T00:01:10.86Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:02:11 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['924'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:02:12 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['924'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:02:14 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"sku": {"name": "gp_Gen5_4", "tier": "GeneralPurpose", "capacity": 4, + "family": "Gen5"}, "properties": {"storageProfile": {"backupRetentionDays": + 10, "geoRedundantBackup": "Enabled", "storageMB": 5120}}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Length: ['204'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-04T00:02:17.57Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/6f5004ed-f9c8-4050-bf6b-b09f709b3e4b?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['73'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:02:17 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/6f5004ed-f9c8-4050-bf6b-b09f709b3e4b?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/6f5004ed-f9c8-4050-bf6b-b09f709b3e4b?api-version=2017-12-01 + response: + body: {string: '{"name":"6f5004ed-f9c8-4050-bf6b-b09f709b3e4b","status":"InProgress","startTime":"2018-04-04T00:02:17.57Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:03:17 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/6f5004ed-f9c8-4050-bf6b-b09f709b3e4b?api-version=2017-12-01 + response: + body: {string: '{"name":"6f5004ed-f9c8-4050-bf6b-b09f709b3e4b","status":"Succeeded","startTime":"2018-04-04T00:02:17.57Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:04:19 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_4","tier":"GeneralPurpose","family":"Gen5","capacity":4},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['924'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:04:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_4","tier":"GeneralPurpose","family":"Gen5","capacity":4},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['924'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:04:21 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_4","tier":"GeneralPurpose","family":"Gen5","capacity":4},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['924'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:04:22 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"sku": {"name": "gp_Gen5_2", "tier": "GeneralPurpose", "capacity": 2, + "family": "Gen5"}, "properties": {"storageProfile": {"backupRetentionDays": + 10, "geoRedundantBackup": "Enabled", "storageMB": 5120}}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Length: ['204'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-04T00:04:25.097Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/539a3d14-54c3-4265-b33f-620f5795277a?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:04:24 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/539a3d14-54c3-4265-b33f-620f5795277a?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/539a3d14-54c3-4265-b33f-620f5795277a?api-version=2017-12-01 + response: + body: {string: '{"name":"539a3d14-54c3-4265-b33f-620f5795277a","status":"InProgress","startTime":"2018-04-04T00:04:25.097Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:05:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/539a3d14-54c3-4265-b33f-620f5795277a?api-version=2017-12-01 + response: + body: {string: '{"name":"539a3d14-54c3-4265-b33f-620f5795277a","status":"Succeeded","startTime":"2018-04-04T00:04:25.097Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:06:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['924'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:06:27 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['924'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:06:28 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"storageProfile": {"backupRetentionDays": 10, "geoRedundantBackup": + "Enabled", "storageMB": 5120}, "sslEnforcement": "Enabled"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Length: ['144'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-04T00:06:31.977Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/c2ccdaab-9108-4a86-9621-5819f888a7f8?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:06:31 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/c2ccdaab-9108-4a86-9621-5819f888a7f8?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/c2ccdaab-9108-4a86-9621-5819f888a7f8?api-version=2017-12-01 + response: + body: {string: '{"name":"c2ccdaab-9108-4a86-9621-5819f888a7f8","status":"Succeeded","startTime":"2018-04-04T00:06:31.977Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:07:32 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['923'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:07:33 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['923'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:07:36 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"storageProfile": {"backupRetentionDays": 10, "geoRedundantBackup": + "Enabled", "storageMB": 5120}}, "tags": {"key": "3"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + Content-Length: ['137'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"UpsertElasticServer","startTime":"2018-04-04T00:07:38.593Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/066e5b4c-3e40-4a5e-a27a-d29c3213eeb9?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:07:38 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/066e5b4c-3e40-4a5e-a27a-d29c3213eeb9?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/066e5b4c-3e40-4a5e-a27a-d29c3213eeb9?api-version=2017-12-01 + response: + body: {string: '{"name":"066e5b4c-3e40-4a5e-a27a-d29c3213eeb9","status":"Succeeded","startTime":"2018-04-04T00:07:38.593Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:08:39 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server update] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"3"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['923'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:08:40 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"3"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['923'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:13:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"properties": {"createMode": "PointInTimeRestore", "sourceServerId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003", + "restorePointInTime": "2018-04-04T00:13:40.8822909999999999Z"}, "location": + "koreasouth"}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + Content-Length: ['413'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers/azuredbclirestore000004?api-version=2017-12-01 + response: + body: {string: '{"operation":"RestoreElasticServer","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['75'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:13:43 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:13:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:14:05 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:14:16 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:14:28 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:14:39 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:14:49 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:15:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:15:11 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:15:23 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:15:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:15:45 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:15:55 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:16:06 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:16:18 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:16:29 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:16:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:16:51 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:13 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"InProgress","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:24 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/e6798032-5c96-4f75-aca0-0ed5d18d57c1?api-version=2017-12-01 + response: + body: {string: '{"name":"e6798032-5c96-4f75-aca0-0ed5d18d57c1","status":"Succeeded","startTime":"2018-04-04T00:13:44.123Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:35 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server restore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers/azuredbclirestore000004?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirestore000004.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:23:44.39+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers/azuredbclirestore000004","name":"azuredbclirestore000004","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['903'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:36 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server georestore] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"3"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"}'} + headers: + cache-control: [no-cache] + content-length: ['923'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:38 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"sku": {"name": "GP_Gen5_2"}, "properties": {"storageProfile": + {"backupRetentionDays": 20, "geoRedundantBackup": "Disabled"}, "createMode": + "GeoRestore", "sourceServerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003"}, + "location": "koreasouth"}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server georestore] + Connection: [keep-alive] + Content-Length: ['453'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers/azuredbcligeorestore000005?api-version=2017-12-01 + response: + body: {string: '{"operation":"RestoreElasticServer","startTime":"2018-04-04T00:17:39.79Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/33d65878-371b-4fc3-97e2-fe1e51ef1263?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['74'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:39 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/33d65878-371b-4fc3-97e2-fe1e51ef1263?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1195'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server georestore] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/33d65878-371b-4fc3-97e2-fe1e51ef1263?api-version=2017-12-01 + response: + body: {string: '{"name":"33d65878-371b-4fc3-97e2-fe1e51ef1263","status":"Failed","startTime":"2018-04-04T00:17:39.79Z","error":{"code":"SubscriptionDoesNotHaveServer","message":"Subscription + ''707595a1-1498-4b7d-9771-cf0455939d2c'' does not have the server ''azuredbclitest000003''."}}'} + headers: + cache-control: [no-cache] + content-length: ['308'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:50 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers?api-version=2017-12-01 + response: + body: {string: '{"value":[{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirestore000004.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:23:44.39+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers/azuredbclirestore000004","name":"azuredbclirestore000004","type":"Microsoft.DBforPostgreSQL/servers"}]}'} + headers: + cache-control: [no-cache] + content-length: ['915'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:51 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/servers?api-version=2017-12-01 + response: + body: {string: '{"value":[{"sku":{"name":"B_Gen4_1","tier":"Basic","family":"Gen4","capacity":1},"properties":{"administratorLogin":"TestUser123","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"pgcarbontest1.postgres.database.azure.com","earliestRestoreDate":"2018-03-29T21:19:09.733+00:00","replicationRole":"","primaryServerId":""},"location":"eastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PGCarbonTesting/providers/Microsoft.DBforPostgreSQL/servers/pgcarbontest1","name":"pgcarbontest1","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"B_Gen4_1","tier":"Basic","family":"Gen4","capacity":1},"properties":{"administratorLogin":"deaadmin","storageProfile":{"storageMB":51200,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"dataexperimentation.postgres.database.azure.com","earliestRestoreDate":"2018-03-28T00:17:52.8404722+00:00","replicationRole":"","primaryServerId":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresstest/providers/Microsoft.DBforPostgreSQL/servers/dataexperimentation","name":"dataexperimentation","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"shinim","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"eastus2gen5.postgres.database.azure.com","earliestRestoreDate":"2018-04-03T07:17:28.343+00:00","replicationRole":"","primaryServerId":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/OrcasGATesting/providers/Microsoft.DBforPostgreSQL/servers/eastus2gen5","name":"eastus2gen5","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"B_Gen5_1","tier":"Basic","family":"Gen5","capacity":1},"properties":{"administratorLogin":"Username123","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"pgbasicgen5v1.postgres.database.azure.com","earliestRestoreDate":"2018-03-28T00:17:52.924888+00:00","replicationRole":"","primaryServerId":""},"location":"japaneast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/OrcasGATesting/providers/Microsoft.DBforPostgreSQL/servers/pgbasicgen5v1","name":"pgbasicgen5v1","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"B_Gen5_2","tier":"Basic","family":"Gen5","capacity":2},"properties":{"administratorLogin":"Username123","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"pgdbbasicgen5v2.postgres.database.azure.com","earliestRestoreDate":"2018-03-28T00:17:52.924888+00:00","replicationRole":"","primaryServerId":""},"location":"japaneast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/OrcasGATesting/providers/Microsoft.DBforPostgreSQL/servers/pgdbbasicgen5v2","name":"pgdbbasicgen5v2","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"Username123","storageProfile":{"storageMB":10240,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"pgdbgpgen5v2.postgres.database.azure.com","earliestRestoreDate":"2018-03-28T00:17:52.924888+00:00","replicationRole":"","primaryServerId":""},"location":"japaneast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/OrcasGATesting/providers/Microsoft.DBforPostgreSQL/servers/pgdbgpgen5v2","name":"pgdbgpgen5v2","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"shinim","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"testjapan5.postgres.database.azure.com","earliestRestoreDate":"2018-04-03T07:12:46.603+00:00","replicationRole":"","primaryServerId":""},"location":"japaneast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/OrcasGATesting/providers/Microsoft.DBforPostgreSQL/servers/testjapan5","name":"testjapan5","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"GP_Gen4_2","tier":"GeneralPurpose","family":"Gen4","capacity":2},"properties":{"administratorLogin":"shinim","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"testjapanwest5.postgres.database.azure.com","earliestRestoreDate":"2018-04-03T07:14:11.65+00:00","replicationRole":"","primaryServerId":""},"location":"japanwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/OrcasGATesting/providers/Microsoft.DBforPostgreSQL/servers/testjapanwest5","name":"testjapanwest5","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"shinim","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"testjapanwest56.postgres.database.azure.com","earliestRestoreDate":"2018-04-03T07:14:43.86+00:00","replicationRole":"","primaryServerId":""},"location":"japanwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/OrcasGATesting/providers/Microsoft.DBforPostgreSQL/servers/testjapanwest56","name":"testjapanwest56","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclitest000003.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:09:02.813+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","tags":{"key":"3"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003","name":"azuredbclitest000003","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"cloudsa","storageProfile":{"storageMB":5120,"backupRetentionDays":10,"geoRedundantBackup":"Enabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"azuredbclirestore000004.postgres.database.azure.com","earliestRestoreDate":"2018-04-04T00:23:44.39+00:00","replicationRole":"","primaryServerId":""},"location":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers/azuredbclirestore000004","name":"azuredbclirestore000004","type":"Microsoft.DBforPostgreSQL/servers"},{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"shinim","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"version":"9.6","sslEnforcement":"Enabled","userVisibleState":"Ready","fullyQualifiedDomainName":"southcentralustesting5.postgres.database.azure.com","earliestRestoreDate":"2018-04-03T07:19:14.41+00:00","replicationRole":"","primaryServerId":""},"location":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/OrcasGATesting/providers/Microsoft.DBforPostgreSQL/servers/southcentralustesting5","name":"southcentralustesting5","type":"Microsoft.DBforPostgreSQL/servers"}]}'} + headers: + cache-control: [no-cache] + content-length: ['8795'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:52 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-original-request-ids: [aef3c36c-e3f7-4751-b411-3faaa4dfbb9a, 7ced6b51-ceba-4c62-bfc8-38c18f7bb50a, + e25494ff-2fad-4658-8e5e-45a5073062c1, e70f8319-cdd7-4b28-8f1e-86896b1dc689, + 153903d7-3412-4609-aecf-f4fd2f34c25d, 347a66a1-8293-483d-a5f5-a14d40f8bfdf] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers/azuredbclitest000003?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServer","startTime":"2018-04-04T00:17:54.53Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/45b5ddbe-5431-4a83-9dcd-a0833029e4fa?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['71'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:17:54 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/45b5ddbe-5431-4a83-9dcd-a0833029e4fa?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server delete] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/45b5ddbe-5431-4a83-9dcd-a0833029e4fa?api-version=2017-12-01 + response: + body: {string: '{"name":"45b5ddbe-5431-4a83-9dcd-a0833029e4fa","status":"Succeeded","startTime":"2018-04-04T00:17:54.53Z"}'} + headers: + cache-control: [no-cache] + content-length: ['106'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:18:10 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers/azuredbclirestore000004?api-version=2017-12-01 + response: + body: {string: '{"operation":"DropElasticServer","startTime":"2018-04-04T00:18:12.127Z"}'} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/100f034a-b510-4dcb-96f6-80f5fb0991c9?api-version=2017-12-01'] + cache-control: [no-cache] + content-length: ['72'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:18:12 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/operationResults/100f034a-b510-4dcb-96f6-80f5fb0991c9?api-version=2017-12-01'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server delete] + Connection: [keep-alive] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/koreasouth/azureAsyncOperation/100f034a-b510-4dcb-96f6-80f5fb0991c9?api-version=2017-12-01 + response: + body: {string: '{"name":"100f034a-b510-4dcb-96f6-80f5fb0991c9","status":"Succeeded","startTime":"2018-04-04T00:18:12.127Z"}'} + headers: + cache-control: [no-cache] + content-length: ['107'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:18:27 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/servers?api-version=2017-12-01 + response: + body: {string: '{"value":[]}'} + headers: + cache-control: [no-cache] + content-length: ['12'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:18:28 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [postgres server list] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.0.31] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/Microsoft.DBforPostgreSQL/servers?api-version=2017-12-01 + response: + body: {string: '{"value":[]}'} + headers: + cache-control: [no-cache] + content-length: ['12'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 04 Apr 2018 00:18:29 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [Microsoft-HTTPAPI/2.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.31] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Wed, 04 Apr 2018 00:18:29 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdYUjRSVEM2NklaNEVPRFhKTVk0SlJDNU9UNEZJNDJHUEhRRnxBMTdGMzZFMkU2RjExNEI2LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 + msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python + AZURECLI/2.0.31] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Wed, 04 Apr 2018 00:18:30 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdZSlNKTVNETk9CSU4yRkVBVkRRNFNDM1RJUVJJQU5XSERNSHxFNzJEODRFQzcwRDE3N0Q0LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/rdbms_vnet/azext_rdbms_vnet/tests/test_rdbms_commands.py b/src/rdbms_vnet/azext_rdbms_vnet/tests/test_rdbms_commands.py new file mode 100644 index 00000000000..5c4fa1110c0 --- /dev/null +++ b/src/rdbms_vnet/azext_rdbms_vnet/tests/test_rdbms_commands.py @@ -0,0 +1,472 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from datetime import datetime +from dateutil.tz import tzutc # pylint: disable=import-error + +from azure.cli.core.util import CLIError +from azure.cli.testsdk.base import execute +from azure.cli.testsdk.exceptions import CliTestError # pylint: disable=unused-import +from azure.cli.testsdk import ( + JMESPathCheck, + NoneCheck, + ResourceGroupPreparer, + ScenarioTest) +from azure.cli.testsdk.preparers import ( + AbstractPreparer, + SingleValueReplacer) + + +# Constants +SERVER_NAME_PREFIX = 'azuredbclitest' +SERVER_NAME_MAX_LENGTH = 63 + + +class ServerPreparer(AbstractPreparer, SingleValueReplacer): + # pylint: disable=too-many-instance-attributes + def __init__(self, engine_type='mysql', engine_parameter_name='database_engine', + name_prefix=SERVER_NAME_PREFIX, parameter_name='server', location='brazilsouth', + admin_user='cloudsa', admin_password='SecretPassword123', + resource_group_parameter_name='resource_group', skip_delete=True, + sku_name='GP_Gen5_2'): + super(ServerPreparer, self).__init__(name_prefix, SERVER_NAME_MAX_LENGTH) + from azure.cli.testsdk import TestCli + self.cli_ctx = TestCli() + self.engine_type = engine_type + self.engine_parameter_name = engine_parameter_name + self.location = location + self.parameter_name = parameter_name + self.admin_user = admin_user + self.admin_password = admin_password + self.resource_group_parameter_name = resource_group_parameter_name + self.skip_delete = skip_delete + self.sku_name = sku_name + + def create_resource(self, name, **kwargs): + group = self._get_resource_group(**kwargs) + template = 'az {} server create -l {} -g {} -n {} -u {} -p {} --sku-name {}' + execute(self.cli_ctx, template.format(self.engine_type, + self.location, + group, name, + self.admin_user, + self.admin_password, + self.sku_name)) + return {self.parameter_name: name, + self.engine_parameter_name: self.engine_type} + + def remove_resource(self, name, **kwargs): + if not self.skip_delete: + group = self._get_resource_group(**kwargs) + execute(self.cli_ctx, 'az {} server delete -g {} -n {} --yes'.format(self.engine_type, group, name)) + + def _get_resource_group(self, **kwargs): + return kwargs.get(self.resource_group_parameter_name) + + +class ServerMgmtScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(parameter_name='resource_group_1') + @ResourceGroupPreparer(parameter_name='resource_group_2') + def test_mysql_server_mgmt(self, resource_group_1, resource_group_2): + self._test_server_mgmt('mysql', resource_group_1, resource_group_2) + + @ResourceGroupPreparer(parameter_name='resource_group_1') + @ResourceGroupPreparer(parameter_name='resource_group_2') + def test_postgres_server_mgmt(self, resource_group_1, resource_group_2): + self._test_server_mgmt('postgres', resource_group_1, resource_group_2) + + def _test_server_mgmt(self, database_engine, resource_group_1, resource_group_2): + servers = [self.create_random_name(SERVER_NAME_PREFIX, SERVER_NAME_MAX_LENGTH), + self.create_random_name('azuredbclirestore', SERVER_NAME_MAX_LENGTH), + self.create_random_name('azuredbcligeorestore', SERVER_NAME_MAX_LENGTH)] + admin_login = 'cloudsa' + admin_passwords = ['SecretPassword123', 'SecretPassword456'] + edition = 'GeneralPurpose' + backupRetention = 10 + geoRedundantBackup = 'Enabled' + old_cu = 2 + new_cu = 4 + family = 'Gen5' + skuname = '{}_{}_{}'.format("GP", family, old_cu) + loc = 'koreasouth' + + geoGeoRedundantBackup = 'Disabled' + geoBackupRetention = 20 + geoloc = 'koreasouth' + + # test create server + self.cmd('{} server create -g {} --name {} -l {} ' + '--admin-user {} --admin-password {} ' + '--sku-name {} --tags key=1 --geo-redundant-backup {} ' + '--backup-retention {}' + .format(database_engine, resource_group_1, servers[0], loc, + admin_login, admin_passwords[0], skuname, + geoRedundantBackup, backupRetention), + checks=[ + JMESPathCheck('name', servers[0]), + JMESPathCheck('resourceGroup', resource_group_1), + JMESPathCheck('administratorLogin', admin_login), + JMESPathCheck('sslEnforcement', 'Enabled'), + JMESPathCheck('tags.key', '1'), + JMESPathCheck('sku.capacity', old_cu), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('storageProfile.backupRetentionDays', backupRetention), + JMESPathCheck('storageProfile.geoRedundantBackup', geoRedundantBackup)]) + + # test show server + result = self.cmd('{} server show -g {} --name {}' + .format(database_engine, resource_group_1, servers[0]), + checks=[ + JMESPathCheck('name', servers[0]), + JMESPathCheck('resourceGroup', resource_group_1), + JMESPathCheck('administratorLogin', admin_login), + JMESPathCheck('sslEnforcement', 'Enabled'), + JMESPathCheck('tags.key', '1'), + JMESPathCheck('sku.capacity', old_cu), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('storageProfile.backupRetentionDays', backupRetention), + JMESPathCheck('storageProfile.geoRedundantBackup', geoRedundantBackup)]).get_output_in_json() # pylint: disable=line-too-long + + # test update server + self.cmd('{} server update -g {} --name {} --admin-password {} ' + '--ssl-enforcement Disabled --tags key=2' + .format(database_engine, resource_group_1, servers[0], admin_passwords[1]), + checks=[ + JMESPathCheck('name', servers[0]), + JMESPathCheck('resourceGroup', resource_group_1), + JMESPathCheck('sslEnforcement', 'Disabled'), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('tags.key', '2'), + JMESPathCheck('administratorLogin', admin_login)]) + + self.cmd('{} server update -g {} --name {} --vcore {}' + .format(database_engine, resource_group_1, servers[0], new_cu), + checks=[ + JMESPathCheck('name', servers[0]), + JMESPathCheck('resourceGroup', resource_group_1), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('sku.capacity', new_cu), + JMESPathCheck('administratorLogin', admin_login)]) + + # test show server + self.cmd('{} server show -g {} --name {}' + .format(database_engine, resource_group_1, servers[0]), + checks=[ + JMESPathCheck('name', servers[0]), + JMESPathCheck('resourceGroup', resource_group_1), + JMESPathCheck('sslEnforcement', 'Disabled'), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('sku.capacity', new_cu), + JMESPathCheck('tags.key', '2'), + JMESPathCheck('administratorLogin', admin_login)]) + + # test update server per property + self.cmd('{} server update -g {} --name {} --vcore {}' + .format(database_engine, resource_group_1, servers[0], old_cu), + checks=[ + JMESPathCheck('name', servers[0]), + JMESPathCheck('resourceGroup', resource_group_1), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('sku.capacity', old_cu), + JMESPathCheck('administratorLogin', admin_login)]) + + self.cmd('{} server update -g {} --name {} --ssl-enforcement Enabled' + .format(database_engine, resource_group_1, servers[0]), + checks=[ + JMESPathCheck('name', servers[0]), + JMESPathCheck('resourceGroup', resource_group_1), + JMESPathCheck('sslEnforcement', 'Enabled'), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('administratorLogin', admin_login)]) + + self.cmd('{} server update -g {} --name {} --tags key=3' + .format(database_engine, resource_group_1, servers[0]), + checks=[ + JMESPathCheck('name', servers[0]), + JMESPathCheck('resourceGroup', resource_group_1), + JMESPathCheck('sslEnforcement', 'Enabled'), + JMESPathCheck('tags.key', '3'), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('administratorLogin', admin_login)]) + + # test restore to a new server, make sure wait at least 5 min after server created. + from time import sleep + sleep(300) + + self.cmd('{} server restore -g {} --name {} ' + '--source-server {} ' + '--restore-point-in-time {}' + .format(database_engine, resource_group_2, servers[1], result['id'], + datetime.utcnow().replace(tzinfo=tzutc()).isoformat()), + checks=[ + JMESPathCheck('name', servers[1]), + JMESPathCheck('resourceGroup', resource_group_2), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('administratorLogin', admin_login)]) + + # test georestore server + with self.assertRaises(CLIError) as exception: + self.cmd('{} server georestore -g {} --name {} --source-server {} -l {} ' + '--geo-redundant-backup {} --backup-retention {}' + .format(database_engine, resource_group_2, servers[2], result['id'], + geoloc, geoGeoRedundantBackup, geoBackupRetention), + checks=[ + JMESPathCheck('name', servers[2]), + JMESPathCheck('resourceGroup', resource_group_2), + JMESPathCheck('sku.tier', edition), + JMESPathCheck('administratorLogin', admin_login), + JMESPathCheck('location', geoloc), + JMESPathCheck('storageProfile.backupRetentionDays', geoBackupRetention), + JMESPathCheck('storageProfile.geoRedundantBackup', geoGeoRedundantBackup)]) + self.assertTrue(' does not have the server ' in '{}'.format(exception.exception)) + + # test list servers + self.cmd('{} server list -g {}'.format(database_engine, resource_group_2), + checks=[JMESPathCheck('type(@)', 'array')]) + + # test list servers without resource group + self.cmd('{} server list'.format(database_engine), + checks=[JMESPathCheck('type(@)', 'array')]) + + # test delete server + self.cmd('{} server delete -g {} --name {} --yes' + .format(database_engine, resource_group_1, servers[0]), checks=NoneCheck()) + self.cmd('{} server delete -g {} -n {} --yes' + .format(database_engine, resource_group_2, servers[1]), checks=NoneCheck()) + + # test list server should be 0 + self.cmd('{} server list -g {}'.format(database_engine, resource_group_1), checks=[NoneCheck()]) + self.cmd('{} server list -g {}'.format(database_engine, resource_group_2), checks=[NoneCheck()]) + + +class ProxyResourcesMgmtScenarioTest(ScenarioTest): + + @ResourceGroupPreparer() + @ServerPreparer(engine_type='mysql') + def test_mysql_proxy_resources_mgmt(self, resource_group, server, database_engine): + self._test_firewall_mgmt(resource_group, server, database_engine) + self._test_vnet_firewall_mgmt(resource_group, server, database_engine) + self._test_db_mgmt(resource_group, server, database_engine) + self._test_configuration_mgmt(resource_group, server, database_engine) + self._test_log_file_mgmt(resource_group, server, database_engine) + + @ResourceGroupPreparer() + @ServerPreparer(engine_type='postgres') + def test_postgres_proxy_resources_mgmt(self, resource_group, server, database_engine): + self._test_firewall_mgmt(resource_group, server, database_engine) + self._test_vnet_firewall_mgmt(resource_group, server, database_engine) + self._test_db_mgmt(resource_group, server, database_engine) + self._test_configuration_mgmt(resource_group, server, database_engine) + self._test_log_file_mgmt(resource_group, server, database_engine) + + def _test_firewall_mgmt(self, resource_group, server, database_engine): + firewall_rule_1 = 'rule1' + start_ip_address_1 = '0.0.0.0' + end_ip_address_1 = '255.255.255.255' + firewall_rule_2 = 'rule2' + start_ip_address_2 = '123.123.123.123' + end_ip_address_2 = '123.123.123.124' + + # test firewall-rule create + self.cmd('{} server firewall-rule create -n {} -g {} -s {} ' + '--start-ip-address {} --end-ip-address {}' + .format(database_engine, firewall_rule_1, resource_group, server, + start_ip_address_1, end_ip_address_1), + checks=[ + JMESPathCheck('name', firewall_rule_1), + JMESPathCheck('resourceGroup', resource_group), + JMESPathCheck('startIpAddress', start_ip_address_1), + JMESPathCheck('endIpAddress', end_ip_address_1)]) + + # test firewall-rule show + self.cmd('{} server firewall-rule show --name {} -g {} --server {}' + .format(database_engine, firewall_rule_1, resource_group, server), + checks=[ + JMESPathCheck('name', firewall_rule_1), + JMESPathCheck('resourceGroup', resource_group), + JMESPathCheck('startIpAddress', start_ip_address_1), + JMESPathCheck('endIpAddress', end_ip_address_1)]) + + # test firewall-rule update + self.cmd('{} server firewall-rule update -n {} -g {} -s {} ' + '--start-ip-address {} --end-ip-address {}' + .format(database_engine, firewall_rule_1, resource_group, server, + start_ip_address_2, end_ip_address_2), + checks=[ + JMESPathCheck('name', firewall_rule_1), + JMESPathCheck('resourceGroup', resource_group), + JMESPathCheck('startIpAddress', start_ip_address_2), + JMESPathCheck('endIpAddress', end_ip_address_2)]) + + self.cmd('{} server firewall-rule update --name {} -g {} --server {} ' + '--start-ip-address {}' + .format(database_engine, firewall_rule_1, resource_group, server, + start_ip_address_1), + checks=[ + JMESPathCheck('name', firewall_rule_1), + JMESPathCheck('resourceGroup', resource_group), + JMESPathCheck('startIpAddress', start_ip_address_1), + JMESPathCheck('endIpAddress', end_ip_address_2)]) + + self.cmd('{} server firewall-rule update -n {} -g {} -s {} ' + '--end-ip-address {}' + .format(database_engine, firewall_rule_1, resource_group, server, + end_ip_address_1), + checks=[ + JMESPathCheck('name', firewall_rule_1), + JMESPathCheck('resourceGroup', resource_group), + JMESPathCheck('startIpAddress', start_ip_address_1), + JMESPathCheck('endIpAddress', end_ip_address_1)]) + + # test firewall-rule create another rule + self.cmd('{} server firewall-rule create --name {} -g {} --server {} ' + '--start-ip-address {} --end-ip-address {}' + .format(database_engine, firewall_rule_2, resource_group, server, + start_ip_address_2, end_ip_address_2), + checks=[ + JMESPathCheck('name', firewall_rule_2), + JMESPathCheck('resourceGroup', resource_group), + JMESPathCheck('startIpAddress', start_ip_address_2), + JMESPathCheck('endIpAddress', end_ip_address_2)]) + + # test firewall-rule list + self.cmd('{} server firewall-rule list -g {} -s {}' + .format(database_engine, resource_group, server), checks=[JMESPathCheck('length(@)', 2)]) + + self.cmd('{} server firewall-rule delete --name {} -g {} --server {} --yes' + .format(database_engine, firewall_rule_1, resource_group, server), checks=NoneCheck()) + self.cmd('{} server firewall-rule list -g {} --server {}' + .format(database_engine, resource_group, server), checks=[JMESPathCheck('length(@)', 1)]) + self.cmd('{} server firewall-rule delete -n {} -g {} -s {} --yes' + .format(database_engine, firewall_rule_2, resource_group, server), checks=NoneCheck()) + self.cmd('{} server firewall-rule list -g {} --server {}' + .format(database_engine, resource_group, server), checks=[NoneCheck()]) + + def _test_vnet_firewall_mgmt(self, resource_group, server, database_engine): + vnet_firewall_rule_1 = 'vnet_rule1' + vnet_firewall_rule_2 = 'vnet_rule2' + location = 'brazilsouth' + vnet_name = 'clitestvnet' + ignore_missing_endpoint = 'true' + address_prefix = '10.0.0.0/16' + + subnet_name_1 = 'clitestsubnet1' + subnet_prefix_1 = '10.0.0.0/24' + + subnet_name_2 = 'clitestsubnet2' + subnet_prefix_2 = '10.0.1.0/24' + + # pre create the dependent resources here + # create vnet and subnet + execute(self.cli_ctx, 'az network vnet create -n {} -g {} -l {} ' + '--address-prefix {} --subnet-name {} --subnet-prefix {}'.format(vnet_name, resource_group, location, address_prefix, subnet_name_1, + subnet_prefix_1)) + # add one more subnet + execute(self.cli_ctx, 'az network vnet subnet create --vnet-name {} -g {} ' + '--address-prefix {} -n {}'.format(vnet_name, resource_group, subnet_prefix_2, subnet_name_2)) + # test vnet-rule create + self.cmd('{} server vnet-rule create -n {} -g {} -s {} ' + '--vnet-name {} --subnet {} --ignore-missing-endpoint {}' + .format(database_engine, vnet_firewall_rule_1, resource_group, server, + vnet_name, subnet_name_1, ignore_missing_endpoint), + checks=[ + JMESPathCheck('name', vnet_firewall_rule_1), + JMESPathCheck('resourceGroup', resource_group), + JMESPathCheck('state', 'Ready')]) + + # test vnet-rule show + self.cmd('{} server vnet-rule show -n {} -g {} -s {}' + .format(database_engine, vnet_firewall_rule_1, resource_group, server), + checks=[ + JMESPathCheck('name', vnet_firewall_rule_1), + JMESPathCheck('resourceGroup', resource_group), + JMESPathCheck('state', 'Ready')]) + + # test create one more vnet rule . + self.cmd('{} server vnet-rule create -n {} -g {} -s {} ' + '--vnet-name {} --subnet {} --ignore-missing-endpoint {}' + .format(database_engine, vnet_firewall_rule_2, resource_group, server, + vnet_name, subnet_name_2, ignore_missing_endpoint), + checks=[ + JMESPathCheck('name', vnet_firewall_rule_2), + JMESPathCheck('resourceGroup', resource_group), + JMESPathCheck('state', 'Ready')]) + + # test vnet-rule list + self.cmd('{} server vnet-rule list -g {} -s {}' + .format(database_engine, resource_group, server), + checks=[JMESPathCheck('length(@)', 2)]) + + self.cmd('{} server vnet-rule delete --name {} -g {} --server {} --yes' + .format(database_engine, vnet_firewall_rule_1, resource_group, server), checks=NoneCheck()) + self.cmd('{} server vnet-rule list -g {} --server {}' + .format(database_engine, resource_group, server), checks=[JMESPathCheck('length(@)', 1)]) + self.cmd('{} server vnet-rule delete -n {} -g {} -s {} --yes' + .format(database_engine, vnet_firewall_rule_2, resource_group, server), checks=NoneCheck()) + self.cmd('{} server vnet-rule list -g {} --server {}' + .format(database_engine, resource_group, server), checks=[NoneCheck()]) + + def _test_db_mgmt(self, resource_group, server, database_engine): + self.cmd('{} db list -g {} -s {}'.format(database_engine, resource_group, server), + checks=JMESPathCheck('type(@)', 'array')) + + def _test_configuration_mgmt(self, resource_group, server, database_engine): + if database_engine == 'mysql': + config_name = 'log_slow_admin_statements' + default_value = 'OFF' + new_value = 'ON' + else: + config_name = 'array_nulls' + default_value = 'on' + new_value = 'off' + + # test show configuration + self.cmd('{} server configuration show --name {} -g {} --server {}' + .format(database_engine, config_name, resource_group, server), + checks=[ + JMESPathCheck('name', config_name), + JMESPathCheck('value', default_value), + JMESPathCheck('source', 'system-default')]) + + # test update configuration + self.cmd('{} server configuration set -n {} -g {} -s {} --value {}' + .format(database_engine, config_name, resource_group, server, new_value), + checks=[ + JMESPathCheck('name', config_name), + JMESPathCheck('value', new_value), + JMESPathCheck('source', 'user-override')]) + + self.cmd('{} server configuration set -n {} -g {} -s {}' + .format(database_engine, config_name, resource_group, server), + checks=[ + JMESPathCheck('name', config_name), + JMESPathCheck('value', default_value)]) + + # test list configurations + self.cmd('{} server configuration list -g {} -s {}' + .format(database_engine, resource_group, server), + checks=[JMESPathCheck('type(@)', 'array')]) + + def _test_log_file_mgmt(self, resource_group, server, database_engine): + if database_engine == 'mysql': + config_name = 'slow_query_log' + new_value = 'ON' + + # test update configuration + self.cmd('{} server configuration set -n {} -g {} -s {} --value {}' + .format(database_engine, config_name, resource_group, server, new_value), + checks=[ + JMESPathCheck('name', config_name), + JMESPathCheck('value', new_value)]) + + # test list log files + # ensure recording good for at least 5 years! + result = self.cmd('{} server-logs list -g {} -s {} --file-last-written 43800' + .format(database_engine, resource_group, server), + checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('type(@)', 'array')]).get_output_in_json() + + self.assertIsNotNone(result[0]['name']) diff --git a/src/rdbms/azext_rdbms/validators.py b/src/rdbms_vnet/azext_rdbms_vnet/validators.py similarity index 82% rename from src/rdbms/azext_rdbms/validators.py rename to src/rdbms_vnet/azext_rdbms_vnet/validators.py index 581891d11bb..3ca02f533d3 100644 --- a/src/rdbms/azext_rdbms/validators.py +++ b/src/rdbms_vnet/azext_rdbms_vnet/validators.py @@ -13,8 +13,9 @@ def get_combined_validator(validators): def _final_validator_impl(cmd, namespace): # do additional creation validation - verb = cmd.name.rsplit(' ', 1)[1] - if verb == 'create': + verbs = cmd.name.rsplit(' ', 2) + if verbs[1] == 'server' and verbs[2] == 'create': + storage_validator(namespace) password_validator(namespace) get_default_location_from_resource_group(cmd, namespace) @@ -39,3 +40,8 @@ def password_validator(ns): ns.administrator_login_password = prompt_pass(msg='Admin Password: ') except NoTTYException: raise CLIError('Please specify password in non-interactive mode.') + + +def storage_validator(ns): + if ns.storage_mb and ns.storage_mb > 1023 * 1024: + raise ValueError('The size of storage cannot exceed 1023GB.') diff --git a/src/rdbms/setup.cfg b/src/rdbms_vnet/setup.cfg similarity index 100% rename from src/rdbms/setup.cfg rename to src/rdbms_vnet/setup.cfg diff --git a/src/rdbms/setup.py b/src/rdbms_vnet/setup.py similarity index 78% rename from src/rdbms/setup.py rename to src/rdbms_vnet/setup.py index 7516026bbbd..926bfabe6fa 100644 --- a/src/rdbms/setup.py +++ b/src/rdbms_vnet/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.0.5" +VERSION = "10.0.0" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -27,13 +27,13 @@ DEPENDENCIES = [] setup( - name='rdbms', + name='rdbms-vnet', version=VERSION, - description='An Azure CLI Extension providing support for Azure MySQL and Azure PostgreSQL.', - long_description='An Azure CLI Extension providing support for Azure MySQL and Azure PostgreSQL.', + description='Support for Virtual Network rules in Azure MySQL and Azure PostgreSQL resources', + long_description='Support for Virtual Network rules in Azure MySQL and Azure PostgreSQL resources', license='MIT', - author='Rohit Joy', - author_email='rohitjoy@microsoft.com', + author='Rahul G S', + author_email='ragoutha@microsoft.com', url='https://github.com/Azure/azure-cli-extensions', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), diff --git a/src/signalr/azext_signalr/tests/latest/recordings/test_signalr_commands.yaml b/src/signalr/azext_signalr/tests/latest/recordings/test_signalr_commands.yaml index 6dbaa85b81a..75ea072b4ab 100644 --- a/src/signalr/azext_signalr/tests/latest/recordings/test_signalr_commands.yaml +++ b/src/signalr/azext_signalr/tests/latest/recordings/test_signalr_commands.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.32] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: !!python/unicode '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"date":"2018-04-18T06:43:11Z","product":"azurecli","cause":"automation"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -327,7 +327,7 @@ interactions: AZURECLI/2.0.32] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: !!python/unicode ''} headers: @@ -335,7 +335,7 @@ interactions: content-length: ['0'] date: ['Wed, 18 Apr 2018 06:46:08 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkczNEM0V0hXU0pKLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkczNEM0V0hXU0pKLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/signalr/azext_signalr/tests/latest/recordings/test_signalr_create.yaml b/src/signalr/azext_signalr/tests/latest/recordings/test_signalr_create.yaml index 75aae86f480..13cc85e7dd2 100644 --- a/src/signalr/azext_signalr/tests/latest/recordings/test_signalr_create.yaml +++ b/src/signalr/azext_signalr/tests/latest/recordings/test_signalr_create.yaml @@ -14,7 +14,7 @@ interactions: AZURECLI/2.0.32] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: !!python/unicode '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"date":"2018-04-18T03:06:18Z","product":"azurecli","cause":"automation"},"properties":{"provisioningState":"Succeeded"}}'} headers: @@ -354,7 +354,7 @@ interactions: AZURECLI/2.0.32] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: !!python/unicode ''} headers: @@ -362,7 +362,7 @@ interactions: content-length: ['0'] date: ['Wed, 18 Apr 2018 03:11:20 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc3WjY0N0JCT1NGLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc3WjY0N0JCT1NGLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] diff --git a/src/storage-preview/README.md b/src/storage-preview/README.md new file mode 100644 index 00000000000..b9fb48ac4d4 --- /dev/null +++ b/src/storage-preview/README.md @@ -0,0 +1,70 @@ +# Azure CLI Storage Preview Extension # +This is a extension for storage preview features. + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name storage-preview +``` + +### Included Features +**OAuth:** +Allow use of login credentials for authorization of storage operations: [more info](https://docs.microsoft.com/en-us/rest/api/storageservices/authenticate-with-azure-active-directory) +*Examples:* +``` +az storage container list \ + --account-name wilxstoragev2 \ + --auth-mode login +``` + +**Immutable Storage-WORM(Write-Once-Read-Many):** +Manage immutability storage with Azure blobs: [more info](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-immutable-storage) +*Examples:* +``` +az storage container immutability-policy create \ + --account-name accountName \ + --resource-group groupName \ + --container-name containerName \ + --period 2 + +az storage container immutability-policy lock \ + --account-name accountName \ + --resource-group groupName \ + --if-match "\"12345678abcdefg\"" + +az storage container legal-hold set \ + --account-name accountName \ + --resource-group groupName \ + --tags tag1 tag2 +``` + +**Management Policy:** +Manage data policy rules associated with a storage account: [more info](https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts) +*Examples:* +``` +az storage account management-policy create \ + --account-name accountName \ + --resource-group groupName \ + --policy @{path} +``` + +**Static Website:** +Manage static website configurations. +*Examples:* +``` +az storage blob service-properties update \ + --account-name accountName \ + --static-website \ + --404-document error.html \ + --index-document index.html +``` + +**Hierarchical Namespace:** +Enable the blob service to exhibit filesystem semantics. +*Examples:* +``` +az storage account create \ + --name accountName \ + --resource-group groupName \ + --hierarchical-namespace +``` \ No newline at end of file diff --git a/src/storage-preview/azext_storage_preview/__init__.py b/src/storage-preview/azext_storage_preview/__init__.py index 7ae28d3456b..5627a9a6ada 100644 --- a/src/storage-preview/azext_storage_preview/__init__.py +++ b/src/storage-preview/azext_storage_preview/__init__.py @@ -4,21 +4,23 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core import AzCommandsLoader -from azure.cli.core.profiles import ResourceType, register_resource_type +from azure.cli.core.profiles import register_resource_type from azure.cli.core.commands import AzCommandGroup, AzArgumentContext import azext_storage_preview._help # pylint: disable=unused-import -from .profiles import CUSTOM_DATA_STORAGE +from .profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_STORAGE class StorageCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - register_resource_type('latest', CUSTOM_DATA_STORAGE, '2017-11-09') + register_resource_type('latest', CUSTOM_DATA_STORAGE, '2018-03-28') + register_resource_type('latest', CUSTOM_MGMT_STORAGE, '2018-03-01-preview') storage_custom = CliCommandType(operations_tmpl='azext_storage_preview.custom#{}') super(StorageCommandsLoader, self).__init__(cli_ctx=cli_ctx, + min_profile='2017-03-10-profile', resource_type=CUSTOM_DATA_STORAGE, custom_command_type=storage_custom, command_group_cls=StorageCommandGroup, @@ -107,12 +109,12 @@ def register_common_storage_account_options(self): from ._validators import validate_encryption_services t_access_tier, t_sku_name, t_encryption_services = self.command_loader.get_models( - 'AccessTier', 'SkuName', 'EncryptionServices', resource_type=ResourceType.MGMT_STORAGE) + 'AccessTier', 'SkuName', 'EncryptionServices', resource_type=CUSTOM_MGMT_STORAGE) self.argument('https_only', help='Allows https traffic only to storage service.', arg_type=get_three_state_flag()) self.argument('sku', help='The storage account SKU.', arg_type=get_enum_type(t_sku_name)) - self.argument('assign_identity', action='store_true', resource_type=ResourceType.MGMT_STORAGE, + self.argument('assign_identity', action='store_true', resource_type=CUSTOM_MGMT_STORAGE, min_api='2017-06-01', help='Generate and assign a new Storage Account Identity for this storage account for use ' 'with key management services like Azure KeyVault.') @@ -125,15 +127,18 @@ def register_common_storage_account_options(self): encryption_choices = list( t_encryption_services._attribute_map.keys()) # pylint: disable=protected-access self.argument('encryption_services', arg_type=get_enum_type(encryption_choices), - resource_type=ResourceType.MGMT_STORAGE, min_api='2016-12-01', nargs='+', + resource_type=CUSTOM_MGMT_STORAGE, min_api='2016-12-01', nargs='+', validator=validate_encryption_services, help='Specifies which service(s) to encrypt.') class StorageCommandGroup(AzCommandGroup): - def storage_command(self, name, method_name=None, command_type=None, oauth=False, **kwargs): + def storage_command(self, name, method_name=None, command_type=None, oauth=False, generic_update=None, **kwargs): """ Registers an Azure CLI Storage Data Plane command. These commands always include the four parameters which can be used to obtain a storage client: account-name, account-key, connection-string, and sas-token. """ - if command_type: + if generic_update: + command_name = '{} {}'.format(self.group_name, name) if self.group_name else name + self.generic_update_command(name, **kwargs) + elif command_type: command_name = self.command(name, method_name, command_type=command_type, **kwargs) else: command_name = self.command(name, method_name, **kwargs) @@ -196,14 +201,17 @@ def handler(ex): def _register_data_plane_account_arguments(self, command_name): """ Add parameters required to create a storage client """ + from azure.cli.core.commands.parameters import get_resource_name_completion_list from ._validators import validate_client_parameters command = self.command_loader.command_table.get(command_name, None) if not command: return group_name = 'Storage Account' + command.add_argument('account_name', '--account-name', required=False, default=None, arg_group=group_name, + completer=get_resource_name_completion_list('Microsoft.Storage/storageAccounts'), help='Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be ' 'used in conjunction with either storage account key or a SAS token. If neither are ' 'present, the command will try to query the storage account key using the ' @@ -236,16 +244,16 @@ def _register_data_plane_oauth_arguments(self, command_name): def _merge_new_exception_handler(kwargs, handler): - if kwargs.get('exception_handler'): - def new_handler(ex): - first = kwargs['exception_handler'] - try: - first(ex) - except Exception as raised_ex: # pylint: disable=broad-except - handler(raised_ex) - kwargs['exception_handler'] = new_handler - else: - kwargs['exception_handler'] = handler + first = kwargs.get('exception_handler') + + def new_handler(ex): + try: + handler(ex) + except Exception: # pylint: disable=broad-except + if not first: + raise + first(ex) + kwargs['exception_handler'] = new_handler COMMAND_LOADER_CLS = StorageCommandsLoader diff --git a/src/storage-preview/azext_storage_preview/_client_factory.py b/src/storage-preview/azext_storage_preview/_client_factory.py index 849babefca2..335cfc69d1e 100644 --- a/src/storage-preview/azext_storage_preview/_client_factory.py +++ b/src/storage-preview/azext_storage_preview/_client_factory.py @@ -4,12 +4,12 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core.commands.client_factory import get_mgmt_service_client, _get_add_headers_callback -from azure.cli.core.profiles import ResourceType, get_sdk +from azure.cli.core.profiles import get_sdk from knack.util import CLIError from knack.log import get_logger from .sdkutil import get_table_data_type -from .profiles import CUSTOM_DATA_STORAGE +from .profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_STORAGE NO_CREDENTIALS_ERROR_MESSAGE = """ No credentials specified to access storage service. Please provide any of the following: @@ -75,7 +75,7 @@ def generic_data_service_factory(cli_ctx, service, name=None, key=None, connecti def storage_client_factory(cli_ctx, **_): - return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_STORAGE) + return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_STORAGE) def file_data_service_factory(cli_ctx, kwargs): @@ -164,3 +164,11 @@ def get_creator(name, service_type): def cf_sa(cli_ctx, _): return storage_client_factory(cli_ctx).storage_accounts + + +def cf_blob_container_mgmt(cli_ctx, _): + return storage_client_factory(cli_ctx).blob_containers + + +def cf_blob_data_gen_update(cli_ctx, kwargs): + return blob_data_service_factory(cli_ctx, kwargs.copy()) diff --git a/src/storage-preview/azext_storage_preview/_format.py b/src/storage-preview/azext_storage_preview/_format.py index 908bb395e65..ebaa934ffaa 100644 --- a/src/storage-preview/azext_storage_preview/_format.py +++ b/src/storage-preview/azext_storage_preview/_format.py @@ -148,3 +148,11 @@ def transformer(result): return return_list return transformer + + +def transform_immutability_policy(result): + # service returns policy with period value of "0" after it has been deleted + # this only shows the policy if the property value is greater than 0 + if result.immutability_period_since_creation_in_days: + return result + return None diff --git a/src/storage-preview/azext_storage_preview/_help.py b/src/storage-preview/azext_storage_preview/_help.py index f185373a813..df7785ae33d 100644 --- a/src/storage-preview/azext_storage_preview/_help.py +++ b/src/storage-preview/azext_storage_preview/_help.py @@ -224,6 +224,11 @@ short-summary: Manage storage blob service properties. """ +helps['storage blob service-properties update'] = """ + type: command + short-summary: Update storage blob service properties. +""" + helps['storage blob service-properties delete-policy'] = """ type: group short-summary: Manage storage blob delete-policy service properties. @@ -403,6 +408,21 @@ short-summary: Manage container stored access policies. """ +helps['storage container immutability-policy'] = """ + type: group + short-summary: Manage container immutability policies. +""" + +helps['storage container legal-hold'] = """ + type: group + short-summary: Manage container legal holds. +""" + +helps['storage container legal-hold show'] = """ + type: command + short-summary: Get the legal hold properties of a container. +""" + helps['storage cors'] = """ type: group short-summary: Manage storage service Cross-Origin Resource Sharing (CORS). @@ -772,6 +792,21 @@ short-summary: Remove a network rule. """ +helps['storage account management-policy'] = """ + type: group + short-summary: Manage storage account management policies. +""" + +helps['storage account management-policy create'] = """ + type: command + short-summary: Creates the data policy rules associated with the specified storage account. +""" + +helps['storage account management-policy update'] = """ + type: command + short-summary: Updates the data policy rules associated with the specified storage account. +""" + helps['storage account generate-sas'] = """ type: command parameters: diff --git a/src/storage-preview/azext_storage_preview/_params.py b/src/storage-preview/azext_storage_preview/_params.py index 454a2121a23..73dc485ed75 100644 --- a/src/storage-preview/azext_storage_preview/_params.py +++ b/src/storage-preview/azext_storage_preview/_params.py @@ -3,9 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure.cli.core.profiles import ResourceType from azure.cli.core.commands.validators import get_default_location_from_resource_group -from azure.cli.core.commands.parameters import (tags_type, file_type, get_location_type, get_enum_type) +from azure.cli.core.commands.parameters import (tags_type, file_type, get_location_type, get_enum_type, + get_three_state_flag) from ._validators import (get_datetime_type, validate_metadata, get_permission_validator, get_permission_help_string, resource_type_type, services_type, validate_entity, validate_select, validate_blob_type, @@ -13,6 +13,7 @@ validate_table_payload_format, validate_key, add_progress_callback, storage_account_key_options, process_file_download_namespace, process_metric_update_namespace, get_char_options_validator, validate_bypass, validate_encryption_source) +from .profiles import CUSTOM_MGMT_STORAGE def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statements @@ -24,7 +25,7 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem from azure.cli.core.commands.parameters import get_resource_name_completion_list from .sdkutil import get_table_data_type - from .completers import get_storage_name_completion_list + from .completers import get_storage_name_completion_list, get_container_name_completions t_base_blob_service = self.get_sdk('blob.baseblobservice#BaseBlobService') t_file_service = self.get_sdk('file#FileService') @@ -39,8 +40,7 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem parent='container_name')) container_name_type = CLIArgumentType(options_list=['--container-name', '-c'], help='The container name.', - completer=get_storage_name_completion_list(t_base_blob_service, - 'list_containers')) + completer=get_container_name_completions) directory_type = CLIArgumentType(options_list=['--directory-name', '-d'], help='The directory name.', completer=get_storage_name_completion_list(t_file_service, 'list_directories_and_files', @@ -84,7 +84,7 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem c.argument('if_match') c.argument('if_none_match') - for item in ['delete', 'list', 'show', 'show-usage', 'update', 'keys']: + for item in ['delete', 'list', 'show', 'update', 'keys']: with self.argument_context('storage account {}'.format(item)) as c: c.argument('account_name', acct_name_type, options_list=['--name', '-n']) @@ -93,9 +93,10 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem with self.argument_context('storage account create') as c: t_account_type, t_sku_name, t_kind = self.get_models('AccountType', 'SkuName', 'Kind', - resource_type=ResourceType.MGMT_STORAGE) - + resource_type=CUSTOM_MGMT_STORAGE) c.register_common_storage_account_options() + c.argument('hierarchical_namespace', help='Allows the blob service to exhibit filesystem semantics.', + arg_type=get_three_state_flag()) c.argument('location', get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) c.argument('account_type', help='The storage account type', arg_type=get_enum_type(t_account_type)) c.argument('account_name', acct_name_type, options_list=['--name', '-n'], completer=None) @@ -126,10 +127,10 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem c.ignore('encryption_key_vault_properties') for scope in ['storage account create', 'storage account update']: - with self.argument_context(scope, resource_type=ResourceType.MGMT_STORAGE, min_api='2017-06-01', + with self.argument_context(scope, resource_type=CUSTOM_MGMT_STORAGE, min_api='2017-06-01', arg_group='Network Rule') as c: t_bypass, t_default_action = self.get_models('Bypass', 'DefaultAction', - resource_type=ResourceType.MGMT_STORAGE) + resource_type=CUSTOM_MGMT_STORAGE) c.argument('bypass', nargs='+', validator=validate_bypass, arg_type=get_enum_type(t_bypass), help='Bypass traffic for space-separated uses.') @@ -173,6 +174,12 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem validator=get_permission_validator(t_account_permissions)) c.ignore('sas_token') + with self.argument_context('storage account management-policy create') as c: + c.argument('policy', type=file_type, completer=FilesCompleter(), + help='The Storage Account ManagementPolicies Rules, in JSON format. See more details in: ' + 'https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts.') + c.argument('account_name', help='The name of the storage account within the specified resource group.') + with self.argument_context('storage logging show') as c: c.extra('services', validator=get_char_options_validator('bqt', 'services'), default='bqt') @@ -238,6 +245,19 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem c.argument('days_retained', type=int, help='Number of days that soft-deleted blob will be retained. Must be in range [1,365].') + with self.argument_context('storage blob service-properties update') as c: + c.argument('delete_retention', arg_type=get_three_state_flag(), arg_group='Soft Delete', + help='Enables soft-delete.') + c.argument('days_retained', type=int, arg_group='Soft Delete', + help='Number of days that soft-deleted blob will be retained. Must be in range [1,365].') + c.argument('static_website', arg_group='Static Website', arg_type=get_three_state_flag(), + help='Enables static-website.') + c.argument('index_document', help='Represents the name of the index document. This is commonly "index.html".', + arg_group='Static Website') + c.argument('error_document_404_path', options_list=['--404-document'], arg_group='Static Website', + help='Represents the path to the error document that should be shown when an error 404 is issued,' + ' in other words, when a browser requests a page that does not exist.') + with self.argument_context('storage blob upload') as c: from ._validators import page_blob_tier_validator from .sdkutil import get_blob_types, get_blob_tier_names @@ -417,6 +437,17 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem c.argument('lease_duration', type=int) c.argument('lease_break_period', type=int) + with self.argument_context('storage container immutability-policy') as c: + c.argument('immutability_period_since_creation_in_days', options_list='--period') + c.argument('container_name', container_name_type) + c.argument('account_name', completer=get_resource_name_completion_list('Microsoft.Storage/storageAccounts')) + + with self.argument_context('storage container legal-hold') as c: + c.argument('container_name', container_name_type) + c.argument('account_name', completer=get_resource_name_completion_list('Microsoft.Storage/storageAccounts')) + c.argument('tags', nargs='+', help='Each tag should be 3 to 23 alphanumeric characters and is ' + 'normalized to lower case') + with self.argument_context('storage share') as c: c.argument('share_name', share_name_type, options_list=('--name', '-n')) diff --git a/src/storage-preview/azext_storage_preview/_validators.py b/src/storage-preview/azext_storage_preview/_validators.py index 5fd4dd94ea3..f59dd355e5f 100644 --- a/src/storage-preview/azext_storage_preview/_validators.py +++ b/src/storage-preview/azext_storage_preview/_validators.py @@ -6,13 +6,14 @@ # pylint: disable=protected-access from azure.cli.core.commands.client_factory import get_mgmt_service_client from azure.cli.core.commands.validators import validate_key_value_pairs -from azure.cli.core.profiles import ResourceType, get_sdk +from azure.cli.core.profiles import get_sdk from ._client_factory import get_storage_data_service_client from .util import glob_files_locally, guess_content_type from .sdkutil import get_table_data_type from .url_quote_util import encode_for_url from .oauth_token_util import TokenUpdater +from .profiles import CUSTOM_MGMT_STORAGE storage_account_key_options = {'primary': 'key1', 'secondary': 'key2'} @@ -23,7 +24,7 @@ # pylint: disable=inconsistent-return-statements def _query_account_key(cli_ctx, account_name): """Query the storage account key. This is used when the customer doesn't offer account key but name.""" - scf = get_mgmt_service_client(cli_ctx, ResourceType.MGMT_STORAGE) + scf = get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_STORAGE) acc = next((x for x in scf.storage_accounts.list() if x.name == account_name), None) if acc: from msrestazure.tools import parse_resource_id @@ -31,7 +32,7 @@ def _query_account_key(cli_ctx, account_name): t_storage_account_keys, t_storage_account_list_keys_results = get_sdk( cli_ctx, - ResourceType.MGMT_STORAGE, + CUSTOM_MGMT_STORAGE, 'models.storage_account_keys#StorageAccountKeys', 'models.storage_account_list_keys_result#StorageAccountListKeysResult') @@ -49,7 +50,7 @@ def _create_token_credential(cli_ctx): TokenCredential = get_sdk(cli_ctx, CUSTOM_DATA_STORAGE, 'common#TokenCredential') - token_credential = TokenCredential(None) + token_credential = TokenCredential() updater = TokenUpdater(token_credential, cli_ctx) def _cancel_timer_event_handler(_, **__): @@ -398,7 +399,7 @@ def validate_encryption_services(cmd, namespace): Builds up the encryption services object for storage account operations based on the list of services passed in. """ if namespace.encryption_services: - t_encryption_services, t_encryption_service = get_sdk(cmd.cli_ctx, ResourceType.MGMT_STORAGE, + t_encryption_services, t_encryption_service = get_sdk(cmd.cli_ctx, CUSTOM_MGMT_STORAGE, 'EncryptionServices', 'EncryptionService', mod='models') services = {service: t_encryption_service(enabled=True) for service in namespace.encryption_services} @@ -420,7 +421,7 @@ def validate_encryption_source(cmd, namespace): if namespace.encryption_key_source != 'Microsoft.Keyvault': raise ValueError('--encryption-key-name, --encryption-key-vault, and --encryption-key-version are not ' 'applicable when --encryption-key-source=Microsoft.Keyvault is not specified.') - KeyVaultProperties = get_sdk(cmd.cli_ctx, ResourceType.MGMT_STORAGE, 'KeyVaultProperties', + KeyVaultProperties = get_sdk(cmd.cli_ctx, CUSTOM_MGMT_STORAGE, 'KeyVaultProperties', mod='models') if not KeyVaultProperties: return diff --git a/src/storage-preview/azext_storage_preview/commands.py b/src/storage-preview/azext_storage_preview/commands.py index 9dc997bd307..640c7b06285 100644 --- a/src/storage-preview/azext_storage_preview/commands.py +++ b/src/storage-preview/azext_storage_preview/commands.py @@ -5,20 +5,22 @@ from azure.cli.core.commands import CliCommandType from azure.cli.core.profiles import ResourceType -from ._client_factory import (cf_sa, blob_data_service_factory, +from ._client_factory import (cf_sa, cf_blob_container_mgmt, cf_blob_data_gen_update, blob_data_service_factory, page_blob_service_factory, file_data_service_factory, queue_data_service_factory, table_data_service_factory, cloud_storage_account_service_factory, multi_service_properties_factory) from .sdkutil import cosmosdb_table_exists -from .profiles import CUSTOM_DATA_STORAGE +from .profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_STORAGE +from ._format import transform_immutability_policy def load_command_table(self, _): # pylint: disable=too-many-locals, too-many-statements storage_account_sdk = CliCommandType( - operations_tmpl='azure.mgmt.storage.operations.storage_accounts_operations#StorageAccountsOperations.{}', + operations_tmpl='azext_storage_preview.vendored_sdks.azure_mgmt_storage.operations.storage_accounts_operations' + '#StorageAccountsOperations.{}', client_factory=cf_sa, - resource_type=ResourceType.MGMT_STORAGE + resource_type=CUSTOM_MGMT_STORAGE ) storage_account_custom_type = CliCommandType( @@ -26,7 +28,7 @@ def load_command_table(self, _): # pylint: disable=too-many-locals, too-many-st client_factory=cf_sa) cloud_data_plane_sdk = CliCommandType( - operations_tmpl='azure.multiapi.storage.common#CloudStorageAccount.{}', + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage.common#CloudStorageAccount.{}', client_factory=cloud_storage_account_service_factory ) @@ -40,7 +42,7 @@ def get_custom_sdk(custom_module, client_factory, resource_type=CUSTOM_DATA_STOR resource_type=resource_type ) - with self.command_group('storage account', storage_account_sdk, resource_type=ResourceType.MGMT_STORAGE, + with self.command_group('storage account', storage_account_sdk, resource_type=CUSTOM_MGMT_STORAGE, custom_command_type=storage_account_custom_type) as g: g.command('check-name', 'check_name_availability') g.custom_command('create', 'create_storage_account', min_api='2016-01-01') @@ -55,9 +57,18 @@ def get_custom_sdk(custom_module, client_factory, resource_type=CUSTOM_DATA_STOR g.command('keys list', 'list_keys', transform=lambda x: getattr(x, 'keys', x)) g.storage_command('generate-sas', 'generate_shared_access_signature', command_type=cloud_data_plane_sdk) + with self.command_group('storage account management-policy', storage_account_sdk, resource_type=CUSTOM_MGMT_STORAGE, + custom_command_type=storage_account_custom_type) as g: + g.command('show', 'get_management_policies') + g.custom_command('create', 'create_management_policies') + g.generic_update_command('update', getter_name='get_management_policies', + setter_name='update_management_policies', + setter_type=storage_account_custom_type) + g.command('delete', 'delete_management_policies') + with self.command_group('storage account network-rule', storage_account_sdk, custom_command_type=storage_account_custom_type, - resource_type=ResourceType.MGMT_STORAGE, min_api='2017-06-01') as g: + resource_type=CUSTOM_MGMT_STORAGE, min_api='2017-06-01') as g: g.custom_command('add', 'add_network_rule') g.custom_command('list', 'list_network_rules') g.custom_command('remove', 'remove_network_rule') @@ -77,12 +88,12 @@ def get_custom_sdk(custom_module, client_factory, resource_type=CUSTOM_DATA_STOR exception_handler=g.get_handler_suppress_404()) block_blob_sdk = CliCommandType( - operations_tmpl='azure.multiapi.storage.blob.blockblobservice#BlockBlobService.{}', + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage.blob.blockblobservice#BlockBlobService.{}', client_factory=blob_data_service_factory, resource_type=CUSTOM_DATA_STORAGE) base_blob_sdk = CliCommandType( - operations_tmpl='azure.multiapi.storage.blob.baseblobservice#BaseBlobService.{}', + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage.blob.baseblobservice#BaseBlobService.{}', client_factory=blob_data_service_factory, resource_type=CUSTOM_DATA_STORAGE) @@ -129,14 +140,16 @@ def get_custom_sdk(custom_module, client_factory, resource_type=CUSTOM_DATA_STOR g.storage_custom_command_oauth('copy start-batch', 'storage_blob_copy_batch') with self.command_group('storage blob incremental-copy', - operations_tmpl='azure.multiapi.storage.blob.pageblobservice#PageBlobService.{}', + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage.blob.pageblobservice' + '#PageBlobService.{}', client_factory=page_blob_service_factory, resource_type=CUSTOM_DATA_STORAGE, min_api='2016-05-31') as g: g.storage_command_oauth('start', 'incremental_copy_blob') with self.command_group('storage blob incremental-copy', - operations_tmpl='azure.multiapi.storage.blob.blockblobservice#BlockBlobService.{}', + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage.blob.blockblobservice' + '#BlockBlobService.{}', client_factory=page_blob_service_factory, resource_type=CUSTOM_DATA_STORAGE, min_api='2016-05-31') as g: @@ -152,6 +165,10 @@ def get_custom_sdk(custom_module, client_factory, resource_type=CUSTOM_DATA_STOR with self.command_group('storage blob service-properties', command_type=base_blob_sdk) as g: g.storage_command_oauth('show', 'get_blob_service_properties', exception_handler=g.get_handler_suppress_404()) + g.storage_command_oauth('update', generic_update=True, getter_name='get_blob_service_properties', + setter_type=get_custom_sdk('blob', cf_blob_data_gen_update), + setter_name='set_service_properties', + client_factory=cf_blob_data_gen_update) with self.command_group('storage container', command_type=block_blob_sdk, custom_command_type=get_custom_sdk('acl', blob_data_service_factory)) as g: @@ -190,8 +207,27 @@ def get_custom_sdk(custom_module, client_factory, resource_type=CUSTOM_DATA_STOR g.storage_custom_command_oauth('policy show', 'get_acl_policy', exception_handler=g.get_handler_suppress_404()) g.storage_custom_command_oauth('policy list', 'list_acl_policies', table_transformer=transform_acl_list_output) + blob_container_mgmt_sdk = CliCommandType( + operations_tmpl='azext_storage_preview.vendored_sdks.azure_mgmt_storage.operations.blob_containers_operations' + '#BlobContainersOperations.{}', + client_factory=cf_blob_container_mgmt, + resource_type=CUSTOM_MGMT_STORAGE + ) + + with self.command_group('storage container immutability-policy', command_type=blob_container_mgmt_sdk) as g: + g.command('show', 'get_immutability_policy', transform=transform_immutability_policy) + g.command('create', 'create_or_update_immutability_policy') + g.command('delete', 'delete_immutability_policy', transform=lambda x: None) + g.command('lock', 'lock_immutability_policy') + g.command('extend', 'extend_immutability_policy') + + with self.command_group('storage container legal-hold', command_type=blob_container_mgmt_sdk) as g: + g.command('set', 'set_legal_hold') + g.command('clear', 'clear_legal_hold') + g.command('show', 'get', transform=lambda x: getattr(x, 'legal_hold', x)) + file_sdk = CliCommandType( - operations_tmpl='azure.multiapi.storage.file.fileservice#FileService.{}', + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage.file.fileservice#FileService.{}', client_factory=file_data_service_factory, resource_type=CUSTOM_DATA_STORAGE) @@ -272,9 +308,10 @@ def get_custom_sdk(custom_module, client_factory, resource_type=CUSTOM_DATA_STOR g.storage_command('clear', 'clear_cors') g.storage_command('list', 'list_cors', transform=transform_cors_list_output) - queue_sdk = CliCommandType(operations_tmpl='azure.multiapi.storage.queue.queueservice#QueueService.{}', - client_factory=queue_data_service_factory, - resource_type=CUSTOM_DATA_STORAGE) + queue_sdk = CliCommandType( + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage.queue.queueservice#QueueService.{}', + client_factory=queue_data_service_factory, + resource_type=CUSTOM_DATA_STORAGE) with self.command_group('storage queue', queue_sdk, custom_command_type=get_custom_sdk('acl', queue_data_service_factory)) as g: @@ -313,13 +350,15 @@ def get_custom_sdk(custom_module, client_factory, resource_type=CUSTOM_DATA_STOR g.storage_command_oauth('update', 'update_message') if cosmosdb_table_exists(self.cli_ctx): - table_sdk = CliCommandType(operations_tmpl='azure.multiapi.cosmosdb.table.tableservice#TableService.{}', - client_factory=table_data_service_factory, - resource_type=ResourceType.DATA_COSMOS_TABLE) + table_sdk = CliCommandType( + operations_tmpl='azure.multiapi.cosmosdb.table.tableservice#TableService.{}', + client_factory=table_data_service_factory, + resource_type=ResourceType.DATA_COSMOS_TABLE) else: - table_sdk = CliCommandType(operations_tmpl='azure.multiapi.storage.table.tableservice#TableService.{}', - client_factory=table_data_service_factory, - resource_type=ResourceType.DATA_COSMOS_TABLE) + table_sdk = CliCommandType( + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage.table.tableservice#TableService.{}', + client_factory=table_data_service_factory, + resource_type=ResourceType.DATA_COSMOS_TABLE) with self.command_group('storage table', table_sdk, custom_command_type=get_custom_sdk('acl', table_data_service_factory)) as g: diff --git a/src/storage-preview/azext_storage_preview/completers.py b/src/storage-preview/azext_storage_preview/completers.py index acc8b2427cb..3f8cf03277e 100644 --- a/src/storage-preview/azext_storage_preview/completers.py +++ b/src/storage-preview/azext_storage_preview/completers.py @@ -7,6 +7,7 @@ from .util import get_storage_client from ._validators import validate_client_parameters +from ._client_factory import cf_sa, cf_blob_container_mgmt @Completer @@ -97,3 +98,16 @@ def completer(cmd, _, namespace): return list(getattr(client, func)(container_name)) return completer + + +@Completer +def get_container_name_completions(cmd, _, namespace): + if namespace.account_name: + account_client = cf_sa(cmd.cli_ctx, None) + account = next((x for x in account_client.list() if x.name == namespace.account_name), None) + if account: + from msrestazure.tools import parse_resource_id + rg = parse_resource_id(account.id)['resource_group'] + container_client = cf_blob_container_mgmt(cmd.cli_ctx, None) + return [container.name for container in container_client.list(rg, account.name).value] + return [] diff --git a/src/storage-preview/azext_storage_preview/oauth_token_util.py b/src/storage-preview/azext_storage_preview/oauth_token_util.py index 3b270166d80..4d022ae4ec2 100644 --- a/src/storage-preview/azext_storage_preview/oauth_token_util.py +++ b/src/storage-preview/azext_storage_preview/oauth_token_util.py @@ -26,7 +26,7 @@ def timer_callback(self): from datetime import datetime # should give back token that is valid for at least 5 mins token = Profile(cli_ctx=self.cli_ctx).get_raw_token(resource="https://storage.azure.com")[0][2] - self.token_credential.update_token(token['accessToken']) + self.token_credential.token = token['accessToken'] seconds_left = (datetime.strptime(token['expiresOn'], "%Y-%m-%d %H:%M:%S.%f") - datetime.now()).seconds if seconds_left < 240: # acquired token expires in less than 4 mins diff --git a/src/storage-preview/azext_storage_preview/operations/account.py b/src/storage-preview/azext_storage_preview/operations/account.py index 5179065c176..7d32cc0a5f7 100644 --- a/src/storage-preview/azext_storage_preview/operations/account.py +++ b/src/storage-preview/azext_storage_preview/operations/account.py @@ -5,12 +5,15 @@ """Custom operations for storage account commands""" +import os +from azure.cli.core.util import get_file_json, shell_safe_json_parse from .._client_factory import storage_client_factory +# pylint: disable=too-many-locals def create_storage_account(cmd, resource_group_name, account_name, sku=None, location=None, kind=None, tags=None, custom_domain=None, encryption_services=None, access_tier=None, https_only=None, - bypass=None, default_action=None, assign_identity=False): + hierarchical_namespace=None, bypass=None, default_action=None, assign_identity=False): StorageAccountCreateParameters, Kind, Sku, CustomDomain, AccessTier, Identity, Encryption, NetworkRuleSet = \ cmd.get_models('StorageAccountCreateParameters', 'Kind', 'Sku', 'CustomDomain', 'AccessTier', 'Identity', 'Encryption', 'NetworkRuleSet') @@ -26,6 +29,8 @@ def create_storage_account(cmd, resource_group_name, account_name, sku=None, loc params.identity = Identity() if https_only: params.enable_https_traffic_only = https_only + if hierarchical_namespace: + params.is_hns_enabled = hierarchical_namespace if NetworkRuleSet and (bypass or default_action): if bypass and not default_action: @@ -74,9 +79,11 @@ def show_storage_account_connection_string(cmd, resource_group_name, account_nam return {'connectionString': connection_string} -def show_storage_account_usage(cmd): +def show_storage_account_usage(cmd, location=None): scf = storage_client_factory(cmd.cli_ctx) - return next((x for x in scf.usage.list() if x.name.value == 'StorageAccounts'), None) # pylint: disable=no-member + if not location: + return next((x for x in scf.usages.list() if x.name.value == 'StorageAccounts'), None) # pylint: disable=no-member + return next((x for x in scf.usages.list_by_location(location) if x.name.value == 'StorageAccounts'), None) # pylint: disable=no-member # pylint: disable=too-many-locals @@ -131,7 +138,6 @@ def update_storage_account(cmd, instance, sku=None, tags=None, custom_domain=Non from knack.util import CLIError raise CLIError('incorrect usage: --default-action ACTION [--bypass SERVICE ...]') params.network_rule_set = acl - return params @@ -180,3 +186,18 @@ def remove_network_rule(cmd, client, resource_group_name, storage_account_name, StorageAccountUpdateParameters = cmd.get_models('StorageAccountUpdateParameters') params = StorageAccountUpdateParameters(network_rule_set=rules) return client.update(resource_group_name, storage_account_name, params) + + +def create_management_policies(client, resource_group_name, account_name, policy=None): + if policy: + if os.path.exists(policy): + policy = get_file_json(policy) + else: + policy = shell_safe_json_parse(policy) + return client.create_or_update_management_policies(resource_group_name, account_name, policy=policy) + + +def update_management_policies(client, resource_group_name, account_name, parameters=None): + if parameters: + parameters = parameters.policy + return client.create_or_update_management_policies(resource_group_name, account_name, policy=parameters) diff --git a/src/storage-preview/azext_storage_preview/operations/blob.py b/src/storage-preview/azext_storage_preview/operations/blob.py index ae0c058f429..1cb604da0ed 100644 --- a/src/storage-preview/azext_storage_preview/operations/blob.py +++ b/src/storage-preview/azext_storage_preview/operations/blob.py @@ -45,6 +45,36 @@ def set_delete_policy(client, enable=None, days_retained=None): return client.get_blob_service_properties().delete_retention_policy +def set_service_properties(client, parameters, delete_retention=None, days_retained=None, static_website=None, + index_document=None, error_document_404_path=None): + # update + kwargs = {} + if any([delete_retention, days_retained]): + kwargs['delete_retention_policy'] = parameters.delete_retention_policy + if delete_retention is not None: + parameters.delete_retention_policy.enabled = delete_retention + if days_retained is not None: + parameters.delete_retention_policy.days = days_retained + + if any([static_website, index_document, error_document_404_path]): + kwargs['static_website'] = parameters.static_website + if static_website is not None: + parameters.static_website.enabled = static_website + if index_document is not None: + parameters.static_website.index_document = index_document + if error_document_404_path is not None: + parameters.static_website.error_document_404_path = error_document_404_path + + # checks + policy = parameters.delete_retention_policy + if policy.enabled and not policy.days: + from knack.util import CLIError + raise CLIError("must specify days-retained") + + client.set_blob_service_properties(**kwargs) + return client.get_blob_service_properties() + + def storage_blob_copy_batch(cmd, client, source_client, destination_container=None, destination_path=None, source_container=None, source_share=None, source_sas=None, pattern=None, dryrun=False): diff --git a/src/storage-preview/azext_storage_preview/profiles.py b/src/storage-preview/azext_storage_preview/profiles.py index 05cdc4c3244..2503e06e914 100644 --- a/src/storage-preview/azext_storage_preview/profiles.py +++ b/src/storage-preview/azext_storage_preview/profiles.py @@ -7,3 +7,5 @@ CUSTOM_DATA_STORAGE = CustomResourceType('azext_storage_preview.vendored_sdks.azure_storage', None) +CUSTOM_MGMT_STORAGE = CustomResourceType('azext_storage_preview.vendored_sdks.azure_mgmt_storage', + 'StorageManagementClient') diff --git a/src/storage-preview/azext_storage_preview/tests/latest/__init__.py b/src/storage-preview/azext_storage_preview/tests/latest/__init__.py index 34913fb394d..2b9ce91ccaf 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/__init__.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/__init__.py @@ -2,3 +2,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- + +from azure.cli.core.profiles import register_resource_type +from ...profiles import CUSTOM_MGMT_STORAGE +register_resource_type('latest', CUSTOM_MGMT_STORAGE, '2018-03-01-preview') diff --git a/src/storage-preview/azext_storage_preview/tests/latest/mgmt_policy.json b/src/storage-preview/azext_storage_preview/tests/latest/mgmt_policy.json new file mode 100644 index 00000000000..21d49bfc52f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/mgmt_policy.json @@ -0,0 +1,37 @@ +{ + "version": "0.5", + "rules": [ + { + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 1000 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 5000 + } + } + } + } + } + ] +} \ No newline at end of file diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_account_sas.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_account_sas.yaml index 48ee9409608..b4a5aece059 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_account_sas.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_account_sas.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:45:22Z"}}' + "date": "2018-06-26T23:08:16Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,49 +9,49 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:45:22Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:16Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:24 GMT'] + date: ['Tue, 26 Jun 2018 23:08:18 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:25 GMT'] + date: ['Tue, 26 Jun 2018 23:08:20 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/24581443-fca0-428e-a1d4-90be654a41cc?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/d1da09f8-3a5b-4cb7-b941-b0fe4e34a501?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/24581443-fca0-428e-a1d4-90be654a41cc?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/d1da09f8-3a5b-4cb7-b941-b0fe4e34a501?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:25.8713651Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:25.8713651Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:25.6526131Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.2510303Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.2510303Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:20.0634494Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:43 GMT'] + date: ['Tue, 26 Jun 2018 23:08:37 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"94uEIpJdQoFGvUpLq172W0WoJBW3KeymBQWjNIBcr123RxLVfRRVSCUUonj7bzAKTUI/gxPz4pB63bh6nuFp2w==","permissions":"FULL"},{"keyName":"key2","value":"K2uoQjVDL7nTil9ce1C8lxWta/FPE/5gqD/CL40AkFzidAFKmgam6IwToKaMYrXfEVywTfRKAwUflstPQEjwyQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"z3+RS2SPPeW+a+sdSyLufjvqp2wpbwjBv7srMmo70Hupjju8wxrfrF3yA6u++2sOig4zyj783qkkaA+yyMMHgw==","permissions":"FULL"},{"keyName":"key2","value":"4/hcejrjsDu6L1lxElGDW/Xs0H6K3l86lWqxTN4ukkiudXkRoNlMNOzAuVqWiL/LRolsVlNKe8OOraa0OCXt8g==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:44 GMT'] + date: ['Tue, 26 Jun 2018 23:08:38 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -127,27 +125,27 @@ interactions: CommandName: [storage account generate-sas] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2018-03-01-preview response: - body: {string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/o0zeaawp7t7n4skagntpri4","name":"o0zeaawp7t7n4skagntpri4","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.2637195Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.2637195Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.2168154Z","primaryEndpoints":{"blob":"https://o0zeaawp7t7n4skagntpri4.blob.core.windows.net/","queue":"https://o0zeaawp7t7n4skagntpri4.queue.core.windows.net/","table":"https://o0zeaawp7t7n4skagntpri4.table.core.windows.net/","file":"https://o0zeaawp7t7n4skagntpri4.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/zeaawp7t7n4skagntpub","name":"zeaawp7t7n4skagntpub","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.5762847Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.5762847Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.5294154Z","primaryEndpoints":{"blob":"https://zeaawp7t7n4skagntpub.blob.core.windows.net/","queue":"https://zeaawp7t7n4skagntpub.queue.core.windows.net/","table":"https://zeaawp7t7n4skagntpub.table.core.windows.net/","file":"https://zeaawp7t7n4skagntpub.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storGRP1/providers/Microsoft.Storage/storageAccounts/storacc2","name":"storacc2","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-09T18:24:41.3214880Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-09T18:24:41.3214880Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-09T18:24:41.2902466Z","primaryEndpoints":{"blob":"https://storacc2.blob.core.windows.net/","queue":"https://storacc2.queue.core.windows.net/","table":"https://storacc2.table.core.windows.net/","file":"https://storacc2.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/zeaawp7t7n4skdiag0","name":"zeaawp7t7n4skdiag0","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.7951275Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.7951275Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.7482499Z","primaryEndpoints":{"blob":"https://zeaawp7t7n4skdiag0.blob.core.windows.net/","queue":"https://zeaawp7t7n4skdiag0.queue.core.windows.net/","table":"https://zeaawp7t7n4skdiag0.table.core.windows.net/","file":"https://zeaawp7t7n4skdiag0.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Storage/storageAccounts/mynewaccount1234","name":"mynewaccount1234","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-27T21:34:15.2961058Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-27T21:34:15.2961058Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-27T21:34:15.2335978Z","primaryEndpoints":{"blob":"https://mynewaccount1234.blob.core.windows.net/","queue":"https://mynewaccount1234.queue.core.windows.net/","table":"https://mynewaccount1234.table.core.windows.net/","file":"https://mynewaccount1234.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/60zeaawp7t7n4skagntpri1","name":"60zeaawp7t7n4skagntpri1","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:59.4978129Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:59.4978129Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:33:59.3727743Z","primaryEndpoints":{"blob":"https://60zeaawp7t7n4skagntpri1.blob.core.windows.net/","queue":"https://60zeaawp7t7n4skagntpri1.queue.core.windows.net/","table":"https://60zeaawp7t7n4skagntpri1.table.core.windows.net/","file":"https://60zeaawp7t7n4skagntpri1.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/00zeaawp7t7n4skagntpri0","name":"00zeaawp7t7n4skagntpri0","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:57.1533290Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:57.1533290Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:33:57.1064646Z","primaryEndpoints":{"blob":"https://00zeaawp7t7n4skagntpri0.blob.core.windows.net/","queue":"https://00zeaawp7t7n4skagntpri0.queue.core.windows.net/","table":"https://00zeaawp7t7n4skagntpri0.table.core.windows.net/","file":"https://00zeaawp7t7n4skagntpri0.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxgroupdisks925","name":"wilxgroupdisks925","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-13T17:14:42.2678046Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-13T17:14:42.2678046Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-13T17:14:42.2522063Z","primaryEndpoints":{"blob":"https://wilxgroupdisks925.blob.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/i0zeaawp7t7n4skagntpri3","name":"i0zeaawp7t7n4skagntpri3","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:59.2790240Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:59.2790240Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:33:59.2321471Z","primaryEndpoints":{"blob":"https://i0zeaawp7t7n4skagntpri3.blob.core.windows.net/","queue":"https://i0zeaawp7t7n4skagntpri3.queue.core.windows.net/","table":"https://i0zeaawp7t7n4skagntpri3.table.core.windows.net/","file":"https://i0zeaawp7t7n4skagntpri3.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/zeaawp7t7n4skexhb0","name":"zeaawp7t7n4skexhb0","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.8576146Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.8576146Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.7951275Z","primaryEndpoints":{"blob":"https://zeaawp7t7n4skexhb0.blob.core.windows.net/","queue":"https://zeaawp7t7n4skexhb0.queue.core.windows.net/","table":"https://zeaawp7t7n4skexhb0.table.core.windows.net/","file":"https://zeaawp7t7n4skexhb0.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/zeaawp7t7n4skmstr0","name":"zeaawp7t7n4skmstr0","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.5294154Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.5294154Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.4825090Z","primaryEndpoints":{"blob":"https://zeaawp7t7n4skmstr0.blob.core.windows.net/","queue":"https://zeaawp7t7n4skmstr0.queue.core.windows.net/","table":"https://zeaawp7t7n4skmstr0.table.core.windows.net/","file":"https://zeaawp7t7n4skmstr0.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/c0zeaawp7t7n4skagntpri2","name":"c0zeaawp7t7n4skagntpri2","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.8889157Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.8889157Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.8263879Z","primaryEndpoints":{"blob":"https://c0zeaawp7t7n4skagntpri2.blob.core.windows.net/","queue":"https://c0zeaawp7t7n4skagntpri2.queue.core.windows.net/","table":"https://c0zeaawp7t7n4skagntpri2.table.core.windows.net/","file":"https://c0zeaawp7t7n4skagntpri2.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"identity":{"principalId":"4b358eca-1f6e-4da5-a90c-5cfda2b6ca83","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Storage/storageAccounts/eastustorage1","name":"eastustorage1","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-21T02:38:33.4035294Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-21T02:38:33.4035294Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-03-21T02:38:33.3253713Z","primaryEndpoints":{"blob":"https://eastustorage1.blob.core.windows.net/","queue":"https://eastustorage1.queue.core.windows.net/","table":"https://eastustorage1.table.core.windows.net/","file":"https://eastustorage1.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroupeastus2/providers/Microsoft.Storage/storageAccounts/wilxstorageeastus2","name":"wilxstorageeastus2","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-30T18:32:07.3429304Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-30T18:32:07.3429304Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-30T18:32:07.2804546Z","primaryEndpoints":{"blob":"https://wilxstorageeastus2.blob.core.windows.net/","queue":"https://wilxstorageeastus2.queue.core.windows.net/","table":"https://wilxstorageeastus2.table.core.windows.net/","file":"https://wilxstorageeastus2.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available","secondaryLocation":"centralus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageeastus2-secondary.blob.core.windows.net/","queue":"https://wilxstorageeastus2-secondary.queue.core.windows.net/","table":"https://wilxstorageeastus2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgojaoj267klrvs47gnp57mu55f6yoziamdogqqs72by7ljczabahxkfmzi5mh2glk5/providers/Microsoft.Storage/storageAccounts/clitest7tkosn7vrxnjiifrm","name":"clitest7tkosn7vrxnjiifrm","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:30.8088827Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:30.8088827Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"ResolvingDns","creationTime":"2018-05-01T21:45:30.4963753Z","primaryEndpoints":{"blob":"https://clitest7tkosn7vrxnjiifrm.blob.core.windows.net/","queue":"https://clitest7tkosn7vrxnjiifrm.queue.core.windows.net/","table":"https://clitest7tkosn7vrxnjiifrm.table.core.windows.net/","file":"https://clitest7tkosn7vrxnjiifrm.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgp3j2bt5nvsedgoxpqt6xtucbamnbo7jkgrcckdigt3aclxopqxio6lxjlqrj3czo7/providers/Microsoft.Storage/storageAccounts/clitestt7lrbv35ny3lgnfak","name":"clitestt7lrbv35ny3lgnfak","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1522571Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1522571Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:17:59.2725025Z","primaryEndpoints":{"blob":"https://clitestt7lrbv35ny3lgnfak.blob.core.windows.net/","queue":"https://clitestt7lrbv35ny3lgnfak.queue.core.windows.net/","table":"https://clitestt7lrbv35ny3lgnfak.table.core.windows.net/","file":"https://clitestt7lrbv35ny3lgnfak.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/vscode-spot/providers/Microsoft.Storage/storageAccounts/spot1936b9594f55526a14","name":"spot1936b9594f55526a14","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-30T04:32:25.2179795Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-30T04:32:25.2179795Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-30T04:32:25.0930004Z","primaryEndpoints":{"blob":"https://spot1936b9594f55526a14.blob.core.windows.net/","queue":"https://spot1936b9594f55526a14.queue.core.windows.net/","table":"https://spot1936b9594f55526a14.table.core.windows.net/","file":"https://spot1936b9594f55526a14.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/awilxlab6038","name":"awilxlab6038","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"8887c3df-fb11-4c4a-b5ea-fb85003cd93d"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-11T22:14:43.7809117Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-11T22:14:43.7809117Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-11T22:14:43.6871681Z","primaryEndpoints":{"blob":"https://awilxlab6038.blob.core.windows.net/","queue":"https://awilxlab6038.queue.core.windows.net/","table":"https://awilxlab6038.table.core.windows.net/","file":"https://awilxlab6038.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy985","name":"foozy985","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2460333Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2460333Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-11T22:39:05.4716715Z","primaryEndpoints":{"blob":"https://foozy985.blob.core.windows.net/","queue":"https://foozy985.queue.core.windows.net/","table":"https://foozy985.table.core.windows.net/","file":"https://foozy985.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Storage/storageAccounts/testacc7561","name":"testacc7561","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-13T01:22:28.4626746Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-13T01:22:28.4626746Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-03-13T01:22:28.4157923Z","primaryEndpoints":{"blob":"https://testacc7561.blob.core.windows.net/","queue":"https://testacc7561.queue.core.windows.net/","table":"https://testacc7561.table.core.windows.net/","file":"https://testacc7561.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxstorage2","name":"wilxstorage2","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-16T19:43:30.0571507Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-16T19:43:30.0571507Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-16T19:43:29.9946790Z","primaryEndpoints":{"blob":"https://wilxstorage2.blob.core.windows.net/","queue":"https://wilxstorage2.queue.core.windows.net/","table":"https://wilxstorage2.table.core.windows.net/","file":"https://wilxstorage2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage2-secondary.blob.core.windows.net/","queue":"https://wilxstorage2-secondary.queue.core.windows.net/","table":"https://wilxstorage2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/foostore103","name":"foostore103","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1991330Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1991330Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-05-25T23:52:18.1234838Z","primaryEndpoints":{"blob":"https://foostore103.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/foostore102","name":"foostore102","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1835342Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1835342Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-05-25T19:32:49.5192125Z","primaryEndpoints":{"blob":"https://foostore102.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitest345","name":"zitest345","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.8313291Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.8313291Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-07T21:55:13.9394493Z","primaryEndpoints":{"blob":"https://zitest345.blob.core.windows.net/","queue":"https://zitest345.queue.core.windows.net/","table":"https://zitest345.table.core.windows.net/","file":"https://zitest345.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitest","name":"zitest","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.7688032Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.7688032Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-05-03T20:07:05.353746Z","primaryEndpoints":{"blob":"https://zitest.blob.core.windows.net/","queue":"https://zitest.queue.core.windows.net/","table":"https://zitest.table.core.windows.net/","file":"https://zitest.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitest1012","name":"zitest1012","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.8001033Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.8001033Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2017-07-07T02:12:27.684591Z","primaryEndpoints":{"blob":"https://zitest1012.blob.core.windows.net/","queue":"https://zitest1012.queue.core.windows.net/","table":"https://zitest1012.table.core.windows.net/","file":"https://zitest1012.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgvnc44s5iiyknx6iehpbmjsf7y6xsqhrqvyb5opb2yr5wagkqftcqlbbpfkralo2id/providers/Microsoft.Storage/storageAccounts/clitesttc4beb6y7zcdc7zly","name":"clitesttc4beb6y7zcdc7zly","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1522571Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1522571Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:16:26.3626209Z","primaryEndpoints":{"blob":"https://clitesttc4beb6y7zcdc7zly.blob.core.windows.net/","queue":"https://clitesttc4beb6y7zcdc7zly.queue.core.windows.net/","table":"https://clitesttc4beb6y7zcdc7zly.table.core.windows.net/","file":"https://clitesttc4beb6y7zcdc7zly.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg3yzhuqlkkv4l7gq2shu6suxl6afxmnlqhzh2u225pyluz6ukscohbbgylq7s5zifg/providers/Microsoft.Storage/storageAccounts/clitestl45vwc3spozojtlf7","name":"clitestl45vwc3spozojtlf7","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:28.7932429Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:28.7932429Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:28.7151381Z","primaryEndpoints":{"blob":"https://clitestl45vwc3spozojtlf7.blob.core.windows.net/","queue":"https://clitestl45vwc3spozojtlf7.queue.core.windows.net/","table":"https://clitestl45vwc3spozojtlf7.table.core.windows.net/","file":"https://clitestl45vwc3spozojtlf7.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Storage/storageAccounts/vhdsn51j1sdv8scmv98fmq8q","name":"vhdsn51j1sdv8scmv98fmq8q","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.3085287Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.3085287Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-03T21:43:45.5227216Z","primaryEndpoints":{"blob":"https://vhdsn51j1sdv8scmv98fmq8q.blob.core.windows.net/","queue":"https://vhdsn51j1sdv8scmv98fmq8q.queue.core.windows.net/","table":"https://vhdsn51j1sdv8scmv98fmq8q.table.core.windows.net/","file":"https://vhdsn51j1sdv8scmv98fmq8q.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy984","name":"foozy984","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2460333Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2460333Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-11T18:22:12.9346214Z","primaryEndpoints":{"blob":"https://foozy984.blob.core.windows.net/","queue":"https://foozy984.queue.core.windows.net/","table":"https://foozy984.table.core.windows.net/","file":"https://foozy984.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzlponhuihq2f3r2ncatzpvyupukdm6ixm63jq2whzuvbuchjhov4vejrj4uspf7ju/providers/Microsoft.Storage/storageAccounts/clitestracm62rkgrryoiiig","name":"clitestracm62rkgrryoiiig","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T16:57:00.9900481Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T16:57:00.9900481Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T16:57:00.9119456Z","primaryEndpoints":{"blob":"https://clitestracm62rkgrryoiiig.blob.core.windows.net/","queue":"https://clitestracm62rkgrryoiiig.queue.core.windows.net/","table":"https://clitestracm62rkgrryoiiig.table.core.windows.net/","file":"https://clitestracm62rkgrryoiiig.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgaz3x2qjeu5xahclts7r7bqdgy4cuuxwsjuskjp2yklftsa2vvhsfnv32dzawwhxj4/providers/Microsoft.Storage/storageAccounts/clitestzsvhxykinf3qwcf25","name":"clitestzsvhxykinf3qwcf25","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:27.3088492Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:27.3088492Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:27.1057047Z","primaryEndpoints":{"blob":"https://clitestzsvhxykinf3qwcf25.blob.core.windows.net/","queue":"https://clitestzsvhxykinf3qwcf25.queue.core.windows.net/","table":"https://clitestzsvhxykinf3qwcf25.table.core.windows.net/","file":"https://clitestzsvhxykinf3qwcf25.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/testacc209","name":"testacc209","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.3156846Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.3156846Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-01-26T19:04:16.5466637Z","primaryEndpoints":{"blob":"https://testacc209.blob.core.windows.net/","queue":"https://testacc209.queue.core.windows.net/","table":"https://testacc209.table.core.windows.net/","file":"https://testacc209.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgi5u2fwbpqi6kc6yo2odysgg2zhkd7hteysctgc2uhogvocg4hdpi4dx6o7zo7j4z5/providers/Microsoft.Storage/storageAccounts/clitestmym7gychmllliz4j3","name":"clitestmym7gychmllliz4j3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:26.3557297Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:26.3557297Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:26.0744949Z","primaryEndpoints":{"blob":"https://clitestmym7gychmllliz4j3.blob.core.windows.net/","queue":"https://clitestmym7gychmllliz4j3.queue.core.windows.net/","table":"https://clitestmym7gychmllliz4j3.table.core.windows.net/","file":"https://clitestmym7gychmllliz4j3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-westus/providers/Microsoft.Storage/storageAccounts/cs400977cdb163fx435fx9c3","name":"cs400977cdb163fx435fx9c3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-10-31T20:15:56.3292318Z","primaryEndpoints":{"blob":"https://cs400977cdb163fx435fx9c3.blob.core.windows.net/","queue":"https://cs400977cdb163fx435fx9c3.queue.core.windows.net/","table":"https://cs400977cdb163fx435fx9c3.table.core.windows.net/","file":"https://cs400977cdb163fx435fx9c3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgwgjgodisz2vcsd55l3bixhutc5fbnyeyjuyatvgcv5k7sfzmxd6q2w4krnuq53zb7/providers/Microsoft.Storage/storageAccounts/clitestwwftaylvfj7kendae","name":"clitestwwftaylvfj7kendae","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:22:09.5983536Z","primaryEndpoints":{"blob":"https://clitestwwftaylvfj7kendae.blob.core.windows.net/","queue":"https://clitestwwftaylvfj7kendae.queue.core.windows.net/","table":"https://clitestwwftaylvfj7kendae.table.core.windows.net/","file":"https://clitestwwftaylvfj7kendae.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ziptxtdepl51/providers/Microsoft.Storage/storageAccounts/36y3ij42opovcstandardsa","name":"36y3ij42opovcstandardsa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1054140Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1054140Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-12-15T01:53:43.4548265Z","primaryEndpoints":{"blob":"https://36y3ij42opovcstandardsa.blob.core.windows.net/","queue":"https://36y3ij42opovcstandardsa.queue.core.windows.net/","table":"https://36y3ij42opovcstandardsa.table.core.windows.net/","file":"https://36y3ij42opovcstandardsa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgaungorwypaguq2ueh77vyexw7bdmu72z7vjoql6tnofssibb7u7bf2oex6iqg6jzz/providers/Microsoft.Storage/storageAccounts/clitestydki2n33vwyrmdoub","name":"clitestydki2n33vwyrmdoub","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:31.1057749Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:31.1057749Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"ResolvingDns","creationTime":"2018-05-01T21:45:30.8713726Z","primaryEndpoints":{"blob":"https://clitestydki2n33vwyrmdoub.blob.core.windows.net/","queue":"https://clitestydki2n33vwyrmdoub.queue.core.windows.net/","table":"https://clitestydki2n33vwyrmdoub.table.core.windows.net/","file":"https://clitestydki2n33vwyrmdoub.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://clitestydki2n33vwyrmdoub-secondary.blob.core.windows.net/","queue":"https://clitestydki2n33vwyrmdoub-secondary.queue.core.windows.net/","table":"https://clitestydki2n33vwyrmdoub-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitestb21","name":"zitestb21","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0656866Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0656866Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-08-23T20:10:50.2990885Z","primaryEndpoints":{"blob":"https://zitestb21.blob.core.windows.net/","queue":"https://zitestb21.queue.core.windows.net/","table":"https://zitestb21.table.core.windows.net/","file":"https://zitestb21.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy891","name":"foozy891","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2147571Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2147571Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-08T00:35:23.7925542Z","primaryEndpoints":{"blob":"https://foozy891.blob.core.windows.net/","queue":"https://foozy891.queue.core.windows.net/","table":"https://foozy891.table.core.windows.net/","file":"https://foozy891.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgh73m2h6rniak5bbqyrad43luxpotdofmlndof5secsxxee53kwocysqnklf4bn7yd/providers/Microsoft.Storage/storageAccounts/clitesttohpa6d65i7atctbm","name":"clitesttohpa6d65i7atctbm","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:05:15.5574981Z","primaryEndpoints":{"blob":"https://clitesttohpa6d65i7atctbm.blob.core.windows.net/","queue":"https://clitesttohpa6d65i7atctbm.queue.core.windows.net/","table":"https://clitesttohpa6d65i7atctbm.table.core.windows.net/","file":"https://clitesttohpa6d65i7atctbm.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzgkjvgqueh6ylbuj5ktuxx6m6njxoabzpow65vpyumzmtjctna2jgz5lg2ggslj7v/providers/Microsoft.Storage/storageAccounts/clitestncgrg5ytsvot5spgf","name":"clitestncgrg5ytsvot5spgf","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:27.7307380Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:27.7307380Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:27.5276141Z","primaryEndpoints":{"blob":"https://clitestncgrg5ytsvot5spgf.blob.core.windows.net/","queue":"https://clitestncgrg5ytsvot5spgf.queue.core.windows.net/","table":"https://clitestncgrg5ytsvot5spgf.table.core.windows.net/","file":"https://clitestncgrg5ytsvot5spgf.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ZiTest/providers/Microsoft.Storage/storageAccounts/ztesty3456","name":"ztesty3456","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-13T01:01:13.5308331Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-13T01:01:13.5308331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-01-13T01:01:13.4995571Z","primaryEndpoints":{"blob":"https://ztesty3456.blob.core.windows.net/","queue":"https://ztesty3456.queue.core.windows.net/","table":"https://ztesty3456.table.core.windows.net/","file":"https://ztesty3456.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgpf2denbj6axv7zzgne46nwonr7nj5agy2o2boyvdwim2tk3ha36wt53og4bdbazyl/providers/Microsoft.Storage/storageAccounts/clitestkmwx76vctofb4mjsq","name":"clitestkmwx76vctofb4mjsq","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:26.6057257Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:26.6057257Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:26.4651043Z","primaryEndpoints":{"blob":"https://clitestkmwx76vctofb4mjsq.blob.core.windows.net/","queue":"https://clitestkmwx76vctofb4mjsq.queue.core.windows.net/","table":"https://clitestkmwx76vctofb4mjsq.table.core.windows.net/","file":"https://clitestkmwx76vctofb4mjsq.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:25.8713651Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:25.8713651Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:25.6526131Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/some-unique-rg-name-second/providers/Microsoft.Storage/storageAccounts/tianosatest79","name":"tianosatest79","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:46.6281789Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:46.6281789Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-05-24T23:16:33.9028352Z","primaryEndpoints":{"blob":"https://tianosatest79.blob.core.windows.net/","queue":"https://tianosatest79.queue.core.windows.net/","table":"https://tianosatest79.table.core.windows.net/","file":"https://tianosatest79.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy894","name":"foozy894","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2303818Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2303818Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-08T00:39:03.09634Z","primaryEndpoints":{"blob":"https://foozy894.blob.core.windows.net/","queue":"https://foozy894.queue.core.windows.net/","table":"https://foozy894.table.core.windows.net/","file":"https://foozy894.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Storage/storageAccounts/testacc7447","name":"testacc7447","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4719947Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4719947Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-21T19:13:51.907911Z","primaryEndpoints":{"blob":"https://testacc7447.blob.core.windows.net/","queue":"https://testacc7447.queue.core.windows.net/","table":"https://testacc7447.table.core.windows.net/","file":"https://testacc7447.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitesta21","name":"zitesta21","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0344305Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0344305Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-08-23T20:01:18.8418933Z","primaryEndpoints":{"blob":"https://zitesta21.blob.core.windows.net/","queue":"https://zitesta21.queue.core.windows.net/","table":"https://zitesta21.table.core.windows.net/","file":"https://zitesta21.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgcmxzjqe2ev2tarnzledhk4m7mk5dsnxznyqtyvx7dixjnjgqs4h5dh37jqoyzj5l5/providers/Microsoft.Storage/storageAccounts/cliteste7bmlfupz34m23jnc","name":"cliteste7bmlfupz34m23jnc","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1366608Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1366608Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-12-11T00:17:56.913505Z","primaryEndpoints":{"blob":"https://cliteste7bmlfupz34m23jnc.blob.core.windows.net/","queue":"https://cliteste7bmlfupz34m23jnc.queue.core.windows.net/","table":"https://cliteste7bmlfupz34m23jnc.table.core.windows.net/","file":"https://cliteste7bmlfupz34m23jnc.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Storage/storageAccounts/testacc3070","name":"testacc3070","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.3469905Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.3469905Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-21T18:42:53.9505428Z","primaryEndpoints":{"blob":"https://testacc3070.blob.core.windows.net/","queue":"https://testacc3070.queue.core.windows.net/","table":"https://testacc3070.table.core.windows.net/","file":"https://testacc3070.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg52ctd4ojyg3ymklacmvjr36nyepy2y5j2nq62diomibfwqid5v3esztgp2jcx74kv/providers/Microsoft.Storage/storageAccounts/clitestfu622ozd5q5z6e7zv","name":"clitestfu622ozd5q5z6e7zv","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:30.0901281Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:30.0901281Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"ResolvingDns","creationTime":"2018-05-01T21:45:29.8557657Z","primaryEndpoints":{"blob":"https://clitestfu622ozd5q5z6e7zv.blob.core.windows.net/","queue":"https://clitestfu622ozd5q5z6e7zv.queue.core.windows.net/","table":"https://clitestfu622ozd5q5z6e7zv.table.core.windows.net/","file":"https://clitestfu622ozd5q5z6e7zv.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://clitestfu622ozd5q5z6e7zv-secondary.blob.core.windows.net/","queue":"https://clitestfu622ozd5q5z6e7zv-secondary.queue.core.windows.net/","table":"https://clitestfu622ozd5q5z6e7zv-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgvxzuui3qnyb3zab5viv7a6bxgimxz4k4iz4mgbw7l4js7n6aihljep4uihumvu5vg/providers/Microsoft.Storage/storageAccounts/clitestmkl7mkwejyngxmxpm","name":"clitestmkl7mkwejyngxmxpm","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:29.0276324Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:29.0276324Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:28.8244943Z","primaryEndpoints":{"blob":"https://clitestmkl7mkwejyngxmxpm.blob.core.windows.net/","queue":"https://clitestmkl7mkwejyngxmxpm.queue.core.windows.net/","table":"https://clitestmkl7mkwejyngxmxpm.table.core.windows.net/","file":"https://clitestmkl7mkwejyngxmxpm.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitesty21","name":"zitesty21","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0969536Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0969536Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-08-23T19:55:37.1159138Z","primaryEndpoints":{"blob":"https://zitesty21.blob.core.windows.net/","queue":"https://zitesty21.queue.core.windows.net/","table":"https://zitesty21.table.core.windows.net/","file":"https://zitesty21.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Storage/storageAccounts/testacc5739","name":"testacc5739","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4406899Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4406899Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-21T02:06:37.3496304Z","primaryEndpoints":{"blob":"https://testacc5739.blob.core.windows.net/","queue":"https://testacc5739.queue.core.windows.net/","table":"https://testacc5739.table.core.windows.net/","file":"https://testacc5739.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Storage/storageAccounts/testacc3915","name":"testacc3915","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4094279Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4094279Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-21T01:35:41.2354283Z","primaryEndpoints":{"blob":"https://testacc3915.blob.core.windows.net/","queue":"https://testacc3915.queue.core.windows.net/","table":"https://testacc3915.table.core.windows.net/","file":"https://testacc3915.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy89","name":"foozy89","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1991330Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1991330Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-07T22:15:52.1441975Z","primaryEndpoints":{"blob":"https://foozy89.blob.core.windows.net/","queue":"https://foozy89.queue.core.windows.net/","table":"https://foozy89.table.core.windows.net/","file":"https://foozy89.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxgroupdiag169","name":"wilxgroupdiag169","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-29T22:34:01.9561177Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-29T22:34:01.9561177Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-29T22:34:01.8935895Z","primaryEndpoints":{"blob":"https://wilxgroupdiag169.blob.core.windows.net/","queue":"https://wilxgroupdiag169.queue.core.windows.net/","table":"https://wilxgroupdiag169.table.core.windows.net/","file":"https://wilxgroupdiag169.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgg4iadnthjykpxrgud5gxju5rfqzthb6uvqfcm3t7cztqm5v2yyjbfuusommo4mtpv/providers/Microsoft.Storage/storageAccounts/clitestr7jsatxwbv2sefsvr","name":"clitestr7jsatxwbv2sefsvr","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:28.2151132Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:28.2151132Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:28.1369842Z","primaryEndpoints":{"blob":"https://clitestr7jsatxwbv2sefsvr.blob.core.windows.net/","queue":"https://clitestr7jsatxwbv2sefsvr.queue.core.windows.net/","table":"https://clitestr7jsatxwbv2sefsvr.table.core.windows.net/","file":"https://clitestr7jsatxwbv2sefsvr.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxgroupdisks899","name":"wilxgroupdisks899","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-11T23:26:25.3653337Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-11T23:26:25.3653337Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-11T23:26:25.2872072Z","primaryEndpoints":{"blob":"https://wilxgroupdisks899.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6sqzt5phdo5viklk7dquteui74rn3vn2tioolq5dsdnz2znxn6fdwaa47uyu2i4eg/providers/Microsoft.Storage/storageAccounts/clitestgjx5vdkyf74377ieg","name":"clitestgjx5vdkyf74377ieg","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1366608Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1366608Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:09:48.4001597Z","primaryEndpoints":{"blob":"https://clitestgjx5vdkyf74377ieg.blob.core.windows.net/","queue":"https://clitestgjx5vdkyf74377ieg.queue.core.windows.net/","table":"https://clitestgjx5vdkyf74377ieg.table.core.windows.net/","file":"https://clitestgjx5vdkyf74377ieg.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxstorage","name":"wilxstorage","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-15T17:47:45.4399402Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-15T17:47:45.4399402Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-15T17:47:45.3930700Z","primaryEndpoints":{"blob":"https://wilxstorage.blob.core.windows.net/","queue":"https://wilxstorage.queue.core.windows.net/","table":"https://wilxstorage.table.core.windows.net/","file":"https://wilxstorage.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage-secondary.blob.core.windows.net/","queue":"https://wilxstorage-secondary.queue.core.windows.net/","table":"https://wilxstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/foostore12978","name":"foostore12978","type":"Microsoft.Storage/storageAccounts","location":"westeurope","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-22T22:18:07.1937355Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-22T22:18:07.1937355Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-04-29T06:55:06.4412159Z","primaryEndpoints":{"blob":"https://foostore12978.blob.core.windows.net/","queue":"https://foostore12978.queue.core.windows.net/","table":"https://foostore12978.table.core.windows.net/","file":"https://foostore12978.file.core.windows.net/"},"primaryLocation":"westeurope","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Storage/storageAccounts/tchwong","name":"tchwong","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-01T18:07:07.4006066Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-01T18:07:07.4006066Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-03-01T18:07:07.3381076Z","primaryEndpoints":{"blob":"https://tchwong.blob.core.windows.net/","table":"https://tchwong.table.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlab1/providers/Microsoft.Storage/storageAccounts/acliautomationlab8902","name":"acliautomationlab8902","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"hidden-DevTestLabs-LabUId":"ca9ec547-32c5-422d-b3d2-25906ed71959"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T16:51:47.2194106Z","primaryEndpoints":{"blob":"https://acliautomationlab8902.blob.core.windows.net/","queue":"https://acliautomationlab8902.queue.core.windows.net/","table":"https://acliautomationlab8902.table.core.windows.net/","file":"https://acliautomationlab8902.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"identity":{"principalId":"ebc8557b-5159-4db6-8b04-699759875130","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgls6pde2luhubksnkjxebnrqthsdi6dcfpxcrhlmgnvdkkimk6b2usub6ehq3ocrsm/providers/Microsoft.Storage/storageAccounts/clitesttrevle6ezqkjtfdl3","name":"clitesttrevle6ezqkjtfdl3","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-14T22:32:56.5552622Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-14T22:32:56.5552622Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-14T22:32:56.5084099Z","primaryEndpoints":{"blob":"https://clitesttrevle6ezqkjtfdl3.blob.core.windows.net/","queue":"https://clitesttrevle6ezqkjtfdl3.queue.core.windows.net/","table":"https://clitesttrevle6ezqkjtfdl3.table.core.windows.net/","file":"https://clitesttrevle6ezqkjtfdl3.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testfunction-msi/providers/Microsoft.Storage/storageAccounts/lmazueltestfuncbbd8","name":"lmazueltestfuncbbd8","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1691771Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1691771Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-10-11T19:03:26.3781645Z","primaryEndpoints":{"blob":"https://lmazueltestfuncbbd8.blob.core.windows.net/","queue":"https://lmazueltestfuncbbd8.queue.core.windows.net/","table":"https://lmazueltestfuncbbd8.table.core.windows.net/","file":"https://lmazueltestfuncbbd8.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southcentralus/providers/Microsoft.Storage/storageAccounts/cs700977cdb163fx435fx9c3","name":"cs700977cdb163fx435fx9c3","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1691771Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1691771Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-08-09T21:59:02.7061936Z","primaryEndpoints":{"blob":"https://cs700977cdb163fx435fx9c3.blob.core.windows.net/","queue":"https://cs700977cdb163fx435fx9c3.queue.core.windows.net/","table":"https://cs700977cdb163fx435fx9c3.table.core.windows.net/","file":"https://cs700977cdb163fx435fx9c3.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Storage/storageAccounts/tchwongdiag300","name":"tchwongdiag300","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-20T18:15:54.9483325Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-20T18:15:54.9483325Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-20T18:15:54.8858351Z","primaryEndpoints":{"blob":"https://tchwongdiag300.blob.core.windows.net/","queue":"https://tchwongdiag300.queue.core.windows.net/","table":"https://tchwongdiag300.table.core.windows.net/","file":"https://tchwongdiag300.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefunctions-southcentralus/providers/Microsoft.Storage/storageAccounts/azurefunctions2e2e624d","name":"azurefunctions2e2e624d","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1535349Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1535349Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-22T21:04:32.5702152Z","primaryEndpoints":{"blob":"https://azurefunctions2e2e624d.blob.core.windows.net/","queue":"https://azurefunctions2e2e624d.queue.core.windows.net/","table":"https://azurefunctions2e2e624d.table.core.windows.net/","file":"https://azurefunctions2e2e624d.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available","secondaryLocation":"northcentralus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup2/providers/Microsoft.Storage/storageAccounts/wilxstorage0","name":"wilxstorage0","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-04-13T01:05:28.4023820Z","primaryEndpoints":{"blob":"https://wilxstorage0.blob.core.windows.net/","queue":"https://wilxstorage0.queue.core.windows.net/","table":"https://wilxstorage0.table.core.windows.net/","file":"https://wilxstorage0.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmr6jo34yofyafj3n6gjbhrgmrd6pwgguthc2u235qfle6y6ztyzrlkuqn544s7cop/providers/Microsoft.Storage/storageAccounts/clitestnlmd52jlcmr4ce7b4","name":"clitestnlmd52jlcmr4ce7b4","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:14:07.3188286Z","primaryEndpoints":{"blob":"https://clitestnlmd52jlcmr4ce7b4.blob.core.windows.net/","queue":"https://clitestnlmd52jlcmr4ce7b4.queue.core.windows.net/","table":"https://clitestnlmd52jlcmr4ce7b4.table.core.windows.net/","file":"https://clitestnlmd52jlcmr4ce7b4.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageworm","name":"wilxstorageworm","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-13T22:36:53.0909769Z","primaryEndpoints":{"blob":"https://wilxstorageworm.blob.core.windows.net/","queue":"https://wilxstorageworm.queue.core.windows.net/","table":"https://wilxstorageworm.table.core.windows.net/","file":"https://wilxstorageworm.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageworm-secondary.blob.core.windows.net/","queue":"https://wilxstorageworm-secondary.queue.core.windows.net/","table":"https://wilxstorageworm-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg326oxnqqn33y3n42vz6x5xol5rvvw3z4o6tladwwtkmcntnsxhhxxtddtrxwm2edj/providers/Microsoft.Storage/storageAccounts/clitestjwzkdsfuou3niutbd","name":"clitestjwzkdsfuou3niutbd","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:07:33.0552270Z","primaryEndpoints":{"blob":"https://clitestjwzkdsfuou3niutbd.blob.core.windows.net/","queue":"https://clitestjwzkdsfuou3niutbd.queue.core.windows.net/","table":"https://clitestjwzkdsfuou3niutbd.table.core.windows.net/","file":"https://clitestjwzkdsfuou3niutbd.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgldagdmcl4pklmwzmr3wftx2kidhw7johz6d7tl6m7raetzzfhpqhrfffu5vwqtfxo/providers/Microsoft.Storage/storageAccounts/clitestt6pqb7xneswrh2sp6","name":"clitestt6pqb7xneswrh2sp6","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:51:14.8105336Z","primaryEndpoints":{"blob":"https://clitestt6pqb7xneswrh2sp6.blob.core.windows.net/","queue":"https://clitestt6pqb7xneswrh2sp6.queue.core.windows.net/","table":"https://clitestt6pqb7xneswrh2sp6.table.core.windows.net/","file":"https://clitestt6pqb7xneswrh2sp6.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgf3er5m4irbxsxhyil42jxq3t5ehzphmdzn2gortdlrzyw4i6tlgswx2xrcgldp6oh/providers/Microsoft.Storage/storageAccounts/clitestpabilv4yd6qxvguml","name":"clitestpabilv4yd6qxvguml","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T19:20:22.2445526Z","primaryEndpoints":{"blob":"https://clitestpabilv4yd6qxvguml.blob.core.windows.net/","queue":"https://clitestpabilv4yd6qxvguml.queue.core.windows.net/","table":"https://clitestpabilv4yd6qxvguml.table.core.windows.net/","file":"https://clitestpabilv4yd6qxvguml.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgwxiadyatfxsixayqfinia7ybjwo5cfoyw65qpuna3alx3x2diwukx4tkcpwir2mbq/providers/Microsoft.Storage/storageAccounts/clitesta2lvllqz23rgasyf7","name":"clitesta2lvllqz23rgasyf7","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:57:25.6193002Z","primaryEndpoints":{"blob":"https://clitesta2lvllqz23rgasyf7.blob.core.windows.net/","queue":"https://clitesta2lvllqz23rgasyf7.queue.core.windows.net/","table":"https://clitesta2lvllqz23rgasyf7.table.core.windows.net/","file":"https://clitesta2lvllqz23rgasyf7.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgoo2qxqtbb56w7uujqzhodrozdh7fxg5wxscql4ndybxkardgqzqvheltadic2zoxf/providers/Microsoft.Storage/storageAccounts/clitestfyixx74gs3loj3isf","name":"clitestfyixx74gs3loj3isf","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:34:26.5668681Z","primaryEndpoints":{"blob":"https://clitestfyixx74gs3loj3isf.blob.core.windows.net/","queue":"https://clitestfyixx74gs3loj3isf.queue.core.windows.net/","table":"https://clitestfyixx74gs3loj3isf.table.core.windows.net/","file":"https://clitestfyixx74gs3loj3isf.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgd5ygu6mbq43qw57ncgznekmhwaqlrowjc6dggyk2h6cfwioigvtt3bg7ayqckcwvk/providers/Microsoft.Storage/storageAccounts/clitestixsogcl5p5af5w2p3","name":"clitestixsogcl5p5af5w2p3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T18:00:02.2087326Z","primaryEndpoints":{"blob":"https://clitestixsogcl5p5af5w2p3.blob.core.windows.net/","queue":"https://clitestixsogcl5p5af5w2p3.queue.core.windows.net/","table":"https://clitestixsogcl5p5af5w2p3.table.core.windows.net/","file":"https://clitestixsogcl5p5af5w2p3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageblah","name":"wilxstorageblah","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-17T20:06:51.4259719Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-17T20:06:51.4259719Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-17T20:06:51.3790974Z","primaryEndpoints":{"blob":"https://wilxstorageblah.blob.core.windows.net/","queue":"https://wilxstorageblah.queue.core.windows.net/","table":"https://wilxstorageblah.table.core.windows.net/","file":"https://wilxstorageblah.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageblah-secondary.blob.core.windows.net/","queue":"https://wilxstorageblah-secondary.queue.core.windows.net/","table":"https://wilxstorageblah-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeyg7p46zydk24opv23uowejjybhvp2nqcyqpnmknbs7o3w5c3tocuuygkogbvxz5f/providers/Microsoft.Storage/storageAccounts/clitestcrdofae6jvibomf2w","name":"clitestcrdofae6jvibomf2w","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-20T01:19:55.7120798Z","primaryEndpoints":{"blob":"https://clitestcrdofae6jvibomf2w.blob.core.windows.net/","queue":"https://clitestcrdofae6jvibomf2w.queue.core.windows.net/","table":"https://clitestcrdofae6jvibomf2w.table.core.windows.net/","file":"https://clitestcrdofae6jvibomf2w.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeblmtd6pv6car44ga6qwvicwjyuxydhhkaharam4nad6uekgqgm2uiisw7v4a3czx/providers/Microsoft.Storage/storageAccounts/clitestcdx4bwlcvgviotc2p","name":"clitestcdx4bwlcvgviotc2p","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T22:26:48.9744081Z","primaryEndpoints":{"blob":"https://clitestcdx4bwlcvgviotc2p.blob.core.windows.net/","queue":"https://clitestcdx4bwlcvgviotc2p.queue.core.windows.net/","table":"https://clitestcdx4bwlcvgviotc2p.table.core.windows.net/","file":"https://clitestcdx4bwlcvgviotc2p.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}'} + body: {string: '{"value":[{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Storage/storageAccounts/nodetest12","name":"nodetest12","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-11T22:34:54.8545695Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-11T22:34:54.8545695Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-11T22:34:54.6358258Z","primaryEndpoints":{"web":"https://nodetest12.z13.web.core.windows.net/","blob":"https://nodetest12.blob.core.windows.net/","queue":"https://nodetest12.queue.core.windows.net/","table":"https://nodetest12.table.core.windows.net/","file":"https://nodetest12.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfkqcumhe2ztls2jygjwvsqpj3wbribxhlcl7pbxxg2pv7vjzuvpeueh5nk3etqkp6/providers/Microsoft.Storage/storageAccounts/clitest6ikuwhqqurreutmbz","name":"clitest6ikuwhqqurreutmbz","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.2652255Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.2652255Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"ResolvingDns","creationTime":"2018-06-26T23:08:22.9527160Z","primaryEndpoints":{"blob":"https://clitest6ikuwhqqurreutmbz.blob.core.windows.net/","queue":"https://clitest6ikuwhqqurreutmbz.queue.core.windows.net/","table":"https://clitest6ikuwhqqurreutmbz.table.core.windows.net/","file":"https://clitest6ikuwhqqurreutmbz.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage","name":"wilxstorage","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T19:36:28.8945460Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T19:36:28.8945460Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T19:36:28.7383212Z","primaryEndpoints":{"blob":"https://wilxstorage.blob.core.windows.net/","queue":"https://wilxstorage.queue.core.windows.net/","table":"https://wilxstorage.table.core.windows.net/","file":"https://wilxstorage.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage-secondary.blob.core.windows.net/","queue":"https://wilxstorage-secondary.queue.core.windows.net/","table":"https://wilxstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgovzdjbe6lkggvtdythvwimaegrf2h7svijaky3ypfjaxg4qswqwikoijsl75dsv6h/providers/Microsoft.Storage/storageAccounts/clitestegxcvitsshyyyzgyd","name":"clitestegxcvitsshyyyzgyd","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.4370924Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.4370924Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"ResolvingDns","creationTime":"2018-06-26T23:08:22.9683845Z","primaryEndpoints":{"blob":"https://clitestegxcvitsshyyyzgyd.blob.core.windows.net/","queue":"https://clitestegxcvitsshyyyzgyd.queue.core.windows.net/","table":"https://clitestegxcvitsshyyyzgyd.table.core.windows.net/","file":"https://clitestegxcvitsshyyyzgyd.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage22","name":"wilxstorage22","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T20:13:40.8405286Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T20:13:40.8405286Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T20:13:40.6373918Z","primaryEndpoints":{"blob":"https://wilxstorage22.blob.core.windows.net/","queue":"https://wilxstorage22.queue.core.windows.net/","table":"https://wilxstorage22.table.core.windows.net/","file":"https://wilxstorage22.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage22-secondary.blob.core.windows.net/","queue":"https://wilxstorage22-secondary.queue.core.windows.net/","table":"https://wilxstorage22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage23","name":"wilxstorage23","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T20:14:06.2300026Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T20:14:06.2300026Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T20:14:06.0893541Z","primaryEndpoints":{"blob":"https://wilxstorage23.blob.core.windows.net/","queue":"https://wilxstorage23.queue.core.windows.net/","table":"https://wilxstorage23.table.core.windows.net/","file":"https://wilxstorage23.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage23-secondary.blob.core.windows.net/","queue":"https://wilxstorage23-secondary.queue.core.windows.net/","table":"https://wilxstorage23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgtpfu5wdbq5csgicq5kvjwqi7awmdytfa7akrakhjxdplvlj76i6vohrb64kzyrqqr/providers/Microsoft.Storage/storageAccounts/clitesttmueyebgy6bw6ekei","name":"clitesttmueyebgy6bw6ekei","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.5699847Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.5699847Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:20.4230240Z","primaryEndpoints":{"blob":"https://clitesttmueyebgy6bw6ekei.blob.core.windows.net/","queue":"https://clitesttmueyebgy6bw6ekei.queue.core.windows.net/","table":"https://clitesttmueyebgy6bw6ekei.table.core.windows.net/","file":"https://clitesttmueyebgy6bw6ekei.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzabsnz3lo3jeefwit4voinbern524nntg5gmepcaikowmpul2bxcf5c72fhi5u7k4/providers/Microsoft.Storage/storageAccounts/clitestwsodwsjh3pop6g7z5","name":"clitestwsodwsjh3pop6g7z5","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:24.6401524Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:24.6401524Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"ResolvingDns","creationTime":"2018-06-26T23:08:24.3589132Z","primaryEndpoints":{"blob":"https://clitestwsodwsjh3pop6g7z5.blob.core.windows.net/","queue":"https://clitestwsodwsjh3pop6g7z5.queue.core.windows.net/","table":"https://clitestwsodwsjh3pop6g7z5.table.core.windows.net/","file":"https://clitestwsodwsjh3pop6g7z5.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://clitestwsodwsjh3pop6g7z5-secondary.blob.core.windows.net/","queue":"https://clitestwsodwsjh3pop6g7z5-secondary.queue.core.windows.net/","table":"https://clitestwsodwsjh3pop6g7z5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.2510303Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.2510303Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:20.0634494Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxgroup1diag230","name":"wilxgroup1diag230","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-13T21:55:06.8353870Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-13T21:55:06.8353870Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-13T21:55:06.6635043Z","primaryEndpoints":{"blob":"https://wilxgroup1diag230.blob.core.windows.net/","queue":"https://wilxgroup1diag230.queue.core.windows.net/","table":"https://wilxgroup1diag230.table.core.windows.net/","file":"https://wilxgroup1diag230.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgsboggw3qcuvu7zzy6aejhvwcdb6opi3c7x3vxvibmdjvb4ih6pheswn4ibusmznb3/providers/Microsoft.Storage/storageAccounts/clitestjezer5fwyu734osvc","name":"clitestjezer5fwyu734osvc","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.6870948Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.6870948Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"ResolvingDns","creationTime":"2018-06-26T23:08:23.4683407Z","primaryEndpoints":{"blob":"https://clitestjezer5fwyu734osvc.blob.core.windows.net/","queue":"https://clitestjezer5fwyu734osvc.queue.core.windows.net/","table":"https://clitestjezer5fwyu734osvc.table.core.windows.net/","file":"https://clitestjezer5fwyu734osvc.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgslle2whrrtya7zgsjykczzurzm4tjbnkzhtdyfj6fhrzk7svy4l6n5ds7x6cofuar/providers/Microsoft.Storage/storageAccounts/clitestmenyvcjt2wxeofn3b","name":"clitestmenyvcjt2wxeofn3b","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:43.3835193Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:43.3835193Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T21:03:43.2429055Z","primaryEndpoints":{"blob":"https://clitestmenyvcjt2wxeofn3b.blob.core.windows.net/","queue":"https://clitestmenyvcjt2wxeofn3b.queue.core.windows.net/","table":"https://clitestmenyvcjt2wxeofn3b.table.core.windows.net/","file":"https://clitestmenyvcjt2wxeofn3b.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgc4wmagpfooopf7v4zi57x6mqgflwxapbwczm4xnfshs76vizap7hqc6zz2zxfif6p/providers/Microsoft.Storage/storageAccounts/clitestw36ow7yxk3wy6knp6","name":"clitestw36ow7yxk3wy6knp6","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:24.6245269Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:24.6245269Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"ResolvingDns","creationTime":"2018-06-26T23:08:24.3589132Z","primaryEndpoints":{"blob":"https://clitestw36ow7yxk3wy6knp6.blob.core.windows.net/","queue":"https://clitestw36ow7yxk3wy6knp6.queue.core.windows.net/","table":"https://clitestw36ow7yxk3wy6knp6.table.core.windows.net/","file":"https://clitestw36ow7yxk3wy6knp6.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://clitestw36ow7yxk3wy6knp6-secondary.blob.core.windows.net/","queue":"https://clitestw36ow7yxk3wy6knp6-secondary.queue.core.windows.net/","table":"https://clitestw36ow7yxk3wy6knp6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlab1/providers/Microsoft.Storage/storageAccounts/acliautomationlab8902","name":"acliautomationlab8902","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"hidden-DevTestLabs-LabUId":"ca9ec547-32c5-422d-b3d2-25906ed71959"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T16:51:47.2194106Z","primaryEndpoints":{"blob":"https://acliautomationlab8902.blob.core.windows.net/","queue":"https://acliautomationlab8902.queue.core.windows.net/","table":"https://acliautomationlab8902.table.core.windows.net/","file":"https://acliautomationlab8902.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-eventgridtesting/providers/Microsoft.Storage/storageAccounts/eventgridtestin9c1e","name":"eventgridtestin9c1e","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-30T22:57:11.1008680Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-30T22:57:11.1008680Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-30T22:57:10.9915110Z","primaryEndpoints":{"blob":"https://eventgridtestin9c1e.blob.core.windows.net/","queue":"https://eventgridtestin9c1e.queue.core.windows.net/","table":"https://eventgridtestin9c1e.table.core.windows.net/","file":"https://eventgridtestin9c1e.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Storage/storageAccounts/lmazueltestcapture451","name":"lmazueltestcapture451","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-06T16:46:02.5308824Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-06T16:46:02.5308824Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-06T16:46:02.4527298Z","primaryEndpoints":{"blob":"https://lmazueltestcapture451.blob.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup2/providers/Microsoft.Storage/storageAccounts/wilxstorage0","name":"wilxstorage0","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-04-13T01:05:28.4023820Z","primaryEndpoints":{"web":"https://wilxstorage0.z5.web.core.windows.net/","blob":"https://wilxstorage0.blob.core.windows.net/","queue":"https://wilxstorage0.queue.core.windows.net/","table":"https://wilxstorage0.table.core.windows.net/","file":"https://wilxstorage0.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rglaebtqqk7cheshiqgq2hsikdfugudf2e2jxxuj7z36s2hb3au3pkug74nbb6skwat/providers/Microsoft.Storage/storageAccounts/accountz22foj2mrxmdhnecz","name":"accountz22foj2mrxmdhnecz","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:42.7089608Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:42.7089608Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-26T21:03:42.6620847Z","primaryEndpoints":{"web":"https://accountz22foj2mrxmdhnecz.z4.web.core.windows.net/","blob":"https://accountz22foj2mrxmdhnecz.blob.core.windows.net/","queue":"https://accountz22foj2mrxmdhnecz.queue.core.windows.net/","table":"https://accountz22foj2mrxmdhnecz.table.core.windows.net/","file":"https://accountz22foj2mrxmdhnecz.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://accountz22foj2mrxmdhnecz-secondary.z4.web.core.windows.net/","blob":"https://accountz22foj2mrxmdhnecz-secondary.blob.core.windows.net/","queue":"https://accountz22foj2mrxmdhnecz-secondary.queue.core.windows.net/","table":"https://accountz22foj2mrxmdhnecz-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6igypwbrsbzdombq4hgrzvptrm7qocgh2hvbbiy2igylc7tg6zajc2gr7mcugfmzg/providers/Microsoft.Storage/storageAccounts/clitestrmqgoh6xn5zolzzog","name":"clitestrmqgoh6xn5zolzzog","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.8324478Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.8324478Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:20.7561715Z","primaryEndpoints":{"blob":"https://clitestrmqgoh6xn5zolzzog.blob.core.windows.net/","queue":"https://clitestrmqgoh6xn5zolzzog.queue.core.windows.net/","table":"https://clitestrmqgoh6xn5zolzzog.table.core.windows.net/","file":"https://clitestrmqgoh6xn5zolzzog.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmr6jo34yofyafj3n6gjbhrgmrd6pwgguthc2u235qfle6y6ztyzrlkuqn544s7cop/providers/Microsoft.Storage/storageAccounts/clitestnlmd52jlcmr4ce7b4","name":"clitestnlmd52jlcmr4ce7b4","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:14:07.3188286Z","primaryEndpoints":{"blob":"https://clitestnlmd52jlcmr4ce7b4.blob.core.windows.net/","queue":"https://clitestnlmd52jlcmr4ce7b4.queue.core.windows.net/","table":"https://clitestnlmd52jlcmr4ce7b4.table.core.windows.net/","file":"https://clitestnlmd52jlcmr4ce7b4.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgpfhep77mmcmcn3afvnvskjk3g27ybc7gq6kh5c6vu7ugy7e3ykawkib6u7st25kbi/providers/Microsoft.Storage/storageAccounts/clitest5o5upfigqe5aenkc3","name":"clitest5o5upfigqe5aenkc3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-25T01:22:12.5013507Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-25T01:22:12.5013507Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-25T01:22:12.4388487Z","primaryEndpoints":{"blob":"https://clitest5o5upfigqe5aenkc3.blob.core.windows.net/","queue":"https://clitest5o5upfigqe5aenkc3.queue.core.windows.net/","table":"https://clitest5o5upfigqe5aenkc3.table.core.windows.net/","file":"https://clitest5o5upfigqe5aenkc3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageworm","name":"wilxstorageworm","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-13T22:36:53.0909769Z","primaryEndpoints":{"blob":"https://wilxstorageworm.blob.core.windows.net/","queue":"https://wilxstorageworm.queue.core.windows.net/","table":"https://wilxstorageworm.table.core.windows.net/","file":"https://wilxstorageworm.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageworm-secondary.blob.core.windows.net/","queue":"https://wilxstorageworm-secondary.queue.core.windows.net/","table":"https://wilxstorageworm-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgnipcxreywyorqhptpg4lmvsb6sqsef3mezozbrenqq6ufmd3hrh7plmdnorjt5y5x/providers/Microsoft.Storage/storageAccounts/clitestshv4qcdkeictveped","name":"clitestshv4qcdkeictveped","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-14T19:04:11.4311113Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-14T19:04:11.4311113Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-14T19:04:11.3686065Z","primaryEndpoints":{"blob":"https://clitestshv4qcdkeictveped.blob.core.windows.net/","queue":"https://clitestshv4qcdkeictveped.queue.core.windows.net/","table":"https://clitestshv4qcdkeictveped.table.core.windows.net/","file":"https://clitestshv4qcdkeictveped.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg7kqthyknz2o7qkxznlgrr6zpu3ayy7bj4gyghstdvotwzqkghzym4okgqqbgirrqj/providers/Microsoft.Storage/storageAccounts/clitest3efkhu7d7pyfzvsp5","name":"clitest3efkhu7d7pyfzvsp5","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.5481716Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.5481716Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:20.4686079Z","primaryEndpoints":{"blob":"https://clitest3efkhu7d7pyfzvsp5.blob.core.windows.net/","queue":"https://clitest3efkhu7d7pyfzvsp5.queue.core.windows.net/","table":"https://clitest3efkhu7d7pyfzvsp5.table.core.windows.net/","file":"https://clitest3efkhu7d7pyfzvsp5.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv6extdlzddtno2qf5o37e5g2n2d2x5ah4gq2olmpqezmxibj4h36focak4y6dose7/providers/Microsoft.Storage/storageAccounts/clitestcushmpfbtkste2a2a","name":"clitestcushmpfbtkste2a2a","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-25T01:20:25.1414518Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-25T01:20:25.1414518Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-25T01:20:25.0780033Z","primaryEndpoints":{"blob":"https://clitestcushmpfbtkste2a2a.blob.core.windows.net/","queue":"https://clitestcushmpfbtkste2a2a.queue.core.windows.net/","table":"https://clitestcushmpfbtkste2a2a.table.core.windows.net/","file":"https://clitestcushmpfbtkste2a2a.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg326oxnqqn33y3n42vz6x5xol5rvvw3z4o6tladwwtkmcntnsxhhxxtddtrxwm2edj/providers/Microsoft.Storage/storageAccounts/clitestjwzkdsfuou3niutbd","name":"clitestjwzkdsfuou3niutbd","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:07:33.0552270Z","primaryEndpoints":{"blob":"https://clitestjwzkdsfuou3niutbd.blob.core.windows.net/","queue":"https://clitestjwzkdsfuou3niutbd.queue.core.windows.net/","table":"https://clitestjwzkdsfuou3niutbd.table.core.windows.net/","file":"https://clitestjwzkdsfuou3niutbd.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgldagdmcl4pklmwzmr3wftx2kidhw7johz6d7tl6m7raetzzfhpqhrfffu5vwqtfxo/providers/Microsoft.Storage/storageAccounts/clitestt6pqb7xneswrh2sp6","name":"clitestt6pqb7xneswrh2sp6","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:51:14.8105336Z","primaryEndpoints":{"blob":"https://clitestt6pqb7xneswrh2sp6.blob.core.windows.net/","queue":"https://clitestt6pqb7xneswrh2sp6.queue.core.windows.net/","table":"https://clitestt6pqb7xneswrh2sp6.table.core.windows.net/","file":"https://clitestt6pqb7xneswrh2sp6.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgf3er5m4irbxsxhyil42jxq3t5ehzphmdzn2gortdlrzyw4i6tlgswx2xrcgldp6oh/providers/Microsoft.Storage/storageAccounts/clitestpabilv4yd6qxvguml","name":"clitestpabilv4yd6qxvguml","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T19:20:22.2445526Z","primaryEndpoints":{"blob":"https://clitestpabilv4yd6qxvguml.blob.core.windows.net/","queue":"https://clitestpabilv4yd6qxvguml.queue.core.windows.net/","table":"https://clitestpabilv4yd6qxvguml.table.core.windows.net/","file":"https://clitestpabilv4yd6qxvguml.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgjzhnckmw5ftoqmm2b5gezwgslvfm2dqg7ldpwvuukicy7ca4unquohsptfrbddr2a/providers/Microsoft.Storage/storageAccounts/clitestvjlqxa4ctzkwwpg4b","name":"clitestvjlqxa4ctzkwwpg4b","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-29T19:38:19.5634738Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-29T19:38:19.5634738Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-29T19:38:19.5165939Z","primaryEndpoints":{"blob":"https://clitestvjlqxa4ctzkwwpg4b.blob.core.windows.net/","queue":"https://clitestvjlqxa4ctzkwwpg4b.queue.core.windows.net/","table":"https://clitestvjlqxa4ctzkwwpg4b.table.core.windows.net/","file":"https://clitestvjlqxa4ctzkwwpg4b.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgwxiadyatfxsixayqfinia7ybjwo5cfoyw65qpuna3alx3x2diwukx4tkcpwir2mbq/providers/Microsoft.Storage/storageAccounts/clitesta2lvllqz23rgasyf7","name":"clitesta2lvllqz23rgasyf7","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:57:25.6193002Z","primaryEndpoints":{"blob":"https://clitesta2lvllqz23rgasyf7.blob.core.windows.net/","queue":"https://clitesta2lvllqz23rgasyf7.queue.core.windows.net/","table":"https://clitesta2lvllqz23rgasyf7.table.core.windows.net/","file":"https://clitesta2lvllqz23rgasyf7.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgoo2qxqtbb56w7uujqzhodrozdh7fxg5wxscql4ndybxkardgqzqvheltadic2zoxf/providers/Microsoft.Storage/storageAccounts/clitestfyixx74gs3loj3isf","name":"clitestfyixx74gs3loj3isf","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:34:26.5668681Z","primaryEndpoints":{"blob":"https://clitestfyixx74gs3loj3isf.blob.core.windows.net/","queue":"https://clitestfyixx74gs3loj3isf.queue.core.windows.net/","table":"https://clitestfyixx74gs3loj3isf.table.core.windows.net/","file":"https://clitestfyixx74gs3loj3isf.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6xf4idvnxclgamrcp2ezv54qhk3doyffriwiegbm7ouxjbfmd2cj7izni3bhdv4wf/providers/Microsoft.Storage/storageAccounts/clitestoj23vdhimampujgji","name":"clitestoj23vdhimampujgji","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-15T02:09:49.4622185Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-15T02:09:49.4622185Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-15T02:09:49.3684695Z","primaryEndpoints":{"blob":"https://clitestoj23vdhimampujgji.blob.core.windows.net/","queue":"https://clitestoj23vdhimampujgji.queue.core.windows.net/","table":"https://clitestoj23vdhimampujgji.table.core.windows.net/","file":"https://clitestoj23vdhimampujgji.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgd5ygu6mbq43qw57ncgznekmhwaqlrowjc6dggyk2h6cfwioigvtt3bg7ayqckcwvk/providers/Microsoft.Storage/storageAccounts/clitestixsogcl5p5af5w2p3","name":"clitestixsogcl5p5af5w2p3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T18:00:02.2087326Z","primaryEndpoints":{"blob":"https://clitestixsogcl5p5af5w2p3.blob.core.windows.net/","queue":"https://clitestixsogcl5p5af5w2p3.queue.core.windows.net/","table":"https://clitestixsogcl5p5af5w2p3.table.core.windows.net/","file":"https://clitestixsogcl5p5af5w2p3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeyg7p46zydk24opv23uowejjybhvp2nqcyqpnmknbs7o3w5c3tocuuygkogbvxz5f/providers/Microsoft.Storage/storageAccounts/clitestcrdofae6jvibomf2w","name":"clitestcrdofae6jvibomf2w","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-20T01:19:55.7120798Z","primaryEndpoints":{"blob":"https://clitestcrdofae6jvibomf2w.blob.core.windows.net/","queue":"https://clitestcrdofae6jvibomf2w.queue.core.windows.net/","table":"https://clitestcrdofae6jvibomf2w.table.core.windows.net/","file":"https://clitestcrdofae6jvibomf2w.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeblmtd6pv6car44ga6qwvicwjyuxydhhkaharam4nad6uekgqgm2uiisw7v4a3czx/providers/Microsoft.Storage/storageAccounts/clitestcdx4bwlcvgviotc2p","name":"clitestcdx4bwlcvgviotc2p","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T22:26:48.9744081Z","primaryEndpoints":{"blob":"https://clitestcdx4bwlcvgviotc2p.blob.core.windows.net/","queue":"https://clitestcdx4bwlcvgviotc2p.queue.core.windows.net/","table":"https://clitestcdx4bwlcvgviotc2p.table.core.windows.net/","file":"https://clitestcdx4bwlcvgviotc2p.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}'} headers: cache-control: [no-cache] - content-length: ['97462'] + content-length: ['44755'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:46 GMT'] + date: ['Tue, 26 Jun 2018 23:08:39 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-original-request-ids: [400f9403-e5f6-4d40-b54d-a8aae7192afa, 8bac4d5c-7584-4404-84a4-778348381883, - 4d3468d9-85e4-4ffd-a61e-19dfb6034ce0, d2a889bb-f2b1-41bc-ad2f-4387bfb944e3, - 30157c0f-ad4b-4c0d-b00f-fe99e47d72dc, bfc07f5d-948d-4185-9b87-08514087ae0e, - c8991b8b-d539-4c43-a527-dba2be4efb47] + x-ms-original-request-ids: [f0ea1eae-efc2-4771-92fe-5bdfd5798214, 360ca13a-2ae3-47e7-b8dd-40fd28a31f65, + 42d572f6-5fe3-4c57-967c-29b6fa085d50, cf71ae12-9222-4497-85f5-ce06b0157cb7, + ce89041d-ab74-4863-8075-f8b4aea84a93, 869322ae-4831-4563-a9bb-90498ea9b216, + 10b43b89-ac2b-41ed-bf14-08a9df9bcf67] status: {code: 200, message: OK} - request: body: null @@ -158,18 +156,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"94uEIpJdQoFGvUpLq172W0WoJBW3KeymBQWjNIBcr123RxLVfRRVSCUUonj7bzAKTUI/gxPz4pB63bh6nuFp2w==","permissions":"FULL"},{"keyName":"key2","value":"K2uoQjVDL7nTil9ce1C8lxWta/FPE/5gqD/CL40AkFzidAFKmgam6IwToKaMYrXfEVywTfRKAwUflstPQEjwyQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"z3+RS2SPPeW+a+sdSyLufjvqp2wpbwjBv7srMmo70Hupjju8wxrfrF3yA6u++2sOig4zyj783qkkaA+yyMMHgw==","permissions":"FULL"},{"keyName":"key2","value":"4/hcejrjsDu6L1lxElGDW/Xs0H6K3l86lWqxTN4ukkiudXkRoNlMNOzAuVqWiL/LRolsVlNKe8OOraa0OCXt8g==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:46 GMT'] + date: ['Tue, 26 Jun 2018 23:08:40 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -189,23 +187,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:46 GMT'] + date: ['Tue, 26 Jun 2018 23:08:40 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdWSFZLWkpZUUVDU1JGQ0pLMjRRQUJOR0RTNkwyUzdBR0lQUnxGQzNCREU0RDQyQ0MzMzg4LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdJSk01VVAzVFlRUEVXTTJHVkNMSlE3T1FXN00zTkEzVUpGMnw2Mjk2RTczRUU4M0MxNTIwLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account.yaml index fc64e9493e6..8c083f9184c 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:45:47Z"}}' + "date": "2018-06-26T23:08:41Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,19 +9,19 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:45:47Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:41Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -30,28 +30,28 @@ interactions: status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:49 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/581bfbcc-2d7d-4095-89c4-5d546894db13?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/9b329f92-0aaf-45ed-842d-82e3a03880be?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/581bfbcc-2d7d-4095-89c4-5d546894db13?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/9b329f92-0aaf-45ed-842d-82e3a03880be?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:49.5279899Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:45.0128036Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:06 GMT'] + date: ['Tue, 26 Jun 2018 23:09:02 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,11 +95,11 @@ interactions: Connection: [keep-alive] Content-Length: ['81'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/checkNameAvailability?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/checkNameAvailability?api-version=2018-03-01-preview response: body: {string: '{"nameAvailable":false,"reason":"AlreadyExists","message":"The storage account named cli000002 is already taken."}'} @@ -109,7 +107,7 @@ interactions: cache-control: [no-cache] content-length: ['129'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:08 GMT'] + date: ['Tue, 26 Jun 2018 23:09:04 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -127,18 +125,18 @@ interactions: CommandName: [storage account list] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts?api-version=2018-03-01-preview response: - body: {string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:49.5279899Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}]}'} + body: {string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:45.0128036Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}]}'} headers: cache-control: [no-cache] - content-length: ['1243'] + content-length: ['1264'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:08 GMT'] + date: ['Tue, 26 Jun 2018 23:09:04 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -156,18 +154,18 @@ interactions: CommandName: [storage account show] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:49.5279899Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:45.0128036Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:09 GMT'] + date: ['Tue, 26 Jun 2018 23:09:05 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -186,18 +184,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"T71EfEyU6KGnY/hliBId6+qsi6a1ZDQCQh8bvoog/YurI/hmyXYNtzq594OdPK8WnobRNFfzWJCnLIdslt2/8A==","permissions":"FULL"},{"keyName":"key2","value":"Ko/+WC1OwMLOXzNX/zpSdM7UyRSkCoo2Id+sv66o4kDvUZutDMu313YlclEGg+dRdaEF7IXLDwB4V6HG7FrA8g==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"7rD03ERjiRS+0t8UIgC31paQVOAtBBs2XtAisO4S9jtIFv0tqHLDmoASFafMntPTDaIhNeUOLRA0N6FVdhbe9g==","permissions":"FULL"},{"keyName":"key2","value":"pp4PTkuh4zkKMnF0vmWzgW0dNlO6bIK6LqNzRrOd7mHLV8Jzz/4kOILFw+wdaxjuFCmmrfVz0HE6WbyBAZMrEw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:10 GMT'] + date: ['Tue, 26 Jun 2018 23:09:05 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -216,18 +214,18 @@ interactions: CommandName: [storage account update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:49.5279899Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:45.0128036Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:09 GMT'] + date: ['Tue, 26 Jun 2018 23:09:05 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -250,18 +248,18 @@ interactions: Connection: [keep-alive] Content-Length: ['349'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"foo":"bar","cat":""},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:49.5279899Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"foo":"bar","cat":""},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:45.0128036Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1251'] + content-length: ['1272'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:10 GMT'] + date: ['Tue, 26 Jun 2018 23:09:06 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -280,18 +278,18 @@ interactions: CommandName: [storage account update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"foo":"bar","cat":""},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:49.5279899Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"foo":"bar","cat":""},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:45.0128036Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1251'] + content-length: ['1272'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:10 GMT'] + date: ['Tue, 26 Jun 2018 23:09:07 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -314,18 +312,18 @@ interactions: Connection: [keep-alive] Content-Length: ['326'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:49.5279899Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:45.0128036Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:11 GMT'] + date: ['Tue, 26 Jun 2018 23:09:08 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -334,7 +332,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -344,18 +342,18 @@ interactions: CommandName: [storage account update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:49.5279899Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:45.0128036Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:12 GMT'] + date: ['Tue, 26 Jun 2018 23:09:09 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -378,18 +376,18 @@ interactions: Connection: [keep-alive] Content-Length: ['343'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"test":"success"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:50.0435368Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:49.5279899Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"test":"success"},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:45.2940438Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:45.0128036Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1247'] + content-length: ['1268'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:13 GMT'] + date: ['Tue, 26 Jun 2018 23:09:11 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -398,7 +396,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null @@ -409,25 +407,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:46:14 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 200, message: OK} - request: body: 'b''{"name": "cli000002", "type": "Microsoft.Storage/storageAccounts"}''' @@ -438,18 +436,18 @@ interactions: Connection: [keep-alive] Content-Length: ['81'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/checkNameAvailability?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/checkNameAvailability?api-version=2018-03-01-preview response: body: {string: '{"nameAvailable":true}'} headers: cache-control: [no-cache] content-length: ['22'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -468,23 +466,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:46:16 GMT'] + date: ['Tue, 26 Jun 2018 23:09:14 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdaVktMTFlUN05JVElCQTNQWFRXVlBIR1BUUkU0WVRXUzdTRnwxOTZCRjcxNTg0RTVDRjcyLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc2QzVLSE9DSEtIUTI0WE1HVVVPRjJJQjdIQzUyTkhEQ0hZSHwxNTEwQkZCMTVBRTAyNjAzLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account_v2.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account_v2.yaml index dd5fabbf40a..39e8efccda8 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account_v2.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account_v2.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause": - "automation", "date": "2018-05-01T21:46:16Z"}}' + "automation", "date": "2018-06-26T23:09:15Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,19 +9,19 @@ interactions: Connection: [keep-alive] Content-Length: ['118'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:46:16Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:09:15Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['392'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:46:17 GMT'] + date: ['Tue, 26 Jun 2018 23:09:16 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -30,34 +30,34 @@ interactions: status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "StorageV2", "location": "southcentralus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": true}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['137'] + Content-Length: ['159'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:46:18 GMT'] + date: ['Tue, 26 Jun 2018 23:09:17 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/9008c892-6042-487c-9297-aa126dbdd3a3?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/e76d8761-c829-42e7-ad0e-f9f253071beb?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1194'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/9008c892-6042-487c-9297-aa126dbdd3a3?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/e76d8761-c829-42e7-ad0e-f9f253071beb?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:46:18.9026126Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:46:18.9026126Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-05-01T21:46:18.8245022Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available","secondaryLocation":"northcentralus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://cli000002-secondary.blob.core.windows.net/","queue":"https://cli000002-secondary.queue.core.windows.net/","table":"https://cli000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:09:17.8290930Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:09:17.8290930Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-26T23:09:17.7665936Z","primaryEndpoints":{"web":"https://cli000002.z21.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available","secondaryLocation":"northcentralus","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://cli000002-secondary.z21.web.core.windows.net/","blob":"https://cli000002-secondary.blob.core.windows.net/","queue":"https://cli000002-secondary.queue.core.windows.net/","table":"https://cli000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1591'] + content-length: ['1755'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:36 GMT'] + date: ['Tue, 26 Jun 2018 23:09:34 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,11 +95,11 @@ interactions: Connection: [keep-alive] Content-Length: ['81'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/checkNameAvailability?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/checkNameAvailability?api-version=2018-03-01-preview response: body: {string: '{"nameAvailable":false,"reason":"AlreadyExists","message":"The storage account named cli000002 is already taken."}'} @@ -109,7 +107,7 @@ interactions: cache-control: [no-cache] content-length: ['129'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:37 GMT'] + date: ['Tue, 26 Jun 2018 23:09:36 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,23 +126,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:46:38 GMT'] + date: ['Tue, 26 Jun 2018 23:09:38 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc3Q0xRTzZXQkJQQTIyT1NYTktTNERETEtJR1M2R1YzSU9WRnw3OEUxRTNGRDYyNjhDNkUwLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc3WEpaWVMyQk80WDRWQldBTUpKVFhCRFhITVU1N1BZR1oySXw4OURENjhGNEE2QkFBMDZDLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account_with_assigned_identity.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account_with_assigned_identity.yaml index eb91655aaba..ba85f4345c9 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account_with_assigned_identity.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_create_storage_account_with_assigned_identity.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause": - "automation", "date": "2018-05-01T21:46:38Z"}}' + "automation", "date": "2018-06-26T23:09:38Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,19 +9,19 @@ interactions: Connection: [keep-alive] Content-Length: ['118'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:46:38Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:09:38Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['392'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:46:39 GMT'] + date: ['Tue, 26 Jun 2018 23:09:38 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -36,19 +36,19 @@ interactions: CommandName: [storage account create] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:46:38Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:09:38Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['392'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:46:40 GMT'] + date: ['Tue, 26 Jun 2018 23:09:40 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -58,34 +58,34 @@ interactions: - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "southcentralus", "identity": {"type": "SystemAssigned"}, "properties": {"supportsHttpsTrafficOnly": - false}}' + false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['173'] + Content-Length: ['196'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:46:43 GMT'] + date: ['Tue, 26 Jun 2018 23:09:42 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/db07f4d6-1aa9-4a35-9e9f-ec92d48bf5c6?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/3dea5379-d179-41f2-92e1-afca0e978a48?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 202, message: Accepted} - request: body: null @@ -94,19 +94,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/db07f4d6-1aa9-4a35-9e9f-ec92d48bf5c6?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/3dea5379-d179-41f2-92e1-afca0e978a48?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"identity":{"principalId":"953ecdf7-a1a2-4571-a45e-276b341fd399","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:46:43.4103371Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:46:43.4103371Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:46:43.3477952Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} + body: {string: '{"identity":{"principalId":"769d7345-c444-4914-864f-9adccd0c81fd","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:09:43.0350577Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:09:43.0350577Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:09:42.9725581Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1387'] + content-length: ['1408'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:01 GMT'] + date: ['Tue, 26 Jun 2018 23:10:00 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -125,23 +123,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:47:02 GMT'] + date: ['Tue, 26 Jun 2018 23:10:02 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdaSlRLRDNBNEhZQkU3VlVCSlU3R0JVNVQzNkQzVFNVRTZDUnwxRjIxOURCNEZEODVDRUIyLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdZUkRWU0NNNVBNSFpaNDJESU1GSlVMV1Q1UVozSDZVQVdETXw1NzczMTk4NUNEOUJCRUI5LVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_customer_managed_key.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_customer_managed_key.yaml index 020aeea2207..efe35a16a2f 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_customer_managed_key.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_customer_managed_key.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause": - "automation", "date": "2018-05-01T21:47:03Z"}}' + "automation", "date": "2018-06-26T23:10:03Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,49 +9,49 @@ interactions: Connection: [keep-alive] Content-Length: ['118'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:47:03Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:10:03Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['392'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:04 GMT'] + date: ['Tue, 26 Jun 2018 23:10:03 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "southcentralus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['133'] + Content-Length: ['156'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:05 GMT'] + date: ['Tue, 26 Jun 2018 23:10:06 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/a9d3ebd1-4539-47e6-ae2c-ebd9ac8b7ed6?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/2ba5bd0a-43ac-4554-a7e9-5f40eff89791?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/a9d3ebd1-4539-47e6-ae2c-ebd9ac8b7ed6?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/2ba5bd0a-43ac-4554-a7e9-5f40eff89791?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:47:05.9065524Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:10:06.0751142Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1247'] + content-length: ['1268'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:22 GMT'] + date: ['Tue, 26 Jun 2018 23:10:23 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"rjXT1kvmeWybJWyFiYBHHDcL5lSdSWDPXj/jKH1+L/FnrP6CQrnFRWNhw4wE8fSQ6koOguSwVwAJOvZLhDliPg==","permissions":"FULL"},{"keyName":"key2","value":"GlYufNjT5f7xOlMIzKSJrB4IwD3vxFV8FE0C/4JyDM7Z1Gw6+jfnA+lFTiUDaFXmwnIE0GBLDbQUvjH1OsPJ9g==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"tEY5jtL7MQ1T5qJwCnPbX9z19iCfMwXoxZarPVFdAwEvnWGoFIMN5H2zsAzOAh2L4k02vXSKEJUE6VTemg3iGw==","permissions":"FULL"},{"keyName":"key2","value":"KGWftCSptZDkn6MCrP9BaeIrwJ6DAErC29hM/mH3/cyvl0xjY4EzZ4dwitvy29FQp/J8n89bEcoroMr2tIc+4A==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:23 GMT'] + date: ['Tue, 26 Jun 2018 23:10:24 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: body: null @@ -127,19 +125,19 @@ interactions: CommandName: [keyvault create] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:47:03Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:10:03Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['392'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:25 GMT'] + date: ['Tue, 26 Jun 2018 23:10:25 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -153,36 +151,36 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-graphrbac/0.40.0 Azure-SDK-For-Python] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-graphrbac/0.40.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/me?api-version=1.6 response: - body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/Microsoft.DirectoryServices.User/@Element","odata.type":"Microsoft.DirectoryServices.User","objectType":"User","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","deletionTimestamp":null,"accountEnabled":true,"ageGroup":null,"assignedLicenses":[{"disabledPlans":[],"skuId":"488ba24a-39a9-4473-8ee5-19291e71b002"},{"disabledPlans":[],"skuId":"b05e124f-c7cc-45a0-a6aa-8cf78c946968"},{"disabledPlans":["0b03f40b-c404-40c3-8651-2aceb74365fa","b650d915-9886-424b-a08d-633cede56f57","e95bec33-7c88-4a70-8e19-b10bd9d0c014","5dbe027f-2339-4123-9542-606e4d348a72","fe71d6c3-a2ea-4499-9778-da042bf08063","fafd7243-e5c1-4a3a-9e40-495efcb1d3c3"],"skuId":"ea126fc5-a19e-42e2-a731-da9d437bffcf"},{"disabledPlans":[],"skuId":"c7df2760-2c81-4ef7-b578-5b5392b571df"},{"disabledPlans":["e95bec33-7c88-4a70-8e19-b10bd9d0c014","5dbe027f-2339-4123-9542-606e4d348a72"],"skuId":"f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c"},{"disabledPlans":[],"skuId":"c5928f49-12ba-48f7-ada3-0d743a3601d5"},{"disabledPlans":[],"skuId":"c52ea49f-fe5d-4e95-93ba-1de91d380f89"}],"assignedPlans":[{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"fe71d6c3-a2ea-4499-9778-da042bf08063"},{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f"},{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"da792a53-cbc0-4184-a10d-e544dd34b3c1"},{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"e95bec33-7c88-4a70-8e19-b10bd9d0c014"},{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"5dbe027f-2339-4123-9542-606e4d348a72"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"fe71d6c3-a2ea-4499-9778-da042bf08063"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"e95bec33-7c88-4a70-8e19-b10bd9d0c014"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"5dbe027f-2339-4123-9542-606e4d348a72"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Deleted","service":"MicrosoftStream","servicePlanId":"acffdce6-c30f-4dc2-81c0-372e33c515ec"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Enabled","service":"MicrosoftOffice","servicePlanId":"fafd7243-e5c1-4a3a-9e40-495efcb1d3c3"},{"assignedTimestamp":"2018-03-17T19:15:37Z","capabilityStatus":"Enabled","service":"WindowsDefenderATP","servicePlanId":"871d91ec-ec1a-452b-a83f-bd76c7d770ef"},{"assignedTimestamp":"2018-03-17T19:15:37Z","capabilityStatus":"Enabled","service":"AzureAdvancedThreatAnalytics","servicePlanId":"14ab5db5-e6c4-4b20-b4bc-13e36fd2227f"},{"assignedTimestamp":"2018-03-17T19:15:37Z","capabilityStatus":"Enabled","service":"Windows","servicePlanId":"e7c91390-7625-45be-94e0-e16907e03118"},{"assignedTimestamp":"2018-01-09T12:24:45Z","capabilityStatus":"Enabled","service":"ProjectWorkManagement","servicePlanId":"b737dad2-2f6c-4c65-90e3-ca563267e8b9"},{"assignedTimestamp":"2018-01-01T06:15:34Z","capabilityStatus":"Enabled","service":"AADPremiumService","servicePlanId":"41781fb2-bc02-4b7c-bd55-b576c07bb09d"},{"assignedTimestamp":"2018-01-01T06:15:34Z","capabilityStatus":"Enabled","service":"MultiFactorService","servicePlanId":"8a256a2b-b617-496d-b51b-e76466e88db0"},{"assignedTimestamp":"2017-12-31T18:38:48Z","capabilityStatus":"Deleted","service":"Adallom","servicePlanId":"932ad362-64a8-4783-9106-97849a1a30b9"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"da792a53-cbc0-4184-a10d-e544dd34b3c1"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"To-Do","servicePlanId":"3fb82609-8c27-4f7b-bd51-30634711ee67"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"RMSOnline","servicePlanId":"5689bec4-755d-4753-8b61-40975025187c"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"Adallom","servicePlanId":"2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"Adallom","servicePlanId":"8c098270-9dd4-4350-9b30-ba4703f3b36b"},{"assignedTimestamp":"2017-10-07T05:29:38Z","capabilityStatus":"Enabled","service":"Netbreeze","servicePlanId":"03acaee3-9492-4f40-aed4-bcb6b32981b6"},{"assignedTimestamp":"2017-10-07T05:29:38Z","capabilityStatus":"Enabled","service":"RMSOnline","servicePlanId":"bea4c11e-220a-4e6d-8eb8-8ea15d019f90"},{"assignedTimestamp":"2017-10-07T05:29:38Z","capabilityStatus":"Enabled","service":"RMSOnline","servicePlanId":"6c57d4b6-3b23-47a5-9bc9-69f17b4947b3"},{"assignedTimestamp":"2017-10-07T05:29:38Z","capabilityStatus":"Enabled","service":"CRM","servicePlanId":"d56f3deb-50d8-465a-bedb-f079817ccac1"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"efb87545-963c-4e0d-99df-69c6916d9eb0"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"MicrosoftCommunicationsOnline","servicePlanId":"3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"MicrosoftCommunicationsOnline","servicePlanId":"4828c8ec-dc2e-4779-b502-87ac9ce28ab7"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"34c0d7a0-a70f-4668-9238-47f9fc208882"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"9f431833-0334-42de-a7dc-70aa40db46db"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"Deskless","servicePlanId":"8c7d2df8-86f0-4902-b2ed-a0458298f3b3"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"8e0c0a52-6a6c-4d40-8370-dd62790dcd70"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"MicrosoftStream","servicePlanId":"6c6042f5-6f01-4d67-b8c1-eb99d36eed3e"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"OfficeForms","servicePlanId":"e212cbc7-0961-4c40-9825-01117710dcb1"},{"assignedTimestamp":"2017-08-04T07:20:51Z","capabilityStatus":"Enabled","service":"AADPremiumService","servicePlanId":"eec0eb4f-6444-4f95-aba0-50c24d67f998"},{"assignedTimestamp":"2017-08-04T07:20:51Z","capabilityStatus":"Enabled","service":"SCO","servicePlanId":"c1ec4a95-1f05-45b3-a911-aa3fa01094f5"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"MicrosoftCommunicationsOnline","servicePlanId":"0feaeb32-d00e-4d66-bd5a-43b5b83db82c"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"ProcessSimple","servicePlanId":"07699545-9485-468e-95b6-2fca3738be01"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"Sway","servicePlanId":"a23b959c-7ce8-4e57-9140-b90eb88a9e97"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"PowerBI","servicePlanId":"70d33638-9c74-4d01-bfd3-562de28bd4ba"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"4de31727-a228-4ec3-a5bf-8e45b5ca48cc"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"MicrosoftOffice","servicePlanId":"663a804f-1c30-4ff0-9915-9db84f0d1cea"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"TeamspaceAPI","servicePlanId":"57ff2da0-773e-42df-b2af-ffb7a2317929"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"PowerAppsService","servicePlanId":"9c0dab89-a30c-4117-86e7-97bda240acd2"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"OfficeForms","servicePlanId":"159f4cd6-e380-449f-a816-af1a9ef76344"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"YammerEnterprise","servicePlanId":"7547a3fe-08ee-4ccb-b430-5077c5041653"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"MicrosoftOffice","servicePlanId":"43de0ff5-c92c-492b-9116-175376d08c38"}],"city":"REDMOND","companyName":"MICROSOFT","consentProvidedForMinor":null,"country":null,"creationType":null,"department":"Azure + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/Microsoft.DirectoryServices.User/@Element","odata.type":"Microsoft.DirectoryServices.User","objectType":"User","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","deletionTimestamp":null,"accountEnabled":true,"ageGroup":null,"assignedLicenses":[{"disabledPlans":[],"skuId":"488ba24a-39a9-4473-8ee5-19291e71b002"},{"disabledPlans":[],"skuId":"b05e124f-c7cc-45a0-a6aa-8cf78c946968"},{"disabledPlans":["0b03f40b-c404-40c3-8651-2aceb74365fa","b650d915-9886-424b-a08d-633cede56f57","e95bec33-7c88-4a70-8e19-b10bd9d0c014","5dbe027f-2339-4123-9542-606e4d348a72","fe71d6c3-a2ea-4499-9778-da042bf08063","fafd7243-e5c1-4a3a-9e40-495efcb1d3c3"],"skuId":"ea126fc5-a19e-42e2-a731-da9d437bffcf"},{"disabledPlans":[],"skuId":"c7df2760-2c81-4ef7-b578-5b5392b571df"},{"disabledPlans":["e95bec33-7c88-4a70-8e19-b10bd9d0c014","5dbe027f-2339-4123-9542-606e4d348a72"],"skuId":"f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c"},{"disabledPlans":[],"skuId":"c5928f49-12ba-48f7-ada3-0d743a3601d5"},{"disabledPlans":[],"skuId":"c52ea49f-fe5d-4e95-93ba-1de91d380f89"}],"assignedPlans":[{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"fe71d6c3-a2ea-4499-9778-da042bf08063"},{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f"},{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"da792a53-cbc0-4184-a10d-e544dd34b3c1"},{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"e95bec33-7c88-4a70-8e19-b10bd9d0c014"},{"assignedTimestamp":"2018-04-24T12:19:11Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"5dbe027f-2339-4123-9542-606e4d348a72"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"fe71d6c3-a2ea-4499-9778-da042bf08063"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"e95bec33-7c88-4a70-8e19-b10bd9d0c014"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"5dbe027f-2339-4123-9542-606e4d348a72"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Deleted","service":"MicrosoftStream","servicePlanId":"acffdce6-c30f-4dc2-81c0-372e33c515ec"},{"assignedTimestamp":"2018-03-23T21:16:30Z","capabilityStatus":"Enabled","service":"MicrosoftOffice","servicePlanId":"fafd7243-e5c1-4a3a-9e40-495efcb1d3c3"},{"assignedTimestamp":"2018-03-17T19:15:37Z","capabilityStatus":"Enabled","service":"WindowsDefenderATP","servicePlanId":"871d91ec-ec1a-452b-a83f-bd76c7d770ef"},{"assignedTimestamp":"2018-03-17T19:15:37Z","capabilityStatus":"Enabled","service":"AzureAdvancedThreatAnalytics","servicePlanId":"14ab5db5-e6c4-4b20-b4bc-13e36fd2227f"},{"assignedTimestamp":"2018-03-17T19:15:37Z","capabilityStatus":"Enabled","service":"Windows","servicePlanId":"e7c91390-7625-45be-94e0-e16907e03118"},{"assignedTimestamp":"2018-01-09T12:24:45Z","capabilityStatus":"Enabled","service":"ProjectWorkManagement","servicePlanId":"b737dad2-2f6c-4c65-90e3-ca563267e8b9"},{"assignedTimestamp":"2018-01-01T06:15:34Z","capabilityStatus":"Enabled","service":"AADPremiumService","servicePlanId":"41781fb2-bc02-4b7c-bd55-b576c07bb09d"},{"assignedTimestamp":"2018-01-01T06:15:34Z","capabilityStatus":"Enabled","service":"MultiFactorService","servicePlanId":"8a256a2b-b617-496d-b51b-e76466e88db0"},{"assignedTimestamp":"2017-12-31T18:38:48Z","capabilityStatus":"Deleted","service":"Adallom","servicePlanId":"932ad362-64a8-4783-9106-97849a1a30b9"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"da792a53-cbc0-4184-a10d-e544dd34b3c1"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"To-Do","servicePlanId":"3fb82609-8c27-4f7b-bd51-30634711ee67"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"RMSOnline","servicePlanId":"5689bec4-755d-4753-8b61-40975025187c"},{"assignedTimestamp":"2017-12-14T05:01:45Z","capabilityStatus":"Enabled","service":"Adallom","servicePlanId":"2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"Adallom","servicePlanId":"8c098270-9dd4-4350-9b30-ba4703f3b36b"},{"assignedTimestamp":"2017-10-07T05:29:38Z","capabilityStatus":"Enabled","service":"Netbreeze","servicePlanId":"03acaee3-9492-4f40-aed4-bcb6b32981b6"},{"assignedTimestamp":"2017-10-07T05:29:38Z","capabilityStatus":"Enabled","service":"RMSOnline","servicePlanId":"bea4c11e-220a-4e6d-8eb8-8ea15d019f90"},{"assignedTimestamp":"2017-10-07T05:29:38Z","capabilityStatus":"Enabled","service":"RMSOnline","servicePlanId":"6c57d4b6-3b23-47a5-9bc9-69f17b4947b3"},{"assignedTimestamp":"2017-10-07T05:29:38Z","capabilityStatus":"Enabled","service":"CRM","servicePlanId":"d56f3deb-50d8-465a-bedb-f079817ccac1"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"efb87545-963c-4e0d-99df-69c6916d9eb0"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"MicrosoftCommunicationsOnline","servicePlanId":"3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"MicrosoftCommunicationsOnline","servicePlanId":"4828c8ec-dc2e-4779-b502-87ac9ce28ab7"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"34c0d7a0-a70f-4668-9238-47f9fc208882"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"9f431833-0334-42de-a7dc-70aa40db46db"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"Deskless","servicePlanId":"8c7d2df8-86f0-4902-b2ed-a0458298f3b3"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"8e0c0a52-6a6c-4d40-8370-dd62790dcd70"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"MicrosoftStream","servicePlanId":"6c6042f5-6f01-4d67-b8c1-eb99d36eed3e"},{"assignedTimestamp":"2017-08-18T15:14:38Z","capabilityStatus":"Enabled","service":"OfficeForms","servicePlanId":"e212cbc7-0961-4c40-9825-01117710dcb1"},{"assignedTimestamp":"2017-08-04T07:20:51Z","capabilityStatus":"Enabled","service":"AADPremiumService","servicePlanId":"eec0eb4f-6444-4f95-aba0-50c24d67f998"},{"assignedTimestamp":"2017-08-04T07:20:51Z","capabilityStatus":"Enabled","service":"SCO","servicePlanId":"c1ec4a95-1f05-45b3-a911-aa3fa01094f5"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"MicrosoftCommunicationsOnline","servicePlanId":"0feaeb32-d00e-4d66-bd5a-43b5b83db82c"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"ProcessSimple","servicePlanId":"07699545-9485-468e-95b6-2fca3738be01"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"Sway","servicePlanId":"a23b959c-7ce8-4e57-9140-b90eb88a9e97"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"PowerBI","servicePlanId":"70d33638-9c74-4d01-bfd3-562de28bd4ba"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"4de31727-a228-4ec3-a5bf-8e45b5ca48cc"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"MicrosoftOffice","servicePlanId":"663a804f-1c30-4ff0-9915-9db84f0d1cea"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"TeamspaceAPI","servicePlanId":"57ff2da0-773e-42df-b2af-ffb7a2317929"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"PowerAppsService","servicePlanId":"9c0dab89-a30c-4117-86e7-97bda240acd2"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"OfficeForms","servicePlanId":"159f4cd6-e380-449f-a816-af1a9ef76344"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"YammerEnterprise","servicePlanId":"7547a3fe-08ee-4ccb-b430-5077c5041653"},{"assignedTimestamp":"2017-08-04T02:23:56Z","capabilityStatus":"Enabled","service":"MicrosoftOffice","servicePlanId":"43de0ff5-c92c-492b-9116-175376d08c38"}],"city":"REDMOND","companyName":"MICROSOFT","consentProvidedForMinor":null,"country":null,"createdDateTime":null,"creationType":null,"department":"Azure and Web","dirSyncEnabled":true,"displayName":"Willie Xu","employeeId":null,"facsimileTelephoneNumber":null,"givenName":"Willie","immutableId":"1241166","isCompromised":null,"jobTitle":"SOFTWARE - ENGINEER","lastDirSyncTime":"2018-04-14T15:06:56Z","legalAgeGroupClassification":null,"mail":"Willie.Xu@microsoft.com","mailNickname":"wilx","mobile":null,"onPremisesDistinguishedName":"CN=Willie + ENGINEER","lastDirSyncTime":"2018-06-01T09:01:18Z","legalAgeGroupClassification":null,"mail":"Willie.Xu@microsoft.com","mailNickname":"wilx","mobile":null,"onPremisesDistinguishedName":"CN=Willie Xu,OU=UserAccounts,DC=redmond,DC=corp,DC=microsoft,DC=com","onPremisesSecurityIdentifier":"S-1-5-21-2127521184-1604012920-1887927527-28031824","otherMails":[],"passwordPolicies":"DisablePasswordExpiration","passwordProfile":null,"physicalDeliveryOfficeName":"18/2250FL","postalCode":null,"preferredLanguage":null,"provisionedPlans":[{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"Netbreeze"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"CRM"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"MicrosoftCommunicationsOnline"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"MicrosoftCommunicationsOnline"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"MicrosoftCommunicationsOnline"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"}],"provisioningErrors":[],"proxyAddresses":["x500:/o=ExchangeLabs/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=73e4dc5a8858433681fcb300f98cd2db-Willie Xu","X500:/o=microsoft/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=53ed7de51a1940ae94f43ae4b57643a4-Willie Xu","X500:/o=MMS/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=55b110a31823461c9ce34dd1a3f445dc-Willie Xu96c9fa53-17","X500:/o=microsoft/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=e2257f0925774064878e0ae17f94fdef-Willie - Xu","smtp:wilx@microsoft.onmicrosoft.com","smtp:wilx@service.microsoft.com","smtp:wilx@microsoft.com","SMTP:Willie.Xu@microsoft.com"],"refreshTokensValidFromDateTime":"2018-02-27T19:29:17Z","showInAddressList":null,"signInNames":[],"sipProxyAddress":"wilx@microsoft.com","state":null,"streetAddress":null,"surname":"Xu","telephoneNumber":null,"usageLocation":"US","userIdentities":[],"userPrincipalName":"wilx@microsoft.com","userType":"Member","extension_18e31482d3fb4a8ea958aa96b662f508_ZipCode":"98052","extension_18e31482d3fb4a8ea958aa96b662f508_SupervisorInd":"N","extension_18e31482d3fb4a8ea958aa96b662f508_StateProvinceCode":"WA","extension_18e31482d3fb4a8ea958aa96b662f508_ReportsToPersonnelNbr":"186027","extension_18e31482d3fb4a8ea958aa96b662f508_ReportsToFullName":"Diwan, + Xu","smtp:wilx@microsoft.onmicrosoft.com","smtp:wilx@service.microsoft.com","smtp:wilx@microsoft.com","SMTP:Willie.Xu@microsoft.com"],"refreshTokensValidFromDateTime":"2018-05-09T16:42:32Z","showInAddressList":null,"signInNames":[],"sipProxyAddress":"wilx@microsoft.com","state":null,"streetAddress":null,"surname":"Xu","telephoneNumber":null,"usageLocation":"US","userIdentities":[],"userPrincipalName":"wilx@microsoft.com","userType":"Member","extension_18e31482d3fb4a8ea958aa96b662f508_SupervisorInd":"N","extension_18e31482d3fb4a8ea958aa96b662f508_ZipCode":"98052","extension_18e31482d3fb4a8ea958aa96b662f508_StateProvinceCode":"WA","extension_18e31482d3fb4a8ea958aa96b662f508_ReportsToPersonnelNbr":"186027","extension_18e31482d3fb4a8ea958aa96b662f508_ReportsToFullName":"Diwan, Mayuri","extension_18e31482d3fb4a8ea958aa96b662f508_ReportsToEmailName":"MAYURID","extension_18e31482d3fb4a8ea958aa96b662f508_ProfitCenterCode":"P10040929","extension_18e31482d3fb4a8ea958aa96b662f508_PositionNumber":"90656247","extension_18e31482d3fb4a8ea958aa96b662f508_LocationAreaCode":"US","extension_18e31482d3fb4a8ea958aa96b662f508_CountryShortCode":"US","extension_18e31482d3fb4a8ea958aa96b662f508_CostCenterCode":"10040929","extension_18e31482d3fb4a8ea958aa96b662f508_CompanyCode":"1010","extension_18e31482d3fb4a8ea958aa96b662f508_CityName":"REDMOND","extension_18e31482d3fb4a8ea958aa96b662f508_BuildingName":"18","extension_18e31482d3fb4a8ea958aa96b662f508_BuildingID":"17","extension_18e31482d3fb4a8ea958aa96b662f508_AddressLine1":"1 Microsoft Way","extension_18e31482d3fb4a8ea958aa96b662f508_PersonnelNumber":"1241166"}'} headers: access-control-allow-origin: ['*'] cache-control: [no-cache] - content-length: ['13487'] + content-length: ['13510'] content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] dataserviceversion: [3.0;] - date: ['Tue, 01 May 2018 21:47:26 GMT'] - duration: ['1254797'] + date: ['Tue, 26 Jun 2018 23:10:26 GMT'] + duration: ['1203170'] expires: ['-1'] - ocp-aad-diagnostics-server-name: [itPlsAoHbG6osDHbVzYs2a+9kGEe205TaLepJuLRQYY=] - ocp-aad-session-key: [OgpqxwMSJJJizHeXqDwJ-bzGwpuqkBgQrFWBGCwdMMP-Z4AUSEIPeNeE3YiQTwaS4SxjS--Qk6Yj8Eoxu3pdpMw06vULma9DvW-BK4dIajLJtVq5Bg-GOTXzZsMOREsA.Vq3iqNRGq2xtGuJsX-zTrphAojKyhUjXgQNHAcYiTl4] + ocp-aad-diagnostics-server-name: [r0o8Zfv+/EsfSzvffV1oL1MCccQ68EumyGGwG7/SNv8=] + ocp-aad-session-key: [bJTOwnXmly2Tbzc1X5V7JLajItCbpltJgbF8z0uovNcZx7TLwQ4unLg5-XUFMuPy4_4wqQH1CMNjMHZnsyUZSCTYhByfIU1Rx4kofrw9XYurS9HR5wLfYmJy7ftLsSuM.ledus0RmaHpSFGq91pZqopwzaHR7XBeWf7QPTjua4QM] pragma: [no-cache] - request-id: [6b9e1fcd-901a-45f5-891a-a0547b042652] + request-id: [17d25943-c667-45dc-affa-34cd8d52a462] server: [Microsoft-IIS/10.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-aspnet-version: [4.0.30319] @@ -207,9 +205,9 @@ interactions: Connection: [keep-alive] Content-Length: ['754'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2016-10-01 @@ -219,7 +217,7 @@ interactions: cache-control: [no-cache] content-length: ['1114'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:28 GMT'] + date: ['Tue, 26 Jun 2018 23:10:38 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -228,8 +226,8 @@ interactions: vary: [Accept-Encoding] x-aspnet-version: [4.0.30319] x-content-type-options: [nosniff] - x-ms-keyvault-service-version: [1.0.0.215] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-keyvault-service-version: [1.0.0.220] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] x-powered-by: [ASP.NET] status: {code: 200, message: OK} - request: @@ -240,9 +238,9 @@ interactions: CommandName: [keyvault show] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2016-10-01 @@ -252,7 +250,7 @@ interactions: cache-control: [no-cache] content-length: ['1115'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:29 GMT'] + date: ['Tue, 26 Jun 2018 23:10:38 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -261,7 +259,7 @@ interactions: vary: [Accept-Encoding] x-aspnet-version: [4.0.30319] x-content-type-options: [nosniff] - x-ms-keyvault-service-version: [1.0.0.215] + x-ms-keyvault-service-version: [1.0.0.220] x-powered-by: [ASP.NET] status: {code: 200, message: OK} - request: @@ -272,8 +270,8 @@ interactions: Connection: [keep-alive] Content-Length: ['47'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 keyvaultclient/0.3.7 Azure-SDK-For-Python] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 keyvaultclient/0.3.7 Azure-SDK-For-Python] accept-language: [en-US] method: POST uri: https://clitest000003.vault.azure.net/keys/testkey/create?api-version=2016-10-01 @@ -282,7 +280,7 @@ interactions: headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:47:30 GMT'] + date: ['Tue, 26 Jun 2018 23:10:39 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -293,7 +291,7 @@ interactions: x-content-type-options: [nosniff] x-ms-keyvault-network-info: [addr=167.220.1.116;act_addr_fam=InterNetwork;] x-ms-keyvault-region: [southcentralus] - x-ms-keyvault-service-version: [1.0.0.847] + x-ms-keyvault-service-version: [1.0.0.849] x-powered-by: [ASP.NET] status: {code: 401, message: Unauthorized} - request: @@ -304,18 +302,18 @@ interactions: Connection: [keep-alive] Content-Length: ['47'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 keyvaultclient/0.3.7 Azure-SDK-For-Python] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 keyvaultclient/0.3.7 Azure-SDK-For-Python] accept-language: [en-US] method: POST uri: https://clitest000003.vault.azure.net/keys/testkey/create?api-version=2016-10-01 response: - body: {string: '{"key":{"kid":"https://clitest000003.vault.azure.net/keys/testkey/f99dcad9b19d4839be3296fd333700a9","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"r9OTl9V1DpLm1W8tKktiO6lSvXSDZaKGh8yamAJWaIk4yWvFm983fAsTys0Jr6xxauUVTg6tRXjhkDm45em4J8oRwdnDyYWkUWwl98EKZiSy0EvvcVK2e5wY3Q9aiIfRsBF2ctw9yu7g_ARtc7cMS2OPN-WVQutm8Sz5-NihxedjpktsXRjI224sAzlN2U_Qztow3d78i7T-3pbSNEX_4RL-iIbd4VFvzlT-qAA6vYhA5smXRCnK-piEVqpAW0vawx26UnRwxu-_T69LERBIBoRmnPFBznUyW7QRIWzm9c0ariEsSsDvom2FrCDvrl9T79AkJT3OFejpgY3T6xsuqw","e":"AQAB"},"attributes":{"enabled":true,"created":1525211251,"updated":1525211251,"recoveryLevel":"Purgeable"}}'} + body: {string: '{"key":{"kid":"https://clitest000003.vault.azure.net/keys/testkey/ceba9ed55eba4110be95b604ff29f535","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"nY5bBODEl4coWetS9iffWiP0eJWm6Ix3GNU-ybmJRr6akYiLB4vdCh-B8ridsWws7OqJL03-wxKp2AbjyCZfivMmGLw-lE7Lpj42VFtHbSl5-UMGtR38eo-yGLmTsw-6CXAtAFB1_iweO3eayAmi6jTJT74f_9UFeDh6yt6p1iwbDEK1HsaU-rIWKTQHZKYzDW1Y7kW23Q67L-XYOBzchtr9Benx4dzoa0IiOuCsFNmzVbtTippk6hnof0Lq_2fw6ZyuKtDPYRqtKjgzLT5QHhZaTDZOuTrOzz-jocj3NI-7gKOEDiHdQ4VdWmEaEEYLC4VDsua-t0ArRCIiE2PZoQ","e":"AQAB"},"attributes":{"enabled":true,"created":1530054641,"updated":1530054641,"recoveryLevel":"Purgeable"}}'} headers: cache-control: [no-cache] content-length: ['654'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:31 GMT'] + date: ['Tue, 26 Jun 2018 23:10:41 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -324,7 +322,7 @@ interactions: x-content-type-options: [nosniff] x-ms-keyvault-network-info: [addr=167.220.1.116;act_addr_fam=InterNetwork;] x-ms-keyvault-region: [southcentralus] - x-ms-keyvault-service-version: [1.0.0.847] + x-ms-keyvault-service-version: [1.0.0.849] x-powered-by: [ASP.NET] status: {code: 200, message: OK} - request: @@ -335,18 +333,18 @@ interactions: CommandName: [storage account update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:47:05.9065524Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:10:06.0751142Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1247'] + content-length: ['1268'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:32 GMT'] + date: ['Tue, 26 Jun 2018 23:10:41 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -369,18 +367,18 @@ interactions: Connection: [keep-alive] Content-Length: ['366'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"identity":{"principalId":"f9dda2cf-e03f-4a7a-a8ea-7411041143de","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:47:05.9065524Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} + body: {string: '{"identity":{"principalId":"bc4dab83-e27a-4df0-8aad-c3d526943a54","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:10:06.0751142Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1387'] + content-length: ['1408'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:34 GMT'] + date: ['Tue, 26 Jun 2018 23:10:45 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -389,7 +387,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -399,19 +397,19 @@ interactions: CommandName: [keyvault set-policy] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2016-10-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"RegisteringDns"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] - content-length: ['1115'] + content-length: ['1110'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:35 GMT'] + date: ['Tue, 26 Jun 2018 23:10:46 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -420,7 +418,7 @@ interactions: vary: [Accept-Encoding] x-aspnet-version: [4.0.30319] x-content-type-options: [nosniff] - x-ms-keyvault-service-version: [1.0.0.215] + x-ms-keyvault-service-version: [1.0.0.220] x-powered-by: [ASP.NET] status: {code: 200, message: OK} - request: @@ -434,7 +432,7 @@ interactions: "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "objectId": "f9dda2cf-e03f-4a7a-a8ea-7411041143de", "permissions": {"keys": + "objectId": "bc4dab83-e27a-4df0-8aad-c3d526943a54", "permissions": {"keys": ["get", "wrapKey", "unwrapKey", "recover"]}}], "vaultUri": "https://clitest000003.vault.azure.net/", "enabledForDeployment": false}}''' headers: @@ -444,19 +442,19 @@ interactions: Connection: [keep-alive] Content-Length: ['1037'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2016-10-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"f9dda2cf-e03f-4a7a-a8ea-7411041143de","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"RegisteringDns"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"bc4dab83-e27a-4df0-8aad-c3d526943a54","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] - content-length: ['1280'] + content-length: ['1275'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:35 GMT'] + date: ['Tue, 26 Jun 2018 23:10:48 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -465,8 +463,8 @@ interactions: vary: [Accept-Encoding] x-aspnet-version: [4.0.30319] x-content-type-options: [nosniff] - x-ms-keyvault-service-version: [1.0.0.215] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-keyvault-service-version: [1.0.0.220] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] x-powered-by: [ASP.NET] status: {code: 200, message: OK} - request: @@ -477,19 +475,19 @@ interactions: CommandName: [keyvault update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2016-10-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"f9dda2cf-e03f-4a7a-a8ea-7411041143de","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"RegisteringDns"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"bc4dab83-e27a-4df0-8aad-c3d526943a54","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] - content-length: ['1280'] + content-length: ['1275'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:36 GMT'] + date: ['Tue, 26 Jun 2018 23:10:50 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -498,7 +496,7 @@ interactions: vary: [Accept-Encoding] x-aspnet-version: [4.0.30319] x-content-type-options: [nosniff] - x-ms-keyvault-service-version: [1.0.0.215] + x-ms-keyvault-service-version: [1.0.0.220] x-powered-by: [ASP.NET] status: {code: 200, message: OK} - request: @@ -511,7 +509,7 @@ interactions: "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, - {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "f9dda2cf-e03f-4a7a-a8ea-7411041143de", + {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "bc4dab83-e27a-4df0-8aad-c3d526943a54", "permissions": {"keys": ["get", "wrapKey", "unwrapKey", "recover"]}}], "vaultUri": "https://clitest000003.vault.azure.net/", "enabledForDeployment": false, "enableSoftDelete": true}}''' @@ -522,19 +520,19 @@ interactions: Connection: [keep-alive] Content-Length: ['1051'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 keyvaultmanagementclient/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2016-10-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"f9dda2cf-e03f-4a7a-a8ea-7411041143de","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"RegisteringDns"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"bc4dab83-e27a-4df0-8aad-c3d526943a54","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] - content-length: ['1304'] + content-length: ['1299'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:36 GMT'] + date: ['Tue, 26 Jun 2018 23:10:51 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -543,8 +541,8 @@ interactions: vary: [Accept-Encoding] x-aspnet-version: [4.0.30319] x-content-type-options: [nosniff] - x-ms-keyvault-service-version: [1.0.0.215] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-keyvault-service-version: [1.0.0.220] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] x-powered-by: [ASP.NET] status: {code: 200, message: OK} - request: @@ -555,12 +553,12 @@ interactions: CommandName: [resource update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault","namespace":"Microsoft.KeyVault","authorizations":[{"applicationId":"cfa8b339-82a2-471a-a3c9-0fc0be7a4093","roleDefinitionId":"1cf9858a-28a2-4228-abba-94e606305b95"}],"resourceTypes":[{"resourceType":"vaults","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast @@ -568,49 +566,49 @@ interactions: West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}],"capabilities":"CrossResourceGroupResourceMove, + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}],"capabilities":"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove"},{"resourceType":"vaults/secrets","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"vaults/accessPolicies","locations":["North + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"vaults/accessPolicies","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"operations","locations":[],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01","2014-12-19-preview"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01"]},{"resourceType":"deletedVaults","locations":["North + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"operations","locations":[],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01","2014-12-19-preview"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01"]},{"resourceType":"deletedVaults","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01"]},{"resourceType":"locations","locations":[],"apiVersions":["2018-02-14-preview","2016-10-01"]},{"resourceType":"locations/deletedVaults","locations":["North + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]},{"resourceType":"locations","locations":[],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]},{"resourceType":"locations/deletedVaults","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01"]},{"resourceType":"locations/deleteVirtualNetworkOrSubnets","locations":["East + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]},{"resourceType":"locations/deleteVirtualNetworkOrSubnets","locations":["East US","North Central US","West Europe","North Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West Central US","West US 2","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","Korea Central","Korea South","France Central","Central - US EUAP","East US 2 EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01"]},{"resourceType":"locations/operationResults","locations":["North + US EUAP","East US 2 EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]},{"resourceType":"locations/operationResults","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01"]}],"registrationState":"Registered"}'} + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]}],"registrationState":"Registered"}'} headers: cache-control: [no-cache] - content-length: ['4817'] + content-length: ['4947'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:37 GMT'] + date: ['Tue, 26 Jun 2018 23:10:52 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -625,19 +623,19 @@ interactions: CommandName: [resource update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2016-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2018-02-14 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"f9dda2cf-e03f-4a7a-a8ea-7411041143de","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"RegisteringDns"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"bc4dab83-e27a-4df0-8aad-c3d526943a54","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] - content-length: ['1304'] + content-length: ['1299'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:38 GMT'] + date: ['Tue, 26 Jun 2018 23:10:53 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -646,7 +644,7 @@ interactions: vary: [Accept-Encoding] x-aspnet-version: [4.0.30319] x-content-type-options: [nosniff] - x-ms-keyvault-service-version: [1.0.0.215] + x-ms-keyvault-service-version: [1.0.0.220] x-powered-by: [ASP.NET] status: {code: 200, message: OK} - request: @@ -657,12 +655,12 @@ interactions: CommandName: [resource update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault?api-version=2018-05-01 response: body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault","namespace":"Microsoft.KeyVault","authorizations":[{"applicationId":"cfa8b339-82a2-471a-a3c9-0fc0be7a4093","roleDefinitionId":"1cf9858a-28a2-4228-abba-94e606305b95"}],"resourceTypes":[{"resourceType":"vaults","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast @@ -670,49 +668,49 @@ interactions: West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}],"capabilities":"CrossResourceGroupResourceMove, + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}],"capabilities":"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove"},{"resourceType":"vaults/secrets","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"vaults/accessPolicies","locations":["North + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"vaults/accessPolicies","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"operations","locations":[],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01","2014-12-19-preview"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-02-14-preview","2016-10-01","2015-06-01"]},{"resourceType":"deletedVaults","locations":["North + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"operations","locations":[],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01","2014-12-19-preview"],"apiProfiles":[{"profileVersion":"2018-03-01-hybrid","apiVersion":"2016-10-01"}]},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01","2015-06-01"]},{"resourceType":"deletedVaults","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01"]},{"resourceType":"locations","locations":[],"apiVersions":["2018-02-14-preview","2016-10-01"]},{"resourceType":"locations/deletedVaults","locations":["North + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]},{"resourceType":"locations","locations":[],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]},{"resourceType":"locations/deletedVaults","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01"]},{"resourceType":"locations/deleteVirtualNetworkOrSubnets","locations":["East + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]},{"resourceType":"locations/deleteVirtualNetworkOrSubnets","locations":["East US","North Central US","West Europe","North Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West Central US","West US 2","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","Korea Central","Korea South","France Central","Central - US EUAP","East US 2 EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01"]},{"resourceType":"locations/operationResults","locations":["North + US EUAP","East US 2 EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]},{"resourceType":"locations/operationResults","locations":["North Central US","East US","North Europe","West Europe","East Asia","Southeast Asia","East US 2","Central US","South Central US","West US","Japan East","Japan West","Australia East","Australia Southeast","Brazil South","Central India","South India","West India","Canada Central","Canada East","UK South","UK West","West Central US","West US 2","Korea Central","Korea South","France Central","East - US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2016-10-01"]}],"registrationState":"Registered"}'} + US 2 EUAP","Central US EUAP"],"apiVersions":["2018-02-14-preview","2018-02-14","2016-10-01"]}],"registrationState":"Registered"}'} headers: cache-control: [no-cache] - content-length: ['4817'] + content-length: ['4947'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:38 GMT'] + date: ['Tue, 26 Jun 2018 23:10:52 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -730,63 +728,30 @@ interactions: "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "objectId": "f9dda2cf-e03f-4a7a-a8ea-7411041143de", "permissions": {"keys": + "objectId": "bc4dab83-e27a-4df0-8aad-c3d526943a54", "permissions": {"keys": ["get", "wrapKey", "unwrapKey", "recover"]}}], "enabledForDeployment": false, "enableSoftDelete": true, "vaultUri": "https://clitest000003.vault.azure.net/", - "provisioningState": "RegisteringDns", "enablePurgeProtection": true}}''' + "provisioningState": "Succeeded", "enablePurgeProtection": true}}''' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [resource update] Connection: [keep-alive] - Content-Length: ['1133'] + Content-Length: ['1128'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2016-10-01 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"f9dda2cf-e03f-4a7a-a8ea-7411041143de","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"enablePurgeProtection":true,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"RegisteringDns"}}'} - headers: - cache-control: [no-cache] - content-length: ['1333'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:38 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [Microsoft-IIS/10.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-aspnet-version: [4.0.30319] - x-content-type-options: [nosniff] - x-ms-keyvault-service-version: [1.0.0.215] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] - x-powered-by: [ASP.NET] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [resource update] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2016-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003?api-version=2018-02-14 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"f9dda2cf-e03f-4a7a-a8ea-7411041143de","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"enablePurgeProtection":true,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/clitest000003","name":"clitest000003","type":"Microsoft.KeyVault/vaults","location":"southcentralus","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"4b1f6d49-d203-442f-bb23-06d98ab68f05","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"bc4dab83-e27a-4df0-8aad-c3d526943a54","permissions":{"keys":["get","wrapKey","unwrapKey","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"enablePurgeProtection":true,"vaultUri":"https://clitest000003.vault.azure.net/","provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['1328'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:48:08 GMT'] + date: ['Tue, 26 Jun 2018 23:10:54 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-IIS/10.0] @@ -795,7 +760,8 @@ interactions: vary: [Accept-Encoding] x-aspnet-version: [4.0.30319] x-content-type-options: [nosniff] - x-ms-keyvault-service-version: [1.0.0.215] + x-ms-keyvault-service-version: [1.0.0.220] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] x-powered-by: [ASP.NET] status: {code: 200, message: OK} - request: @@ -806,18 +772,18 @@ interactions: CommandName: [storage account update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"identity":{"principalId":"f9dda2cf-e03f-4a7a-a8ea-7411041143de","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:47:05.9065524Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} + body: {string: '{"identity":{"principalId":"bc4dab83-e27a-4df0-8aad-c3d526943a54","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:10:06.0751142Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1387'] + content-length: ['1408'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:10 GMT'] + date: ['Tue, 26 Jun 2018 23:10:54 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -831,7 +797,7 @@ interactions: body: 'b''{"sku": {"name": "Standard_LRS"}, "tags": {}, "properties": {"encryption": {"services": {"blob": {"enabled": true}, "file": {"enabled": true}}, "keySource": "Microsoft.Keyvault", "keyvaultproperties": {"keyname": "testkey", "keyversion": - "f99dcad9b19d4839be3296fd333700a9", "keyvaulturi": "https://clitest000003.vault.azure.net/"}}, + "ceba9ed55eba4110be95b604ff29f535", "keyvaulturi": "https://clitest000003.vault.azure.net/"}}, "supportsHttpsTrafficOnly": false, "networkAcls": {"bypass": "AzureServices", "virtualNetworkRules": [], "ipRules": [], "defaultAction": "Allow"}}}''' headers: @@ -841,18 +807,18 @@ interactions: Connection: [keep-alive] Content-Length: ['491'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"identity":{"principalId":"f9dda2cf-e03f-4a7a-a8ea-7411041143de","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"keyvaultproperties":{"keyvaulturi":"https://clitest000003.vault.azure.net/","keyname":"testkey","keyversion":"f99dcad9b19d4839be3296fd333700a9"},"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:05.9534027Z"}},"keySource":"Microsoft.Keyvault"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:47:05.9065524Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} + body: {string: '{"identity":{"principalId":"bc4dab83-e27a-4df0-8aad-c3d526943a54","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"keyvaultproperties":{"keyvaulturi":"https://clitest000003.vault.azure.net/","keyname":"testkey","keyversion":"ceba9ed55eba4110be95b604ff29f535"},"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.1688698Z"}},"keySource":"Microsoft.Keyvault"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:10:06.0751142Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1545'] + content-length: ['1566'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:12 GMT'] + date: ['Tue, 26 Jun 2018 23:10:58 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -872,23 +838,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:48:15 GMT'] + date: ['Tue, 26 Jun 2018 23:10:59 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdZQlVZMlVaMldaM0JVQlk0QVJSUjU0WktOVEZPQ0RPN0dNSnw1MEFGMTlBQjYxRTEzM0JCLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc1NUM0NklCV0FPTUxTVVZQQldORkNZVVE3T1dOU0VEVDRGRXw1Q0IyNEE5OTI0REQwNTJCLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_list_locations.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_list_locations.yaml index f5290c6f7e0..01a07754ea7 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_list_locations.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_list_locations.yaml @@ -7,8 +7,8 @@ interactions: CommandName: [account list-locations] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 subscriptionclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 subscriptionclient/2.0.0rc2 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2016-06-01 @@ -48,7 +48,7 @@ interactions: cache-control: [no-cache] content-length: ['5269'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:48:17 GMT'] + date: ['Tue, 26 Jun 2018 23:11:00 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_list_storage_accounts.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_list_storage_accounts.yaml index bbf2a0ff1af..0234cfef43f 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_list_storage_accounts.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_list_storage_accounts.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:48:17Z"}}' + "date": "2018-06-26T23:11:01Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,55 +9,55 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:48:17Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:11:01Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:48:17 GMT'] + date: ['Tue, 26 Jun 2018 23:11:01 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:48:17 GMT'] + date: ['Tue, 26 Jun 2018 23:11:04 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/935cdf39-c0de-4897-b12d-11c1f43e1569?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/242b873f-ebf5-4717-932a-4cc330aeda18?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/935cdf39-c0de-4897-b12d-11c1f43e1569?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/242b873f-ebf5-4717-932a-4cc330aeda18?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:18.3231444Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:18.3231444Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:48:18.2450195Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:04.2234569Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:04.2234569Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:11:04.0516009Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:34 GMT'] + date: ['Tue, 26 Jun 2018 23:11:21 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"JpyZFS2rU/ITmy9GBt9dJfleHXQKyPbsm1h1IUmgr1qxETrsAeJ3exRr+g1qBwW6srp2+G4DJqNQADG1jid3ag==","permissions":"FULL"},{"keyName":"key2","value":"5qnrHpm9V5AdQGEFqM2q9KdH9kJSL+yzIh6R+9yFpOhg2P5GjXhcAwKX8/OEfuahhNcnZSjtGQN/gSgujew/+g==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"Hj2NXL70ZOjAlvL6sMCBta+U5iE/kgzNeKPOFVT4iDsPxwlHk96MO5vFLWLG/bFqgn+HwW+Lx77rroGYMEP6Ug==","permissions":"FULL"},{"keyName":"key2","value":"OXBMng6B0/hdJY8KyzLV3eRIWQh5kLDkizuAPf3XatdqOWqTfxGMCxA+4S6iuIBBs9xIKd7jllLVKA1xAF9MnQ==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:36 GMT'] + date: ['Tue, 26 Jun 2018 23:11:23 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,38 +115,38 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] status: {code: 200, message: OK} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:48:37 GMT'] + date: ['Tue, 26 Jun 2018 23:11:24 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b9cf7077-db79-4990-b409-a7475f2dac0b?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/5859d27b-b764-4b5b-99e5-b43e24bd6d64?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 202, message: Accepted} - request: body: null @@ -157,19 +155,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b9cf7077-db79-4990-b409-a7475f2dac0b?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/5859d27b-b764-4b5b-99e5-b43e24bd6d64?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:37.4795170Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:37.4795170Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:48:37.3857709Z","primaryEndpoints":{"blob":"https://clitest000003.blob.core.windows.net/","queue":"https://clitest000003.queue.core.windows.net/","table":"https://clitest000003.table.core.windows.net/","file":"https://clitest000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:24.7901543Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:24.7901543Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:11:24.6338930Z","primaryEndpoints":{"blob":"https://clitest000003.blob.core.windows.net/","queue":"https://clitest000003.queue.core.windows.net/","table":"https://clitest000003.table.core.windows.net/","file":"https://clitest000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:54 GMT'] + date: ['Tue, 26 Jun 2018 23:11:41 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -188,18 +184,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"hKhdGhEQVL9EUpbHR/nmynJ5GOpRtciN9bY7LZUtSQkxoyryK6NudyK3KJl9lz8u1CHb1cWFEQFyRDb0LZlhfg==","permissions":"FULL"},{"keyName":"key2","value":"nU4o9UKVho35Jfw1fuOoKK+z1e41ejTzYtlOXDZ8sWTZHvHEFJyI1sUzF/SuZGWIeti3qFzNq6ZaigP8frZ9TA==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"x2huOKR0gVmB1nxYeba2h+jfOiNoZHKBrGsCGIk1K1fbjKOPfkp3UPPH3tLb215z1BgZxSeLXbIMGz1HWfz6bA==","permissions":"FULL"},{"keyName":"key2","value":"287pQ4xEXqVN2kRurW7sO7KhEd/fP+AMrz/XWBuS0Bk2gZWTDBtFht2tw4wgHaNMBbxG+3SSYkI1M3HeSsmKEw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:55 GMT'] + date: ['Tue, 26 Jun 2018 23:11:43 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -208,7 +204,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -218,27 +214,27 @@ interactions: CommandName: [storage account list] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2018-03-01-preview response: - body: {string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/o0zeaawp7t7n4skagntpri4","name":"o0zeaawp7t7n4skagntpri4","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.2637195Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.2637195Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.2168154Z","primaryEndpoints":{"blob":"https://o0zeaawp7t7n4skagntpri4.blob.core.windows.net/","queue":"https://o0zeaawp7t7n4skagntpri4.queue.core.windows.net/","table":"https://o0zeaawp7t7n4skagntpri4.table.core.windows.net/","file":"https://o0zeaawp7t7n4skagntpri4.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/zeaawp7t7n4skagntpub","name":"zeaawp7t7n4skagntpub","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.5762847Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.5762847Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.5294154Z","primaryEndpoints":{"blob":"https://zeaawp7t7n4skagntpub.blob.core.windows.net/","queue":"https://zeaawp7t7n4skagntpub.queue.core.windows.net/","table":"https://zeaawp7t7n4skagntpub.table.core.windows.net/","file":"https://zeaawp7t7n4skagntpub.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storGRP1/providers/Microsoft.Storage/storageAccounts/storacc2","name":"storacc2","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-09T18:24:41.3214880Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-09T18:24:41.3214880Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-09T18:24:41.2902466Z","primaryEndpoints":{"blob":"https://storacc2.blob.core.windows.net/","queue":"https://storacc2.queue.core.windows.net/","table":"https://storacc2.table.core.windows.net/","file":"https://storacc2.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/zeaawp7t7n4skdiag0","name":"zeaawp7t7n4skdiag0","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.7951275Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.7951275Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.7482499Z","primaryEndpoints":{"blob":"https://zeaawp7t7n4skdiag0.blob.core.windows.net/","queue":"https://zeaawp7t7n4skdiag0.queue.core.windows.net/","table":"https://zeaawp7t7n4skdiag0.table.core.windows.net/","file":"https://zeaawp7t7n4skdiag0.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Storage/storageAccounts/mynewaccount1234","name":"mynewaccount1234","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-27T21:34:15.2961058Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-27T21:34:15.2961058Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-27T21:34:15.2335978Z","primaryEndpoints":{"blob":"https://mynewaccount1234.blob.core.windows.net/","queue":"https://mynewaccount1234.queue.core.windows.net/","table":"https://mynewaccount1234.table.core.windows.net/","file":"https://mynewaccount1234.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/60zeaawp7t7n4skagntpri1","name":"60zeaawp7t7n4skagntpri1","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:59.4978129Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:59.4978129Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:33:59.3727743Z","primaryEndpoints":{"blob":"https://60zeaawp7t7n4skagntpri1.blob.core.windows.net/","queue":"https://60zeaawp7t7n4skagntpri1.queue.core.windows.net/","table":"https://60zeaawp7t7n4skagntpri1.table.core.windows.net/","file":"https://60zeaawp7t7n4skagntpri1.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/00zeaawp7t7n4skagntpri0","name":"00zeaawp7t7n4skagntpri0","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:57.1533290Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:57.1533290Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:33:57.1064646Z","primaryEndpoints":{"blob":"https://00zeaawp7t7n4skagntpri0.blob.core.windows.net/","queue":"https://00zeaawp7t7n4skagntpri0.queue.core.windows.net/","table":"https://00zeaawp7t7n4skagntpri0.table.core.windows.net/","file":"https://00zeaawp7t7n4skagntpri0.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxgroupdisks925","name":"wilxgroupdisks925","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-13T17:14:42.2678046Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-13T17:14:42.2678046Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-13T17:14:42.2522063Z","primaryEndpoints":{"blob":"https://wilxgroupdisks925.blob.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/i0zeaawp7t7n4skagntpri3","name":"i0zeaawp7t7n4skagntpri3","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:59.2790240Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:33:59.2790240Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:33:59.2321471Z","primaryEndpoints":{"blob":"https://i0zeaawp7t7n4skagntpri3.blob.core.windows.net/","queue":"https://i0zeaawp7t7n4skagntpri3.queue.core.windows.net/","table":"https://i0zeaawp7t7n4skagntpri3.table.core.windows.net/","file":"https://i0zeaawp7t7n4skagntpri3.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/zeaawp7t7n4skexhb0","name":"zeaawp7t7n4skexhb0","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.8576146Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.8576146Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.7951275Z","primaryEndpoints":{"blob":"https://zeaawp7t7n4skexhb0.blob.core.windows.net/","queue":"https://zeaawp7t7n4skexhb0.queue.core.windows.net/","table":"https://zeaawp7t7n4skexhb0.table.core.windows.net/","file":"https://zeaawp7t7n4skexhb0.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/zeaawp7t7n4skmstr0","name":"zeaawp7t7n4skmstr0","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.5294154Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.5294154Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.4825090Z","primaryEndpoints":{"blob":"https://zeaawp7t7n4skmstr0.blob.core.windows.net/","queue":"https://zeaawp7t7n4skmstr0.queue.core.windows.net/","table":"https://zeaawp7t7n4skmstr0.table.core.windows.net/","file":"https://zeaawp7t7n4skmstr0.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Storage/storageAccounts/c0zeaawp7t7n4skagntpri2","name":"c0zeaawp7t7n4skagntpri2","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.8889157Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-18T18:34:00.8889157Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-01-18T18:34:00.8263879Z","primaryEndpoints":{"blob":"https://c0zeaawp7t7n4skagntpri2.blob.core.windows.net/","queue":"https://c0zeaawp7t7n4skagntpri2.queue.core.windows.net/","table":"https://c0zeaawp7t7n4skagntpri2.table.core.windows.net/","file":"https://c0zeaawp7t7n4skagntpri2.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"identity":{"principalId":"4b358eca-1f6e-4da5-a90c-5cfda2b6ca83","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Storage/storageAccounts/eastustorage1","name":"eastustorage1","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-21T02:38:33.4035294Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-21T02:38:33.4035294Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-03-21T02:38:33.3253713Z","primaryEndpoints":{"blob":"https://eastustorage1.blob.core.windows.net/","queue":"https://eastustorage1.queue.core.windows.net/","table":"https://eastustorage1.table.core.windows.net/","file":"https://eastustorage1.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroupeastus2/providers/Microsoft.Storage/storageAccounts/wilxstorageeastus2","name":"wilxstorageeastus2","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-30T18:32:07.3429304Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-30T18:32:07.3429304Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-30T18:32:07.2804546Z","primaryEndpoints":{"blob":"https://wilxstorageeastus2.blob.core.windows.net/","queue":"https://wilxstorageeastus2.queue.core.windows.net/","table":"https://wilxstorageeastus2.table.core.windows.net/","file":"https://wilxstorageeastus2.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available","secondaryLocation":"centralus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageeastus2-secondary.blob.core.windows.net/","queue":"https://wilxstorageeastus2-secondary.queue.core.windows.net/","table":"https://wilxstorageeastus2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgp3j2bt5nvsedgoxpqt6xtucbamnbo7jkgrcckdigt3aclxopqxio6lxjlqrj3czo7/providers/Microsoft.Storage/storageAccounts/clitestt7lrbv35ny3lgnfak","name":"clitestt7lrbv35ny3lgnfak","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1522571Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1522571Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:17:59.2725025Z","primaryEndpoints":{"blob":"https://clitestt7lrbv35ny3lgnfak.blob.core.windows.net/","queue":"https://clitestt7lrbv35ny3lgnfak.queue.core.windows.net/","table":"https://clitestt7lrbv35ny3lgnfak.table.core.windows.net/","file":"https://clitestt7lrbv35ny3lgnfak.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/vscode-spot/providers/Microsoft.Storage/storageAccounts/spot1936b9594f55526a14","name":"spot1936b9594f55526a14","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-30T04:32:25.2179795Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-30T04:32:25.2179795Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-30T04:32:25.0930004Z","primaryEndpoints":{"blob":"https://spot1936b9594f55526a14.blob.core.windows.net/","queue":"https://spot1936b9594f55526a14.queue.core.windows.net/","table":"https://spot1936b9594f55526a14.table.core.windows.net/","file":"https://spot1936b9594f55526a14.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/awilxlab6038","name":"awilxlab6038","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"8887c3df-fb11-4c4a-b5ea-fb85003cd93d"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-11T22:14:43.7809117Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-11T22:14:43.7809117Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-11T22:14:43.6871681Z","primaryEndpoints":{"blob":"https://awilxlab6038.blob.core.windows.net/","queue":"https://awilxlab6038.queue.core.windows.net/","table":"https://awilxlab6038.table.core.windows.net/","file":"https://awilxlab6038.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy985","name":"foozy985","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2460333Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2460333Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-11T22:39:05.4716715Z","primaryEndpoints":{"blob":"https://foozy985.blob.core.windows.net/","queue":"https://foozy985.queue.core.windows.net/","table":"https://foozy985.table.core.windows.net/","file":"https://foozy985.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Storage/storageAccounts/testacc7561","name":"testacc7561","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-13T01:22:28.4626746Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-13T01:22:28.4626746Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-03-13T01:22:28.4157923Z","primaryEndpoints":{"blob":"https://testacc7561.blob.core.windows.net/","queue":"https://testacc7561.queue.core.windows.net/","table":"https://testacc7561.table.core.windows.net/","file":"https://testacc7561.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgcy7ox5qk3ftoqfvnj2gsphlw7o3kwgyxw7zuvep5lgezszs2ik2wsar4amtsck7mw/providers/Microsoft.Storage/storageAccounts/clitestjjf7hxdcmump2f5jj","name":"clitestjjf7hxdcmump2f5jj","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:25.4950895Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:25.4950895Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:48:25.4013159Z","primaryEndpoints":{"blob":"https://clitestjjf7hxdcmump2f5jj.blob.core.windows.net/","queue":"https://clitestjjf7hxdcmump2f5jj.queue.core.windows.net/","table":"https://clitestjjf7hxdcmump2f5jj.table.core.windows.net/","file":"https://clitestjjf7hxdcmump2f5jj.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxstorage2","name":"wilxstorage2","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-16T19:43:30.0571507Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-16T19:43:30.0571507Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-16T19:43:29.9946790Z","primaryEndpoints":{"blob":"https://wilxstorage2.blob.core.windows.net/","queue":"https://wilxstorage2.queue.core.windows.net/","table":"https://wilxstorage2.table.core.windows.net/","file":"https://wilxstorage2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage2-secondary.blob.core.windows.net/","queue":"https://wilxstorage2-secondary.queue.core.windows.net/","table":"https://wilxstorage2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/foostore103","name":"foostore103","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1991330Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1991330Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-05-25T23:52:18.1234838Z","primaryEndpoints":{"blob":"https://foostore103.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/foostore102","name":"foostore102","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1835342Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1835342Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-05-25T19:32:49.5192125Z","primaryEndpoints":{"blob":"https://foostore102.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgcy7ox5qk3ftoqfvnj2gsphlw7o3kwgyxw7zuvep5lgezszs2ik2wsar4amtsck7mw/providers/Microsoft.Storage/storageAccounts/clitestwtqzdriopzuaexpa2","name":"clitestwtqzdriopzuaexpa2","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:06.2918736Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:06.2918736Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:48:06.2137287Z","primaryEndpoints":{"blob":"https://clitestwtqzdriopzuaexpa2.blob.core.windows.net/","queue":"https://clitestwtqzdriopzuaexpa2.queue.core.windows.net/","table":"https://clitestwtqzdriopzuaexpa2.table.core.windows.net/","file":"https://clitestwtqzdriopzuaexpa2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitest345","name":"zitest345","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.8313291Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.8313291Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-07T21:55:13.9394493Z","primaryEndpoints":{"blob":"https://zitest345.blob.core.windows.net/","queue":"https://zitest345.queue.core.windows.net/","table":"https://zitest345.table.core.windows.net/","file":"https://zitest345.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitest","name":"zitest","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.7688032Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.7688032Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-05-03T20:07:05.353746Z","primaryEndpoints":{"blob":"https://zitest.blob.core.windows.net/","queue":"https://zitest.queue.core.windows.net/","table":"https://zitest.table.core.windows.net/","file":"https://zitest.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitest1012","name":"zitest1012","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.8001033Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:59.8001033Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2017-07-07T02:12:27.684591Z","primaryEndpoints":{"blob":"https://zitest1012.blob.core.windows.net/","queue":"https://zitest1012.queue.core.windows.net/","table":"https://zitest1012.table.core.windows.net/","file":"https://zitest1012.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgvnc44s5iiyknx6iehpbmjsf7y6xsqhrqvyb5opb2yr5wagkqftcqlbbpfkralo2id/providers/Microsoft.Storage/storageAccounts/clitesttc4beb6y7zcdc7zly","name":"clitesttc4beb6y7zcdc7zly","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1522571Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1522571Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:16:26.3626209Z","primaryEndpoints":{"blob":"https://clitesttc4beb6y7zcdc7zly.blob.core.windows.net/","queue":"https://clitesttc4beb6y7zcdc7zly.queue.core.windows.net/","table":"https://clitesttc4beb6y7zcdc7zly.table.core.windows.net/","file":"https://clitesttc4beb6y7zcdc7zly.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Storage/storageAccounts/vhdsn51j1sdv8scmv98fmq8q","name":"vhdsn51j1sdv8scmv98fmq8q","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.3085287Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.3085287Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-03T21:43:45.5227216Z","primaryEndpoints":{"blob":"https://vhdsn51j1sdv8scmv98fmq8q.blob.core.windows.net/","queue":"https://vhdsn51j1sdv8scmv98fmq8q.queue.core.windows.net/","table":"https://vhdsn51j1sdv8scmv98fmq8q.table.core.windows.net/","file":"https://vhdsn51j1sdv8scmv98fmq8q.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgpr2r634eggrjey2jx7izbldaygmfpo4oz23evpt6gldownza2h3gwzfam5h7nffwd/providers/Microsoft.Storage/storageAccounts/clitestbo4aozjkl4cp5ceex","name":"clitestbo4aozjkl4cp5ceex","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:21.6512920Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:21.6512920Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:48:21.5575410Z","primaryEndpoints":{"blob":"https://clitestbo4aozjkl4cp5ceex.blob.core.windows.net/","queue":"https://clitestbo4aozjkl4cp5ceex.queue.core.windows.net/","table":"https://clitestbo4aozjkl4cp5ceex.table.core.windows.net/","file":"https://clitestbo4aozjkl4cp5ceex.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy984","name":"foozy984","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2460333Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2460333Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-11T18:22:12.9346214Z","primaryEndpoints":{"blob":"https://foozy984.blob.core.windows.net/","queue":"https://foozy984.queue.core.windows.net/","table":"https://foozy984.table.core.windows.net/","file":"https://foozy984.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzlponhuihq2f3r2ncatzpvyupukdm6ixm63jq2whzuvbuchjhov4vejrj4uspf7ju/providers/Microsoft.Storage/storageAccounts/clitestracm62rkgrryoiiig","name":"clitestracm62rkgrryoiiig","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T16:57:00.9900481Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T16:57:00.9900481Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T16:57:00.9119456Z","primaryEndpoints":{"blob":"https://clitestracm62rkgrryoiiig.blob.core.windows.net/","queue":"https://clitestracm62rkgrryoiiig.queue.core.windows.net/","table":"https://clitestracm62rkgrryoiiig.table.core.windows.net/","file":"https://clitestracm62rkgrryoiiig.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/testacc209","name":"testacc209","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.3156846Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.3156846Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-01-26T19:04:16.5466637Z","primaryEndpoints":{"blob":"https://testacc209.blob.core.windows.net/","queue":"https://testacc209.queue.core.windows.net/","table":"https://testacc209.table.core.windows.net/","file":"https://testacc209.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-westus/providers/Microsoft.Storage/storageAccounts/cs400977cdb163fx435fx9c3","name":"cs400977cdb163fx435fx9c3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-10-31T20:15:56.3292318Z","primaryEndpoints":{"blob":"https://cs400977cdb163fx435fx9c3.blob.core.windows.net/","queue":"https://cs400977cdb163fx435fx9c3.queue.core.windows.net/","table":"https://cs400977cdb163fx435fx9c3.table.core.windows.net/","file":"https://cs400977cdb163fx435fx9c3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgwgjgodisz2vcsd55l3bixhutc5fbnyeyjuyatvgcv5k7sfzmxd6q2w4krnuq53zb7/providers/Microsoft.Storage/storageAccounts/clitestwwftaylvfj7kendae","name":"clitestwwftaylvfj7kendae","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:22:09.5983536Z","primaryEndpoints":{"blob":"https://clitestwwftaylvfj7kendae.blob.core.windows.net/","queue":"https://clitestwwftaylvfj7kendae.queue.core.windows.net/","table":"https://clitestwwftaylvfj7kendae.table.core.windows.net/","file":"https://clitestwwftaylvfj7kendae.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ziptxtdepl51/providers/Microsoft.Storage/storageAccounts/36y3ij42opovcstandardsa","name":"36y3ij42opovcstandardsa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1054140Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1054140Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-12-15T01:53:43.4548265Z","primaryEndpoints":{"blob":"https://36y3ij42opovcstandardsa.blob.core.windows.net/","queue":"https://36y3ij42opovcstandardsa.queue.core.windows.net/","table":"https://36y3ij42opovcstandardsa.table.core.windows.net/","file":"https://36y3ij42opovcstandardsa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitestb21","name":"zitestb21","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0656866Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0656866Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-08-23T20:10:50.2990885Z","primaryEndpoints":{"blob":"https://zitestb21.blob.core.windows.net/","queue":"https://zitestb21.queue.core.windows.net/","table":"https://zitestb21.table.core.windows.net/","file":"https://zitestb21.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy891","name":"foozy891","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2147571Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2147571Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-08T00:35:23.7925542Z","primaryEndpoints":{"blob":"https://foozy891.blob.core.windows.net/","queue":"https://foozy891.queue.core.windows.net/","table":"https://foozy891.table.core.windows.net/","file":"https://foozy891.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgh73m2h6rniak5bbqyrad43luxpotdofmlndof5secsxxee53kwocysqnklf4bn7yd/providers/Microsoft.Storage/storageAccounts/clitesttohpa6d65i7atctbm","name":"clitesttohpa6d65i7atctbm","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1678828Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:05:15.5574981Z","primaryEndpoints":{"blob":"https://clitesttohpa6d65i7atctbm.blob.core.windows.net/","queue":"https://clitesttohpa6d65i7atctbm.queue.core.windows.net/","table":"https://clitesttohpa6d65i7atctbm.table.core.windows.net/","file":"https://clitesttohpa6d65i7atctbm.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzgkjvgqueh6ylbuj5ktuxx6m6njxoabzpow65vpyumzmtjctna2jgz5lg2ggslj7v/providers/Microsoft.Storage/storageAccounts/clitestncgrg5ytsvot5spgf","name":"clitestncgrg5ytsvot5spgf","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:27.7307380Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:27.7307380Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:27.5276141Z","primaryEndpoints":{"blob":"https://clitestncgrg5ytsvot5spgf.blob.core.windows.net/","queue":"https://clitestncgrg5ytsvot5spgf.queue.core.windows.net/","table":"https://clitestncgrg5ytsvot5spgf.table.core.windows.net/","file":"https://clitestncgrg5ytsvot5spgf.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:18.3231444Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:18.3231444Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:48:18.2450195Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ZiTest/providers/Microsoft.Storage/storageAccounts/ztesty3456","name":"ztesty3456","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-13T01:01:13.5308331Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-13T01:01:13.5308331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-01-13T01:01:13.4995571Z","primaryEndpoints":{"blob":"https://ztesty3456.blob.core.windows.net/","queue":"https://ztesty3456.queue.core.windows.net/","table":"https://ztesty3456.table.core.windows.net/","file":"https://ztesty3456.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:37.4795170Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:37.4795170Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:48:37.3857709Z","primaryEndpoints":{"blob":"https://clitest000003.blob.core.windows.net/","queue":"https://clitest000003.queue.core.windows.net/","table":"https://clitest000003.table.core.windows.net/","file":"https://clitest000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/some-unique-rg-name-second/providers/Microsoft.Storage/storageAccounts/tianosatest79","name":"tianosatest79","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:46.6281789Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:46.6281789Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-05-24T23:16:33.9028352Z","primaryEndpoints":{"blob":"https://tianosatest79.blob.core.windows.net/","queue":"https://tianosatest79.queue.core.windows.net/","table":"https://tianosatest79.table.core.windows.net/","file":"https://tianosatest79.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy894","name":"foozy894","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2303818Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.2303818Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-08T00:39:03.09634Z","primaryEndpoints":{"blob":"https://foozy894.blob.core.windows.net/","queue":"https://foozy894.queue.core.windows.net/","table":"https://foozy894.table.core.windows.net/","file":"https://foozy894.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Storage/storageAccounts/testacc7447","name":"testacc7447","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4719947Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4719947Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-21T19:13:51.907911Z","primaryEndpoints":{"blob":"https://testacc7447.blob.core.windows.net/","queue":"https://testacc7447.queue.core.windows.net/","table":"https://testacc7447.table.core.windows.net/","file":"https://testacc7447.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitesta21","name":"zitesta21","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0344305Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0344305Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-08-23T20:01:18.8418933Z","primaryEndpoints":{"blob":"https://zitesta21.blob.core.windows.net/","queue":"https://zitesta21.queue.core.windows.net/","table":"https://zitesta21.table.core.windows.net/","file":"https://zitesta21.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgcmxzjqe2ev2tarnzledhk4m7mk5dsnxznyqtyvx7dixjnjgqs4h5dh37jqoyzj5l5/providers/Microsoft.Storage/storageAccounts/cliteste7bmlfupz34m23jnc","name":"cliteste7bmlfupz34m23jnc","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1366608Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1366608Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-12-11T00:17:56.913505Z","primaryEndpoints":{"blob":"https://cliteste7bmlfupz34m23jnc.blob.core.windows.net/","queue":"https://cliteste7bmlfupz34m23jnc.queue.core.windows.net/","table":"https://cliteste7bmlfupz34m23jnc.table.core.windows.net/","file":"https://cliteste7bmlfupz34m23jnc.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Storage/storageAccounts/testacc3070","name":"testacc3070","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.3469905Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.3469905Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-21T18:42:53.9505428Z","primaryEndpoints":{"blob":"https://testacc3070.blob.core.windows.net/","queue":"https://testacc3070.queue.core.windows.net/","table":"https://testacc3070.table.core.windows.net/","file":"https://testacc3070.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/zitesty21","name":"zitesty21","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0969536Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:11:00.0969536Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-08-23T19:55:37.1159138Z","primaryEndpoints":{"blob":"https://zitesty21.blob.core.windows.net/","queue":"https://zitesty21.queue.core.windows.net/","table":"https://zitesty21.table.core.windows.net/","file":"https://zitesty21.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Storage/storageAccounts/testacc5739","name":"testacc5739","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4406899Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4406899Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-21T02:06:37.3496304Z","primaryEndpoints":{"blob":"https://testacc5739.blob.core.windows.net/","queue":"https://testacc5739.queue.core.windows.net/","table":"https://testacc5739.table.core.windows.net/","file":"https://testacc5739.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Storage/storageAccounts/testacc3915","name":"testacc3915","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4094279Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-27T09:10:45.4094279Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-21T01:35:41.2354283Z","primaryEndpoints":{"blob":"https://testacc3915.blob.core.windows.net/","queue":"https://testacc3915.queue.core.windows.net/","table":"https://testacc3915.table.core.windows.net/","file":"https://testacc3915.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foozap002/providers/Microsoft.Storage/storageAccounts/foozy89","name":"foozy89","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"key1":"value1","key2":"value2"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1991330Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1991330Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-07-07T22:15:52.1441975Z","primaryEndpoints":{"blob":"https://foozy89.blob.core.windows.net/","queue":"https://foozy89.queue.core.windows.net/","table":"https://foozy89.table.core.windows.net/","file":"https://foozy89.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxgroupdiag169","name":"wilxgroupdiag169","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-29T22:34:01.9561177Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-29T22:34:01.9561177Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-29T22:34:01.8935895Z","primaryEndpoints":{"blob":"https://wilxgroupdiag169.blob.core.windows.net/","queue":"https://wilxgroupdiag169.queue.core.windows.net/","table":"https://wilxgroupdiag169.table.core.windows.net/","file":"https://wilxgroupdiag169.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxgroupdisks899","name":"wilxgroupdisks899","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-11T23:26:25.3653337Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-11T23:26:25.3653337Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-11T23:26:25.2872072Z","primaryEndpoints":{"blob":"https://wilxgroupdisks899.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6sqzt5phdo5viklk7dquteui74rn3vn2tioolq5dsdnz2znxn6fdwaa47uyu2i4eg/providers/Microsoft.Storage/storageAccounts/clitestgjx5vdkyf74377ieg","name":"clitestgjx5vdkyf74377ieg","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1366608Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:59.1366608Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-11-26T06:09:48.4001597Z","primaryEndpoints":{"blob":"https://clitestgjx5vdkyf74377ieg.blob.core.windows.net/","queue":"https://clitestgjx5vdkyf74377ieg.queue.core.windows.net/","table":"https://clitestgjx5vdkyf74377ieg.table.core.windows.net/","file":"https://clitestgjx5vdkyf74377ieg.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Storage/storageAccounts/wilxstorage","name":"wilxstorage","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-15T17:47:45.4399402Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-15T17:47:45.4399402Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-15T17:47:45.3930700Z","primaryEndpoints":{"blob":"https://wilxstorage.blob.core.windows.net/","queue":"https://wilxstorage.queue.core.windows.net/","table":"https://wilxstorage.table.core.windows.net/","file":"https://wilxstorage.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage-secondary.blob.core.windows.net/","queue":"https://wilxstorage-secondary.queue.core.windows.net/","table":"https://wilxstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zitest/providers/Microsoft.Storage/storageAccounts/foostore12978","name":"foostore12978","type":"Microsoft.Storage/storageAccounts","location":"westeurope","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-22T22:18:07.1937355Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-22T22:18:07.1937355Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2016-04-29T06:55:06.4412159Z","primaryEndpoints":{"blob":"https://foostore12978.blob.core.windows.net/","queue":"https://foostore12978.queue.core.windows.net/","table":"https://foostore12978.table.core.windows.net/","file":"https://foostore12978.file.core.windows.net/"},"primaryLocation":"westeurope","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Storage/storageAccounts/tchwong","name":"tchwong","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-01T18:07:07.4006066Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-01T18:07:07.4006066Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-03-01T18:07:07.3381076Z","primaryEndpoints":{"blob":"https://tchwong.blob.core.windows.net/","table":"https://tchwong.table.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlab1/providers/Microsoft.Storage/storageAccounts/acliautomationlab8902","name":"acliautomationlab8902","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"hidden-DevTestLabs-LabUId":"ca9ec547-32c5-422d-b3d2-25906ed71959"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T16:51:47.2194106Z","primaryEndpoints":{"blob":"https://acliautomationlab8902.blob.core.windows.net/","queue":"https://acliautomationlab8902.queue.core.windows.net/","table":"https://acliautomationlab8902.table.core.windows.net/","file":"https://acliautomationlab8902.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"identity":{"principalId":"ebc8557b-5159-4db6-8b04-699759875130","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgls6pde2luhubksnkjxebnrqthsdi6dcfpxcrhlmgnvdkkimk6b2usub6ehq3ocrsm/providers/Microsoft.Storage/storageAccounts/clitesttrevle6ezqkjtfdl3","name":"clitesttrevle6ezqkjtfdl3","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-03-14T22:32:56.5552622Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-03-14T22:32:56.5552622Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-03-14T22:32:56.5084099Z","primaryEndpoints":{"blob":"https://clitesttrevle6ezqkjtfdl3.blob.core.windows.net/","queue":"https://clitesttrevle6ezqkjtfdl3.queue.core.windows.net/","table":"https://clitesttrevle6ezqkjtfdl3.table.core.windows.net/","file":"https://clitesttrevle6ezqkjtfdl3.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testfunction-msi/providers/Microsoft.Storage/storageAccounts/lmazueltestfuncbbd8","name":"lmazueltestfuncbbd8","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1691771Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1691771Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-10-11T19:03:26.3781645Z","primaryEndpoints":{"blob":"https://lmazueltestfuncbbd8.blob.core.windows.net/","queue":"https://lmazueltestfuncbbd8.queue.core.windows.net/","table":"https://lmazueltestfuncbbd8.table.core.windows.net/","file":"https://lmazueltestfuncbbd8.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southcentralus/providers/Microsoft.Storage/storageAccounts/cs700977cdb163fx435fx9c3","name":"cs700977cdb163fx435fx9c3","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1691771Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1691771Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-08-09T21:59:02.7061936Z","primaryEndpoints":{"blob":"https://cs700977cdb163fx435fx9c3.blob.core.windows.net/","queue":"https://cs700977cdb163fx435fx9c3.queue.core.windows.net/","table":"https://cs700977cdb163fx435fx9c3.table.core.windows.net/","file":"https://cs700977cdb163fx435fx9c3.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Storage/storageAccounts/tchwongdiag300","name":"tchwongdiag300","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-20T18:15:54.9483325Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-20T18:15:54.9483325Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-20T18:15:54.8858351Z","primaryEndpoints":{"blob":"https://tchwongdiag300.blob.core.windows.net/","queue":"https://tchwongdiag300.queue.core.windows.net/","table":"https://tchwongdiag300.table.core.windows.net/","file":"https://tchwongdiag300.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefunctions-southcentralus/providers/Microsoft.Storage/storageAccounts/azurefunctions2e2e624d","name":"azurefunctions2e2e624d","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1535349Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-01-08T22:33:58.1535349Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2017-09-22T21:04:32.5702152Z","primaryEndpoints":{"blob":"https://azurefunctions2e2e624d.blob.core.windows.net/","queue":"https://azurefunctions2e2e624d.queue.core.windows.net/","table":"https://azurefunctions2e2e624d.table.core.windows.net/","file":"https://azurefunctions2e2e624d.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available","secondaryLocation":"northcentralus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup2/providers/Microsoft.Storage/storageAccounts/wilxstorage0","name":"wilxstorage0","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-04-13T01:05:28.4023820Z","primaryEndpoints":{"blob":"https://wilxstorage0.blob.core.windows.net/","queue":"https://wilxstorage0.queue.core.windows.net/","table":"https://wilxstorage0.table.core.windows.net/","file":"https://wilxstorage0.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmr6jo34yofyafj3n6gjbhrgmrd6pwgguthc2u235qfle6y6ztyzrlkuqn544s7cop/providers/Microsoft.Storage/storageAccounts/clitestnlmd52jlcmr4ce7b4","name":"clitestnlmd52jlcmr4ce7b4","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:14:07.3188286Z","primaryEndpoints":{"blob":"https://clitestnlmd52jlcmr4ce7b4.blob.core.windows.net/","queue":"https://clitestnlmd52jlcmr4ce7b4.queue.core.windows.net/","table":"https://clitestnlmd52jlcmr4ce7b4.table.core.windows.net/","file":"https://clitestnlmd52jlcmr4ce7b4.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageworm","name":"wilxstorageworm","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-13T22:36:53.0909769Z","primaryEndpoints":{"blob":"https://wilxstorageworm.blob.core.windows.net/","queue":"https://wilxstorageworm.queue.core.windows.net/","table":"https://wilxstorageworm.table.core.windows.net/","file":"https://wilxstorageworm.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageworm-secondary.blob.core.windows.net/","queue":"https://wilxstorageworm-secondary.queue.core.windows.net/","table":"https://wilxstorageworm-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg326oxnqqn33y3n42vz6x5xol5rvvw3z4o6tladwwtkmcntnsxhhxxtddtrxwm2edj/providers/Microsoft.Storage/storageAccounts/clitestjwzkdsfuou3niutbd","name":"clitestjwzkdsfuou3niutbd","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:07:33.0552270Z","primaryEndpoints":{"blob":"https://clitestjwzkdsfuou3niutbd.blob.core.windows.net/","queue":"https://clitestjwzkdsfuou3niutbd.queue.core.windows.net/","table":"https://clitestjwzkdsfuou3niutbd.table.core.windows.net/","file":"https://clitestjwzkdsfuou3niutbd.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgldagdmcl4pklmwzmr3wftx2kidhw7johz6d7tl6m7raetzzfhpqhrfffu5vwqtfxo/providers/Microsoft.Storage/storageAccounts/clitestt6pqb7xneswrh2sp6","name":"clitestt6pqb7xneswrh2sp6","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:51:14.8105336Z","primaryEndpoints":{"blob":"https://clitestt6pqb7xneswrh2sp6.blob.core.windows.net/","queue":"https://clitestt6pqb7xneswrh2sp6.queue.core.windows.net/","table":"https://clitestt6pqb7xneswrh2sp6.table.core.windows.net/","file":"https://clitestt6pqb7xneswrh2sp6.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgf3er5m4irbxsxhyil42jxq3t5ehzphmdzn2gortdlrzyw4i6tlgswx2xrcgldp6oh/providers/Microsoft.Storage/storageAccounts/clitestpabilv4yd6qxvguml","name":"clitestpabilv4yd6qxvguml","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T19:20:22.2445526Z","primaryEndpoints":{"blob":"https://clitestpabilv4yd6qxvguml.blob.core.windows.net/","queue":"https://clitestpabilv4yd6qxvguml.queue.core.windows.net/","table":"https://clitestpabilv4yd6qxvguml.table.core.windows.net/","file":"https://clitestpabilv4yd6qxvguml.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgwxiadyatfxsixayqfinia7ybjwo5cfoyw65qpuna3alx3x2diwukx4tkcpwir2mbq/providers/Microsoft.Storage/storageAccounts/clitesta2lvllqz23rgasyf7","name":"clitesta2lvllqz23rgasyf7","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:57:25.6193002Z","primaryEndpoints":{"blob":"https://clitesta2lvllqz23rgasyf7.blob.core.windows.net/","queue":"https://clitesta2lvllqz23rgasyf7.queue.core.windows.net/","table":"https://clitesta2lvllqz23rgasyf7.table.core.windows.net/","file":"https://clitesta2lvllqz23rgasyf7.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgoo2qxqtbb56w7uujqzhodrozdh7fxg5wxscql4ndybxkardgqzqvheltadic2zoxf/providers/Microsoft.Storage/storageAccounts/clitestfyixx74gs3loj3isf","name":"clitestfyixx74gs3loj3isf","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:34:26.5668681Z","primaryEndpoints":{"blob":"https://clitestfyixx74gs3loj3isf.blob.core.windows.net/","queue":"https://clitestfyixx74gs3loj3isf.queue.core.windows.net/","table":"https://clitestfyixx74gs3loj3isf.table.core.windows.net/","file":"https://clitestfyixx74gs3loj3isf.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgd5ygu6mbq43qw57ncgznekmhwaqlrowjc6dggyk2h6cfwioigvtt3bg7ayqckcwvk/providers/Microsoft.Storage/storageAccounts/clitestixsogcl5p5af5w2p3","name":"clitestixsogcl5p5af5w2p3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T18:00:02.2087326Z","primaryEndpoints":{"blob":"https://clitestixsogcl5p5af5w2p3.blob.core.windows.net/","queue":"https://clitestixsogcl5p5af5w2p3.queue.core.windows.net/","table":"https://clitestixsogcl5p5af5w2p3.table.core.windows.net/","file":"https://clitestixsogcl5p5af5w2p3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageblah","name":"wilxstorageblah","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-17T20:06:51.4259719Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-17T20:06:51.4259719Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-17T20:06:51.3790974Z","primaryEndpoints":{"blob":"https://wilxstorageblah.blob.core.windows.net/","queue":"https://wilxstorageblah.queue.core.windows.net/","table":"https://wilxstorageblah.table.core.windows.net/","file":"https://wilxstorageblah.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageblah-secondary.blob.core.windows.net/","queue":"https://wilxstorageblah-secondary.queue.core.windows.net/","table":"https://wilxstorageblah-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeyg7p46zydk24opv23uowejjybhvp2nqcyqpnmknbs7o3w5c3tocuuygkogbvxz5f/providers/Microsoft.Storage/storageAccounts/clitestcrdofae6jvibomf2w","name":"clitestcrdofae6jvibomf2w","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-20T01:19:55.7120798Z","primaryEndpoints":{"blob":"https://clitestcrdofae6jvibomf2w.blob.core.windows.net/","queue":"https://clitestcrdofae6jvibomf2w.queue.core.windows.net/","table":"https://clitestcrdofae6jvibomf2w.table.core.windows.net/","file":"https://clitestcrdofae6jvibomf2w.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeblmtd6pv6car44ga6qwvicwjyuxydhhkaharam4nad6uekgqgm2uiisw7v4a3czx/providers/Microsoft.Storage/storageAccounts/clitestcdx4bwlcvgviotc2p","name":"clitestcdx4bwlcvgviotc2p","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T22:26:48.9744081Z","primaryEndpoints":{"blob":"https://clitestcdx4bwlcvgviotc2p.blob.core.windows.net/","queue":"https://clitestcdx4bwlcvgviotc2p.queue.core.windows.net/","table":"https://clitestcdx4bwlcvgviotc2p.table.core.windows.net/","file":"https://clitestcdx4bwlcvgviotc2p.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}'} + body: {string: '{"value":[{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Storage/storageAccounts/nodetest12","name":"nodetest12","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-11T22:34:54.8545695Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-11T22:34:54.8545695Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-11T22:34:54.6358258Z","primaryEndpoints":{"web":"https://nodetest12.z13.web.core.windows.net/","blob":"https://nodetest12.blob.core.windows.net/","queue":"https://nodetest12.queue.core.windows.net/","table":"https://nodetest12.table.core.windows.net/","file":"https://nodetest12.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage","name":"wilxstorage","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T19:36:28.8945460Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T19:36:28.8945460Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T19:36:28.7383212Z","primaryEndpoints":{"blob":"https://wilxstorage.blob.core.windows.net/","queue":"https://wilxstorage.queue.core.windows.net/","table":"https://wilxstorage.table.core.windows.net/","file":"https://wilxstorage.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage-secondary.blob.core.windows.net/","queue":"https://wilxstorage-secondary.queue.core.windows.net/","table":"https://wilxstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqudubanhjd3mgwwahhrvhy6eosdvaukfsocd4qxq5aql2uo6q4rpul44ycguhjhob/providers/Microsoft.Storage/storageAccounts/clitestgohp53jfnlf55zfu4","name":"clitestgohp53jfnlf55zfu4","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:02.9266690Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:02.9266690Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:11:02.6297814Z","primaryEndpoints":{"blob":"https://clitestgohp53jfnlf55zfu4.blob.core.windows.net/","queue":"https://clitestgohp53jfnlf55zfu4.queue.core.windows.net/","table":"https://clitestgohp53jfnlf55zfu4.table.core.windows.net/","file":"https://clitestgohp53jfnlf55zfu4.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage22","name":"wilxstorage22","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T20:13:40.8405286Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T20:13:40.8405286Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T20:13:40.6373918Z","primaryEndpoints":{"blob":"https://wilxstorage22.blob.core.windows.net/","queue":"https://wilxstorage22.queue.core.windows.net/","table":"https://wilxstorage22.table.core.windows.net/","file":"https://wilxstorage22.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage22-secondary.blob.core.windows.net/","queue":"https://wilxstorage22-secondary.queue.core.windows.net/","table":"https://wilxstorage22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage23","name":"wilxstorage23","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T20:14:06.2300026Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T20:14:06.2300026Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T20:14:06.0893541Z","primaryEndpoints":{"blob":"https://wilxstorage23.blob.core.windows.net/","queue":"https://wilxstorage23.queue.core.windows.net/","table":"https://wilxstorage23.table.core.windows.net/","file":"https://wilxstorage23.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage23-secondary.blob.core.windows.net/","queue":"https://wilxstorage23-secondary.queue.core.windows.net/","table":"https://wilxstorage23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:24.7901543Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:24.7901543Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:11:24.6338930Z","primaryEndpoints":{"blob":"https://clitest000003.blob.core.windows.net/","queue":"https://clitest000003.queue.core.windows.net/","table":"https://clitest000003.table.core.windows.net/","file":"https://clitest000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgcyat5b7udikbix45j5pynms24ha622mrejhnhyh6b6ize6pq6a767mea2ukmdlh4h/providers/Microsoft.Storage/storageAccounts/clitestrsz3chsecusnmub2d","name":"clitestrsz3chsecusnmub2d","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:33.1709028Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:33.1709028Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"ResolvingDns","creationTime":"2018-06-26T23:11:33.0146607Z","primaryEndpoints":{"blob":"https://clitestrsz3chsecusnmub2d.blob.core.windows.net/","queue":"https://clitestrsz3chsecusnmub2d.queue.core.windows.net/","table":"https://clitestrsz3chsecusnmub2d.table.core.windows.net/","file":"https://clitestrsz3chsecusnmub2d.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxgroup1diag230","name":"wilxgroup1diag230","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-13T21:55:06.8353870Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-13T21:55:06.8353870Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-13T21:55:06.6635043Z","primaryEndpoints":{"blob":"https://wilxgroup1diag230.blob.core.windows.net/","queue":"https://wilxgroup1diag230.queue.core.windows.net/","table":"https://wilxgroup1diag230.table.core.windows.net/","file":"https://wilxgroup1diag230.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgslle2whrrtya7zgsjykczzurzm4tjbnkzhtdyfj6fhrzk7svy4l6n5ds7x6cofuar/providers/Microsoft.Storage/storageAccounts/clitestmenyvcjt2wxeofn3b","name":"clitestmenyvcjt2wxeofn3b","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:43.3835193Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:43.3835193Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T21:03:43.2429055Z","primaryEndpoints":{"blob":"https://clitestmenyvcjt2wxeofn3b.blob.core.windows.net/","queue":"https://clitestmenyvcjt2wxeofn3b.queue.core.windows.net/","table":"https://clitestmenyvcjt2wxeofn3b.table.core.windows.net/","file":"https://clitestmenyvcjt2wxeofn3b.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:04.2234569Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:04.2234569Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:11:04.0516009Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlab1/providers/Microsoft.Storage/storageAccounts/acliautomationlab8902","name":"acliautomationlab8902","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"hidden-DevTestLabs-LabUId":"ca9ec547-32c5-422d-b3d2-25906ed71959"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T16:51:47.2194106Z","primaryEndpoints":{"blob":"https://acliautomationlab8902.blob.core.windows.net/","queue":"https://acliautomationlab8902.queue.core.windows.net/","table":"https://acliautomationlab8902.table.core.windows.net/","file":"https://acliautomationlab8902.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-eventgridtesting/providers/Microsoft.Storage/storageAccounts/eventgridtestin9c1e","name":"eventgridtestin9c1e","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-30T22:57:11.1008680Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-30T22:57:11.1008680Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-30T22:57:10.9915110Z","primaryEndpoints":{"blob":"https://eventgridtestin9c1e.blob.core.windows.net/","queue":"https://eventgridtestin9c1e.queue.core.windows.net/","table":"https://eventgridtestin9c1e.table.core.windows.net/","file":"https://eventgridtestin9c1e.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Storage/storageAccounts/lmazueltestcapture451","name":"lmazueltestcapture451","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-06T16:46:02.5308824Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-06T16:46:02.5308824Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-06T16:46:02.4527298Z","primaryEndpoints":{"blob":"https://lmazueltestcapture451.blob.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup2/providers/Microsoft.Storage/storageAccounts/wilxstorage0","name":"wilxstorage0","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-04-13T01:05:28.4023820Z","primaryEndpoints":{"web":"https://wilxstorage0.z5.web.core.windows.net/","blob":"https://wilxstorage0.blob.core.windows.net/","queue":"https://wilxstorage0.queue.core.windows.net/","table":"https://wilxstorage0.table.core.windows.net/","file":"https://wilxstorage0.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rglaebtqqk7cheshiqgq2hsikdfugudf2e2jxxuj7z36s2hb3au3pkug74nbb6skwat/providers/Microsoft.Storage/storageAccounts/accountz22foj2mrxmdhnecz","name":"accountz22foj2mrxmdhnecz","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:42.7089608Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:42.7089608Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-26T21:03:42.6620847Z","primaryEndpoints":{"web":"https://accountz22foj2mrxmdhnecz.z4.web.core.windows.net/","blob":"https://accountz22foj2mrxmdhnecz.blob.core.windows.net/","queue":"https://accountz22foj2mrxmdhnecz.queue.core.windows.net/","table":"https://accountz22foj2mrxmdhnecz.table.core.windows.net/","file":"https://accountz22foj2mrxmdhnecz.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://accountz22foj2mrxmdhnecz-secondary.z4.web.core.windows.net/","blob":"https://accountz22foj2mrxmdhnecz-secondary.blob.core.windows.net/","queue":"https://accountz22foj2mrxmdhnecz-secondary.queue.core.windows.net/","table":"https://accountz22foj2mrxmdhnecz-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmr6jo34yofyafj3n6gjbhrgmrd6pwgguthc2u235qfle6y6ztyzrlkuqn544s7cop/providers/Microsoft.Storage/storageAccounts/clitestnlmd52jlcmr4ce7b4","name":"clitestnlmd52jlcmr4ce7b4","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:14:07.3188286Z","primaryEndpoints":{"blob":"https://clitestnlmd52jlcmr4ce7b4.blob.core.windows.net/","queue":"https://clitestnlmd52jlcmr4ce7b4.queue.core.windows.net/","table":"https://clitestnlmd52jlcmr4ce7b4.table.core.windows.net/","file":"https://clitestnlmd52jlcmr4ce7b4.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgpfhep77mmcmcn3afvnvskjk3g27ybc7gq6kh5c6vu7ugy7e3ykawkib6u7st25kbi/providers/Microsoft.Storage/storageAccounts/clitest5o5upfigqe5aenkc3","name":"clitest5o5upfigqe5aenkc3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-25T01:22:12.5013507Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-25T01:22:12.5013507Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-25T01:22:12.4388487Z","primaryEndpoints":{"blob":"https://clitest5o5upfigqe5aenkc3.blob.core.windows.net/","queue":"https://clitest5o5upfigqe5aenkc3.queue.core.windows.net/","table":"https://clitest5o5upfigqe5aenkc3.table.core.windows.net/","file":"https://clitest5o5upfigqe5aenkc3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageworm","name":"wilxstorageworm","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-13T22:36:53.0909769Z","primaryEndpoints":{"blob":"https://wilxstorageworm.blob.core.windows.net/","queue":"https://wilxstorageworm.queue.core.windows.net/","table":"https://wilxstorageworm.table.core.windows.net/","file":"https://wilxstorageworm.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageworm-secondary.blob.core.windows.net/","queue":"https://wilxstorageworm-secondary.queue.core.windows.net/","table":"https://wilxstorageworm-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgnipcxreywyorqhptpg4lmvsb6sqsef3mezozbrenqq6ufmd3hrh7plmdnorjt5y5x/providers/Microsoft.Storage/storageAccounts/clitestshv4qcdkeictveped","name":"clitestshv4qcdkeictveped","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-14T19:04:11.4311113Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-14T19:04:11.4311113Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-14T19:04:11.3686065Z","primaryEndpoints":{"blob":"https://clitestshv4qcdkeictveped.blob.core.windows.net/","queue":"https://clitestshv4qcdkeictveped.queue.core.windows.net/","table":"https://clitestshv4qcdkeictveped.table.core.windows.net/","file":"https://clitestshv4qcdkeictveped.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv6extdlzddtno2qf5o37e5g2n2d2x5ah4gq2olmpqezmxibj4h36focak4y6dose7/providers/Microsoft.Storage/storageAccounts/clitestcushmpfbtkste2a2a","name":"clitestcushmpfbtkste2a2a","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-25T01:20:25.1414518Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-25T01:20:25.1414518Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-25T01:20:25.0780033Z","primaryEndpoints":{"blob":"https://clitestcushmpfbtkste2a2a.blob.core.windows.net/","queue":"https://clitestcushmpfbtkste2a2a.queue.core.windows.net/","table":"https://clitestcushmpfbtkste2a2a.table.core.windows.net/","file":"https://clitestcushmpfbtkste2a2a.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg326oxnqqn33y3n42vz6x5xol5rvvw3z4o6tladwwtkmcntnsxhhxxtddtrxwm2edj/providers/Microsoft.Storage/storageAccounts/clitestjwzkdsfuou3niutbd","name":"clitestjwzkdsfuou3niutbd","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:07:33.0552270Z","primaryEndpoints":{"blob":"https://clitestjwzkdsfuou3niutbd.blob.core.windows.net/","queue":"https://clitestjwzkdsfuou3niutbd.queue.core.windows.net/","table":"https://clitestjwzkdsfuou3niutbd.table.core.windows.net/","file":"https://clitestjwzkdsfuou3niutbd.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgldagdmcl4pklmwzmr3wftx2kidhw7johz6d7tl6m7raetzzfhpqhrfffu5vwqtfxo/providers/Microsoft.Storage/storageAccounts/clitestt6pqb7xneswrh2sp6","name":"clitestt6pqb7xneswrh2sp6","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:51:14.8105336Z","primaryEndpoints":{"blob":"https://clitestt6pqb7xneswrh2sp6.blob.core.windows.net/","queue":"https://clitestt6pqb7xneswrh2sp6.queue.core.windows.net/","table":"https://clitestt6pqb7xneswrh2sp6.table.core.windows.net/","file":"https://clitestt6pqb7xneswrh2sp6.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgf3er5m4irbxsxhyil42jxq3t5ehzphmdzn2gortdlrzyw4i6tlgswx2xrcgldp6oh/providers/Microsoft.Storage/storageAccounts/clitestpabilv4yd6qxvguml","name":"clitestpabilv4yd6qxvguml","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T19:20:22.2445526Z","primaryEndpoints":{"blob":"https://clitestpabilv4yd6qxvguml.blob.core.windows.net/","queue":"https://clitestpabilv4yd6qxvguml.queue.core.windows.net/","table":"https://clitestpabilv4yd6qxvguml.table.core.windows.net/","file":"https://clitestpabilv4yd6qxvguml.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgjzhnckmw5ftoqmm2b5gezwgslvfm2dqg7ldpwvuukicy7ca4unquohsptfrbddr2a/providers/Microsoft.Storage/storageAccounts/clitestvjlqxa4ctzkwwpg4b","name":"clitestvjlqxa4ctzkwwpg4b","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-29T19:38:19.5634738Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-29T19:38:19.5634738Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-29T19:38:19.5165939Z","primaryEndpoints":{"blob":"https://clitestvjlqxa4ctzkwwpg4b.blob.core.windows.net/","queue":"https://clitestvjlqxa4ctzkwwpg4b.queue.core.windows.net/","table":"https://clitestvjlqxa4ctzkwwpg4b.table.core.windows.net/","file":"https://clitestvjlqxa4ctzkwwpg4b.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgwxiadyatfxsixayqfinia7ybjwo5cfoyw65qpuna3alx3x2diwukx4tkcpwir2mbq/providers/Microsoft.Storage/storageAccounts/clitesta2lvllqz23rgasyf7","name":"clitesta2lvllqz23rgasyf7","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:57:25.6193002Z","primaryEndpoints":{"blob":"https://clitesta2lvllqz23rgasyf7.blob.core.windows.net/","queue":"https://clitesta2lvllqz23rgasyf7.queue.core.windows.net/","table":"https://clitesta2lvllqz23rgasyf7.table.core.windows.net/","file":"https://clitesta2lvllqz23rgasyf7.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgoo2qxqtbb56w7uujqzhodrozdh7fxg5wxscql4ndybxkardgqzqvheltadic2zoxf/providers/Microsoft.Storage/storageAccounts/clitestfyixx74gs3loj3isf","name":"clitestfyixx74gs3loj3isf","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:34:26.5668681Z","primaryEndpoints":{"blob":"https://clitestfyixx74gs3loj3isf.blob.core.windows.net/","queue":"https://clitestfyixx74gs3loj3isf.queue.core.windows.net/","table":"https://clitestfyixx74gs3loj3isf.table.core.windows.net/","file":"https://clitestfyixx74gs3loj3isf.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6xf4idvnxclgamrcp2ezv54qhk3doyffriwiegbm7ouxjbfmd2cj7izni3bhdv4wf/providers/Microsoft.Storage/storageAccounts/clitestoj23vdhimampujgji","name":"clitestoj23vdhimampujgji","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-15T02:09:49.4622185Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-15T02:09:49.4622185Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-15T02:09:49.3684695Z","primaryEndpoints":{"blob":"https://clitestoj23vdhimampujgji.blob.core.windows.net/","queue":"https://clitestoj23vdhimampujgji.queue.core.windows.net/","table":"https://clitestoj23vdhimampujgji.table.core.windows.net/","file":"https://clitestoj23vdhimampujgji.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgd5ygu6mbq43qw57ncgznekmhwaqlrowjc6dggyk2h6cfwioigvtt3bg7ayqckcwvk/providers/Microsoft.Storage/storageAccounts/clitestixsogcl5p5af5w2p3","name":"clitestixsogcl5p5af5w2p3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T18:00:02.2087326Z","primaryEndpoints":{"blob":"https://clitestixsogcl5p5af5w2p3.blob.core.windows.net/","queue":"https://clitestixsogcl5p5af5w2p3.queue.core.windows.net/","table":"https://clitestixsogcl5p5af5w2p3.table.core.windows.net/","file":"https://clitestixsogcl5p5af5w2p3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeyg7p46zydk24opv23uowejjybhvp2nqcyqpnmknbs7o3w5c3tocuuygkogbvxz5f/providers/Microsoft.Storage/storageAccounts/clitestcrdofae6jvibomf2w","name":"clitestcrdofae6jvibomf2w","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-20T01:19:55.7120798Z","primaryEndpoints":{"blob":"https://clitestcrdofae6jvibomf2w.blob.core.windows.net/","queue":"https://clitestcrdofae6jvibomf2w.queue.core.windows.net/","table":"https://clitestcrdofae6jvibomf2w.table.core.windows.net/","file":"https://clitestcrdofae6jvibomf2w.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeblmtd6pv6car44ga6qwvicwjyuxydhhkaharam4nad6uekgqgm2uiisw7v4a3czx/providers/Microsoft.Storage/storageAccounts/clitestcdx4bwlcvgviotc2p","name":"clitestcdx4bwlcvgviotc2p","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T22:26:48.9744081Z","primaryEndpoints":{"blob":"https://clitestcdx4bwlcvgviotc2p.blob.core.windows.net/","queue":"https://clitestcdx4bwlcvgviotc2p.queue.core.windows.net/","table":"https://clitestcdx4bwlcvgviotc2p.table.core.windows.net/","file":"https://clitestcdx4bwlcvgviotc2p.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}'} headers: cache-control: [no-cache] - content-length: ['90663'] + content-length: ['37828'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:48:56 GMT'] + date: ['Tue, 26 Jun 2018 23:11:44 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-original-request-ids: [84952941-ed5a-414e-b505-85a49764de4e, 775c6a87-b6b4-44fa-8471-51bd67c524e9, - 3aff7d4f-2004-49b9-bb1d-ad3757db59f3, 337cb911-05a4-4566-a36c-4dc902966df3, - 11991e36-7a48-4abb-86d5-8b5d87913636, f36c456a-beed-4002-a66b-f8d1dacadc0c, - b8b72007-5ec6-4d2b-92e6-bb9b9161bfca] + x-ms-original-request-ids: [d7dee3a3-59ee-4eee-9bc0-93bed3d63a13, 213a1a35-ba51-42bd-9570-4a9cb2452a6e, + 3f1532ce-55c9-4bf0-af89-c427f97ee32e, c2f0b6be-e3f9-4290-8ff8-7e564e1f479c, + 5bfa1449-77a6-46a0-b424-01d43e56082a, 12b8d83a-2309-47e8-a1bd-c7f4c5b3ba43, + ce60b628-1fc8-4de3-9468-5d3fa35b8ef3] status: {code: 200, message: OK} - request: body: null @@ -249,23 +245,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:48:57 GMT'] + date: ['Tue, 26 Jun 2018 23:11:44 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdLSURPNTRVNTVEV0hQUU9ITUNFM0YyVUI0M0JFU1NWRVBIV3w4MzA4NzY5OEU3NjQ5MkMxLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdOT1NNSjVPUzNDS1dKQjdSTkRJWEZKTFZaTFVRNkpNNlc3VnxFREIxQUI0NzEzRkZBMjExLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_logging_operations.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_logging_operations.yaml index 2876eda243f..ed8d151bc5d 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_logging_operations.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_logging_operations.yaml @@ -1,63 +1,63 @@ interactions: - request: - body: '{"location": "eastus2", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-02T00:05:52Z"}}' + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-06-26T23:11:45Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [group create] Connection: [keep-alive] - Content-Length: ['111'] + Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2018-05-02T00:05:52Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:11:45Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] - content-length: ['385'] + content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Wed, 02 May 2018 00:05:54 GMT'] + date: ['Tue, 26 Jun 2018 23:11:46 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: - body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "eastus2", - "properties": {"supportsHttpsTrafficOnly": false}}' + body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['126'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Wed, 02 May 2018 00:05:57 GMT'] + date: ['Tue, 26 Jun 2018 23:11:50 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/aa00d0bc-b1ea-49ae-894b-206785dde9a1?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b301b551-0901-4533-a1ae-896d5b146b68?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/aa00d0bc-b1ea-49ae-894b-206785dde9a1?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b301b551-0901-4533-a1ae-896d5b146b68?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-02T00:05:57.4340385Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-02T00:05:57.4340385Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-02T00:05:57.1840317Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:50.3702889Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:50.3702889Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:11:50.2140263Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1233'] + content-length: ['1252'] content-type: [application/json] - date: ['Wed, 02 May 2018 00:06:15 GMT'] + date: ['Tue, 26 Jun 2018 23:12:07 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"q0gHRpLyuUQQzq7YTxniF8sTj5wYCVg2zd2wsw68/nQNmKsEy22aUpIXGwircNRzbczHGYxIEQQ50pp4Jj9EqA==","permissions":"FULL"},{"keyName":"key2","value":"xITc2KcgaEZnIO9H6VzVCTIYWWnOyz1KEVTP8SJMsGxyVfYLmsiSim6UFovFH6hdtIo8j9fiCSMxNLI1tRr6FQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"YJoB8wC+wUgsAu9MKen+TN3b3WFa9aYfx64ji0+oPbma/FuJLuLqJOHwzKAgWmbNVgSGDvVDpRVIsZ0HrlDfnQ==","permissions":"FULL"},{"keyName":"key2","value":"trEWgz4sRXqSDbKxCa3URgRYkYXnf8hcX2jsVjbAkQP5qbm9HUOz0azV4t2auLjG4Tmc4C61o/lKBl3LWYwxEg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Wed, 02 May 2018 00:06:15 GMT'] + date: ['Tue, 26 Jun 2018 23:12:08 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"q0gHRpLyuUQQzq7YTxniF8sTj5wYCVg2zd2wsw68/nQNmKsEy22aUpIXGwircNRzbczHGYxIEQQ50pp4Jj9EqA==","permissions":"FULL"},{"keyName":"key2","value":"xITc2KcgaEZnIO9H6VzVCTIYWWnOyz1KEVTP8SJMsGxyVfYLmsiSim6UFovFH6hdtIo8j9fiCSMxNLI1tRr6FQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"YJoB8wC+wUgsAu9MKen+TN3b3WFa9aYfx64ji0+oPbma/FuJLuLqJOHwzKAgWmbNVgSGDvVDpRVIsZ0HrlDfnQ==","permissions":"FULL"},{"keyName":"key2","value":"trEWgz4sRXqSDbKxCa3URgRYkYXnf8hcX2jsVjbAkQP5qbm9HUOz0azV4t2auLjG4Tmc4C61o/lKBl3LWYwxEg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Wed, 02 May 2018 00:06:17 GMT'] + date: ['Tue, 26 Jun 2018 23:12:08 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,7 +146,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -156,8 +154,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:06:17 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:09 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/?restype=service&comp=properties @@ -166,7 +164,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Wed, 02 May 2018 00:06:17 GMT'] + date: ['Tue, 26 Jun 2018 23:12:09 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -175,42 +173,42 @@ interactions: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:06:18 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:10 GMT'] + x-ms-version: ['2018-03-28'] method: GET - uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties + uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse"} + \ />false"} headers: - cache-control: [no-cache] content-type: [application/xml] - date: ['Wed, 02 May 2018 00:06:18 GMT'] - server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] + date: ['Tue, 26 Jun 2018 23:12:09 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:06:18 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:10 GMT'] + x-ms-version: ['2018-03-28'] method: GET - uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties + uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalse"} + \ />"} headers: + cache-control: [no-cache] content-type: [application/xml] - date: ['Wed, 02 May 2018 00:06:18 GMT'] - server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + date: ['Tue, 26 Jun 2018 23:12:09 GMT'] + server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -219,19 +217,19 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['264'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:06:19 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:10 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Wed, 02 May 2018 00:06:19 GMT'] + date: ['Tue, 26 Jun 2018 23:12:10 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null @@ -239,8 +237,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:06:19 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:11 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/?restype=service&comp=properties @@ -249,7 +247,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Wed, 02 May 2018 00:06:19 GMT'] + date: ['Tue, 26 Jun 2018 23:12:11 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -258,42 +256,42 @@ interactions: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:06:20 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:11 GMT'] + x-ms-version: ['2018-03-28'] method: GET - uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties + uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: - body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse"} + body: {string: "\uFEFF1.0truefalsefalsetrue11.0truetruetrue71.0falsefalsefalse"} headers: - cache-control: [no-cache] content-type: [application/xml] - date: ['Wed, 02 May 2018 00:06:20 GMT'] - server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] + date: ['Tue, 26 Jun 2018 23:12:11 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:06:20 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:11 GMT'] + x-ms-version: ['2018-03-28'] method: GET - uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties + uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: - body: {string: "\uFEFF1.0truefalsefalsetrue11.0truetruetrue71.0falsefalsefalse"} + body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse"} headers: + cache-control: [no-cache] content-type: [application/xml] - date: ['Wed, 02 May 2018 00:06:20 GMT'] - server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + date: ['Tue, 26 Jun 2018 23:12:11 GMT'] + server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -304,23 +302,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Wed, 02 May 2018 00:06:21 GMT'] + date: ['Tue, 26 Jun 2018 23:12:12 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdPRFNKWDczU01TV0k0SUpKT1ZET0k1VlRTR1c0R0dBN1JHSHw2MThEM0Q0MTQxNDFGNDU1LUVBU1RVUzIiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czIifQ?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdJTklHUVhBSkxHUk83UUhLUk9WQjI2NjVDRzJDM0JETTJWSHxENUFFOUQ1OTU1NjIyNDM1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_management_policy.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_management_policy.yaml new file mode 100644 index 00000000000..726095de05a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_management_policy.yaml @@ -0,0 +1,331 @@ +interactions: +- request: + body: '{"location": "eastus2euap", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-06-26T23:45:35Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['115'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:45:35Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['389'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 26 Jun 2018 23:45:37 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:45:35Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['389'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 26 Jun 2018 23:45:38 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "StorageV2", "location": "eastus2euap", + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + Content-Length: ['157'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + content-type: [text/plain; charset=utf-8] + date: ['Tue, 26 Jun 2018 23:45:40 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/2e1c1d69-0464-4c1c-9dc2-f77f493a768c?monitor=true&api-version=2018-03-01-preview'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/2e1c1d69-0464-4c1c-9dc2-f77f493a768c?monitor=true&api-version=2018-03-01-preview + response: + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:45:40.5522292Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:45:40.5522292Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-26T23:45:40.4894459Z","primaryEndpoints":{"web":"https://cli000002.z3.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://cli000002-secondary.z3.web.core.windows.net/","blob":"https://cli000002-secondary.blob.core.windows.net/","queue":"https://cli000002-secondary.queue.core.windows.net/","table":"https://cli000002-secondary.table.core.windows.net/"}}}'} + headers: + cache-control: [no-cache] + content-length: ['1747'] + content-type: [application/json] + date: ['Tue, 26 Jun 2018 23:45:57 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"policy": {"version": "0.5", "rules": [{"name": "olcmtest", + "type": "Lifecycle", "definition": {"filters": {"blobTypes": ["blockBlob"], + "prefixMatch": ["olcmtestcontainer"]}, "actions": {"baseBlob": {"tierToCool": + {"daysAfterModificationGreaterThan": 1000}, "tierToArchive": {"daysAfterModificationGreaterThan": + 90}, "delete": {"daysAfterModificationGreaterThan": 1000}}, "snapshot": {"delete": + {"daysAfterCreationGreaterThan": 5000}}}}}]}}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account management-policy create] + Connection: [keep-alive] + Content-Length: ['457'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default","name":"DefaultManagementPolicy","type":"Microsoft.Storage/storageAccounts/managementPolicies","properties":{"policy":{"version":"0.5","rules":[{"name":"olcmtest","type":"Lifecycle","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["olcmtestcontainer"]},"actions":{"baseBlob":{"tierToCool":{"daysAfterModificationGreaterThan":1000.0},"tierToArchive":{"daysAfterModificationGreaterThan":90.0},"delete":{"daysAfterModificationGreaterThan":1000.0}},"snapshot":{"delete":{"daysAfterCreationGreaterThan":5000.0}}}}}]},"lastModifiedTime":"2018-06-26T23:46:00.4531186Z"}}'} + headers: + cache-control: [no-cache] + content-length: ['827'] + content-type: [application/json] + date: ['Tue, 26 Jun 2018 23:45:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account management-policy update] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default","name":"DefaultManagementPolicy","type":"Microsoft.Storage/storageAccounts/managementPolicies","properties":{"policy":{"version":"0.5","rules":[{"name":"olcmtest","type":"Lifecycle","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["olcmtestcontainer"]},"actions":{"baseBlob":{"tierToCool":{"daysAfterModificationGreaterThan":1000.0},"tierToArchive":{"daysAfterModificationGreaterThan":90.0},"delete":{"daysAfterModificationGreaterThan":1000.0}},"snapshot":{"delete":{"daysAfterCreationGreaterThan":5000.0}}}}}]},"lastModifiedTime":"2018-06-26T23:46:00.4531186Z"}}'} + headers: + cache-control: [no-cache] + content-length: ['827'] + content-type: [application/json] + date: ['Tue, 26 Jun 2018 23:46:01 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"policy": {"version": "0.5", "rules": [{"name": "newname", + "type": "Lifecycle", "definition": {"filters": {"blobTypes": ["blockBlob"], + "prefixMatch": ["olcmtestcontainer"]}, "actions": {"baseBlob": {"tierToCool": + {"daysAfterModificationGreaterThan": 1000.0}, "tierToArchive": {"daysAfterModificationGreaterThan": + 90.0}, "delete": {"daysAfterModificationGreaterThan": 1000.0}}, "snapshot": + {"delete": {"daysAfterCreationGreaterThan": 5000.0}}}}}]}}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account management-policy update] + Connection: [keep-alive] + Content-Length: ['464'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default","name":"DefaultManagementPolicy","type":"Microsoft.Storage/storageAccounts/managementPolicies","properties":{"policy":{"version":"0.5","rules":[{"name":"newname","type":"Lifecycle","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["olcmtestcontainer"]},"actions":{"baseBlob":{"tierToCool":{"daysAfterModificationGreaterThan":1000.0},"tierToArchive":{"daysAfterModificationGreaterThan":90.0},"delete":{"daysAfterModificationGreaterThan":1000.0}},"snapshot":{"delete":{"daysAfterCreationGreaterThan":5000.0}}}}}]},"lastModifiedTime":"2018-06-26T23:46:02.7858581Z"}}'} + headers: + cache-control: [no-cache] + content-length: ['826'] + content-type: [application/json] + date: ['Tue, 26 Jun 2018 23:46:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account management-policy show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default","name":"DefaultManagementPolicy","type":"Microsoft.Storage/storageAccounts/managementPolicies","properties":{"policy":{"version":"0.5","rules":[{"name":"newname","type":"Lifecycle","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["olcmtestcontainer"]},"actions":{"baseBlob":{"tierToCool":{"daysAfterModificationGreaterThan":1000.0},"tierToArchive":{"daysAfterModificationGreaterThan":90.0},"delete":{"daysAfterModificationGreaterThan":1000.0}},"snapshot":{"delete":{"daysAfterCreationGreaterThan":5000.0}}}}}]},"lastModifiedTime":"2018-06-26T23:46:02.7858581Z"}}'} + headers: + cache-control: [no-cache] + content-length: ['826'] + content-type: [application/json] + date: ['Tue, 26 Jun 2018 23:46:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account management-policy delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default?api-version=2018-03-01-preview + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + content-type: [text/plain; charset=utf-8] + date: ['Tue, 26 Jun 2018 23:46:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account management-policy show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002/managementPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"error":{"code":"ManagementPolicyNotFound","message":"No ManagementPolicy + found for account cli000002"}}'} + headers: + cache-control: [no-cache] + content-length: ['120'] + content-type: [application/json] + date: ['Tue, 26 Jun 2018 23:46:05 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + status: {code: 404, message: Not Found} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Tue, 26 Jun 2018 23:46:07 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc3NzJNRVc2RDc3VVFOREVMS1FGRUJKM1hNVUlRT0FUNDJMUnwzNDQyQzZCRkU4RkJCMjZBLUVBU1RVUzJFVUFQIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyZXVhcCJ9?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_metrics_operations.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_metrics_operations.yaml index bb88126d078..33705e042a3 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_metrics_operations.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_metrics_operations.yaml @@ -1,57 +1,57 @@ interactions: - request: - body: '{"location": "eastus2", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-02T00:09:48Z"}}' + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-06-26T23:12:36Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [group create] Connection: [keep-alive] - Content-Length: ['111'] + Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2018-05-02T00:09:48Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:12:36Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] - content-length: ['385'] + content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Wed, 02 May 2018 00:09:50 GMT'] + date: ['Tue, 26 Jun 2018 23:12:36 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] status: {code: 201, message: Created} - request: - body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "eastus2", - "properties": {"supportsHttpsTrafficOnly": false}}' + body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['126'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Wed, 02 May 2018 00:09:53 GMT'] + date: ['Tue, 26 Jun 2018 23:12:38 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/61792499-c148-4e4b-ba7f-e624bd4b166c?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/7065c8bb-9a9a-4a3c-aca3-a3eda017878c?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/61792499-c148-4e4b-ba7f-e624bd4b166c?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/7065c8bb-9a9a-4a3c-aca3-a3eda017878c?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-02T00:09:53.4202268Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-02T00:09:53.4202268Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-02T00:09:53.3420553Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:12:38.2198157Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:12:38.2198157Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:12:38.0878165Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1233'] + content-length: ['1252'] content-type: [application/json] - date: ['Wed, 02 May 2018 00:10:10 GMT'] + date: ['Tue, 26 Jun 2018 23:12:54 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"hQ8wjwvE8IPuEwJ01IPlXzxztd97kS3MtQMX++TD7XHWxiPVtjrdP65vrhjxndeFupFot5U1sZf7F4qPl6FZGw==","permissions":"FULL"},{"keyName":"key2","value":"7VoTC+AOT5FOtt5k9iF3NXkJxiC6FMGz259BkwXGWGXKjuaaK+QRbnHaRFW27040zpQ9c2p6wml64pwE28G0Mg==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"THMTqlR4q+VHMKZixSWpcUDQl0EC8OiDUhTKMp6rF6c/cveLj0lNVrtKxQlrOdaW3xM+ww9t9M4rUPFgFb0mgw==","permissions":"FULL"},{"keyName":"key2","value":"E0M9hRNCVMRQomLaboIksQPQkxt+8i6bfOmQdKFsDLBk4X7w+rrJdNeJTmfYWs/YZ41BMIattcrbl2X0QoeGkQ==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Wed, 02 May 2018 00:10:11 GMT'] + date: ['Tue, 26 Jun 2018 23:12:56 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -125,8 +123,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:10:12 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:57 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/?restype=service&comp=properties @@ -135,7 +133,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Wed, 02 May 2018 00:10:12 GMT'] + date: ['Tue, 26 Jun 2018 23:12:56 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -144,31 +142,30 @@ interactions: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:10:12 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:57 GMT'] + x-ms-version: ['2018-03-28'] method: GET - uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties + uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse"} + \ />false"} headers: - cache-control: [no-cache] content-type: [application/xml] - date: ['Wed, 02 May 2018 00:10:13 GMT'] - server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] + date: ['Tue, 26 Jun 2018 23:12:57 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:10:13 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:57 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: @@ -176,30 +173,31 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Wed, 02 May 2018 00:10:13 GMT'] + date: ['Tue, 26 Jun 2018 23:12:57 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:10:13 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:57 GMT'] + x-ms-version: ['2018-03-28'] method: GET - uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties + uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalse"} + \ />"} headers: + cache-control: [no-cache] content-type: [application/xml] - date: ['Wed, 02 May 2018 00:10:14 GMT'] - server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + date: ['Tue, 26 Jun 2018 23:12:57 GMT'] + server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -208,19 +206,19 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['446'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:10:14 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:58 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Wed, 02 May 2018 00:10:14 GMT'] + date: ['Tue, 26 Jun 2018 23:12:58 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null @@ -228,8 +226,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:10:15 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:59 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/?restype=service&comp=properties @@ -238,7 +236,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Wed, 02 May 2018 00:10:14 GMT'] + date: ['Tue, 26 Jun 2018 23:12:59 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -247,31 +245,30 @@ interactions: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:10:15 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:59 GMT'] + x-ms-version: ['2018-03-28'] method: GET - uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties + uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse"} + \ />false"} headers: - cache-control: [no-cache] content-type: [application/xml] - date: ['Wed, 02 May 2018 00:10:15 GMT'] - server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] + date: ['Tue, 26 Jun 2018 23:12:58 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:10:16 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:59 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: @@ -279,30 +276,31 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Wed, 02 May 2018 00:10:16 GMT'] + date: ['Tue, 26 Jun 2018 23:13:00 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 00:10:16 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:00 GMT'] + x-ms-version: ['2018-03-28'] method: GET - uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties + uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalse"} + \ />"} headers: + cache-control: [no-cache] content-type: [application/xml] - date: ['Wed, 02 May 2018 00:10:16 GMT'] - server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + date: ['Tue, 26 Jun 2018 23:12:59 GMT'] + server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -313,23 +311,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Wed, 02 May 2018 00:10:17 GMT'] + date: ['Tue, 26 Jun 2018 23:13:01 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdJNFpCTkNaR1dPQkFURElPQ1FNQVlQTDdJR0NGQVlMVFdSWHw1REVGMjcwQkY2NzE4NTAzLUVBU1RVUzIiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czIifQ?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdMNldPUVVWREJGQ01WRldJM0RNNTZRNUZRR1BTUlNBRU1IUnwyMDYzNUYzMEUyQTg1NkIwLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_renew_account_key.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_renew_account_key.yaml index 33b3a2fd15d..cbe607c21cf 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_renew_account_key.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_renew_account_key.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:49:59Z"}}' + "date": "2018-06-26T23:13:01Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,19 +9,19 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:49:59Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:13:01Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:00 GMT'] + date: ['Tue, 26 Jun 2018 23:13:02 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -30,34 +30,34 @@ interactions: status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:01 GMT'] + date: ['Tue, 26 Jun 2018 23:13:03 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/2f1d275e-a16c-442b-988d-d3d6a4bdec29?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/79f382f3-ca95-4e86-a1a9-0a663e15a827?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/2f1d275e-a16c-442b-988d-d3d6a4bdec29?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/79f382f3-ca95-4e86-a1a9-0a663e15a827?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:01.6687806Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:01.6687806Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:01.5750003Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:03.6682571Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:03.6682571Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:03.5120565Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:18 GMT'] + date: ['Tue, 26 Jun 2018 23:13:20 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"MsV6XNzsFn8Dl96ueZ/lOXAqx/BU7BWUUBpA93zqEFornsiyr249WEi5zUxunfFpw7moIE2NRbpbXO5Mh29ubQ==","permissions":"FULL"},{"keyName":"key2","value":"VhbqdaROJJJw09wrtPp7g/RU3v0zXjWpk809y/Qw8jYmZF2mVEcS23RzeH8/aK6pAT4nGJ8VttgrdAmB6NOYFQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"xJ9d2B95BUFOHCoM7mX5Uf/j6x4OC186eCIeaxXyDaH0kJxgrlzRF5dSE4TDmgtaEexG67RDAHOcKfPdaASfzA==","permissions":"FULL"},{"keyName":"key2","value":"qdMxjhpkhvtLC+u/XUS1Y09wWOtUrs38zuAPLr82iikRevgc9VvupTCL70ePPqshZ6JDktBqA+GjhgbrZ0/KRA==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:20 GMT'] + date: ['Tue, 26 Jun 2018 23:13:21 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"MsV6XNzsFn8Dl96ueZ/lOXAqx/BU7BWUUBpA93zqEFornsiyr249WEi5zUxunfFpw7moIE2NRbpbXO5Mh29ubQ==","permissions":"FULL"},{"keyName":"key2","value":"VhbqdaROJJJw09wrtPp7g/RU3v0zXjWpk809y/Qw8jYmZF2mVEcS23RzeH8/aK6pAT4nGJ8VttgrdAmB6NOYFQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"xJ9d2B95BUFOHCoM7mX5Uf/j6x4OC186eCIeaxXyDaH0kJxgrlzRF5dSE4TDmgtaEexG67RDAHOcKfPdaASfzA==","permissions":"FULL"},{"keyName":"key2","value":"qdMxjhpkhvtLC+u/XUS1Y09wWOtUrs38zuAPLr82iikRevgc9VvupTCL70ePPqshZ6JDktBqA+GjhgbrZ0/KRA==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:20 GMT'] + date: ['Tue, 26 Jun 2018 23:13:22 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,7 +146,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1195'] status: {code: 200, message: OK} - request: body: '{"keyName": "key1"}' @@ -159,18 +157,18 @@ interactions: Connection: [keep-alive] Content-Length: ['19'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/regenerateKey?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/regenerateKey?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"z04E7jvrYBT1q/AX5nMFdlG50HB/EFdL1leVDPlMVGpIWeWVGY4RNpFNDedsj2jEAM7dRZDcMMKpIoK4S3RlpQ==","permissions":"FULL"},{"keyName":"key2","value":"VhbqdaROJJJw09wrtPp7g/RU3v0zXjWpk809y/Qw8jYmZF2mVEcS23RzeH8/aK6pAT4nGJ8VttgrdAmB6NOYFQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"DSjbsNTGBLKkV3SNkzstVr/PjztDMd4RoKpuvjZhYu1UtM6vjNiNsfdNBeBR5SGIU7jZNOTLxot/NL7Za2RL2w==","permissions":"FULL"},{"keyName":"key2","value":"qdMxjhpkhvtLC+u/XUS1Y09wWOtUrs38zuAPLr82iikRevgc9VvupTCL70ePPqshZ6JDktBqA+GjhgbrZ0/KRA==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:21 GMT'] + date: ['Tue, 26 Jun 2018 23:13:23 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -179,7 +177,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: '{"keyName": "key2"}' @@ -190,18 +188,18 @@ interactions: Connection: [keep-alive] Content-Length: ['19'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/regenerateKey?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/regenerateKey?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"z04E7jvrYBT1q/AX5nMFdlG50HB/EFdL1leVDPlMVGpIWeWVGY4RNpFNDedsj2jEAM7dRZDcMMKpIoK4S3RlpQ==","permissions":"FULL"},{"keyName":"key2","value":"Wx2HXjV5wMAlNoiXVBAxeFceQezAM2KPkkoIPtA8iBNWJuBVOgGbx2KgPKCJ0JFDeSzdCxRl5DoAtULhUmYYGQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"DSjbsNTGBLKkV3SNkzstVr/PjztDMd4RoKpuvjZhYu1UtM6vjNiNsfdNBeBR5SGIU7jZNOTLxot/NL7Za2RL2w==","permissions":"FULL"},{"keyName":"key2","value":"0HO/w3F43nQVx2lj+Yp+feHc4M4ewZR0fkIcrg8zCu1HYuYfiXY4TDWSxLL8LsREFggiwDJcrxFAUSkEJ5+9Ug==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:21 GMT'] + date: ['Tue, 26 Jun 2018 23:13:23 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -210,7 +208,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] status: {code: 200, message: OK} - request: body: null @@ -221,23 +219,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:50:21 GMT'] + date: ['Tue, 26 Jun 2018 23:13:24 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkcyU1E3R0Q2N1JNMjdDWjNMQ0pZRkFNUUo0MlBVVk1HUDYzSXxFODI1Q0Q5NkZGQkQyREQ5LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdPSE1KS0VYU1ZMWEQ2N0pETkVXQlFLRlpJSFNHV0NCR1dXUHwzOTk0RjNFMzgwQzJEMEU2LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1194'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_show_usage.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_show_usage.yaml index c279d7f78a6..0e13a8ca8de 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_show_usage.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_show_usage.yaml @@ -7,21 +7,21 @@ interactions: CommandName: [storage account show-usage] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/usages?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/usages?api-version=2018-03-01-preview response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"unit\": \"Count\",\r\n\ - \ \"currentValue\": 32,\r\n \"limit\": 250,\r\n \"name\": {\r\ + \ \"currentValue\": 0,\r\n \"limit\": 250,\r\n \"name\": {\r\ \n \"value\": \"StorageAccounts\",\r\n \"localizedValue\": \"\ Storage Accounts\"\r\n }\r\n }\r\n ]\r\n}"} headers: cache-control: [no-cache] - content-length: ['218'] + content-length: ['217'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:22 GMT'] + date: ['Tue, 26 Jun 2018 23:13:24 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] @@ -30,4 +30,34 @@ interactions: vary: [Accept-Encoding] x-content-type-options: [nosniff] status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account show-usage] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/centraluseuap/usages?api-version=2018-03-01-preview + response: + body: {string: '{"value":[{"unit":"Count","currentValue":0,"limit":250,"name":{"value":"StorageAccounts","localizedValue":"Storage + Accounts"}}]}'} + headers: + cache-control: [no-cache] + content-length: ['128'] + content-type: [application/json] + date: ['Tue, 26 Jun 2018 23:13:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_service_endpoints.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_service_endpoints.yaml index 66a8ac84564..35183dfc7c8 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_service_endpoints.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_service_endpoints.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:50:23Z"}}' + "date": "2018-06-26T23:13:26Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,55 +9,55 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:50:23Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:13:26Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:23 GMT'] + date: ['Tue, 26 Jun 2018 23:13:26 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1195'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:25 GMT'] + date: ['Tue, 26 Jun 2018 23:13:27 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/7fa7210c-232e-41fc-95a4-2c74404a9d16?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/ab1affa3-f857-460c-9aae-19e79366b5e4?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/7fa7210c-232e-41fc-95a4-2c74404a9d16?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/ab1affa3-f857-460c-9aae-19e79366b5e4?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:41 GMT'] + date: ['Tue, 26 Jun 2018 23:13:45 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"qWOSwO1BVzgMfrWqXaYHDfEZuzviUAd9vNxnv+kxHY/sQvIbDhcByrFMSbeBBEbkdz+55p6bUPJmXSdjdNNtVg==","permissions":"FULL"},{"keyName":"key2","value":"Dpx3hse6j7dQQ3EWvIbIU5c0it8ICT5oNyVuJ+HJ0En485eXvJGZpJ6yYrz30YmpajDslBBxYyrfpJ17NAxJ/w==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"reeoHUbvYUVjhmyqBJSBuHZYUUBh7CZ2jpovy2yhQFL39pABtk+Skx8tJPpXUSi9RxuiYQomHv0GoH/FyZy0dA==","permissions":"FULL"},{"keyName":"key2","value":"zACemmsFCt2lso+32HP6YvrwZXSo+2QdzixqTCi1YkWCBrPOzBoYVvKMvcLoyUQNFBeEWL8+E6+eus7uiYBVfw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:42 GMT'] + date: ['Tue, 26 Jun 2018 23:13:46 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -127,19 +125,19 @@ interactions: CommandName: [storage account create] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:50:23Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:13:26Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:44 GMT'] + date: ['Tue, 26 Jun 2018 23:13:46 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -149,26 +147,26 @@ interactions: - request: body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "Storage", "location": "westus", "properties": {"networkAcls": {"bypass": "Metrics", "defaultAction": "Deny"}, - "supportsHttpsTrafficOnly": false}}' + "supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['190'] + Content-Length: ['213'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1478'] + content-length: ['1499'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:44 GMT'] + date: ['Tue, 26 Jun 2018 23:13:47 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -177,7 +175,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -187,18 +185,18 @@ interactions: CommandName: [storage account update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1478'] + content-length: ['1499'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:44 GMT'] + date: ['Tue, 26 Jun 2018 23:13:47 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -220,18 +218,18 @@ interactions: Connection: [keep-alive] Content-Length: ['322'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1479'] + content-length: ['1500'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:45 GMT'] + date: ['Tue, 26 Jun 2018 23:13:50 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -240,7 +238,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1195'] status: {code: 200, message: OK} - request: body: null @@ -250,18 +248,18 @@ interactions: CommandName: [storage account update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1479'] + content-length: ['1500'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:46 GMT'] + date: ['Tue, 26 Jun 2018 23:13:50 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -283,18 +281,18 @@ interactions: Connection: [keep-alive] Content-Length: ['321'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1478'] + content-length: ['1499'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:46 GMT'] + date: ['Tue, 26 Jun 2018 23:13:52 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -303,7 +301,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] status: {code: 200, message: OK} - request: body: null @@ -313,19 +311,19 @@ interactions: CommandName: [network vnet create] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:50:23Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:13:26Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:51 GMT'] + date: ['Tue, 26 Jun 2018 23:13:53 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -343,39 +341,39 @@ interactions: Connection: [keep-alive] Content-Length: ['205'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 networkmanagementclient/2.0.0rc3 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1?api-version=2018-02-01 response: body: {string: "{\r\n \"name\": \"vnet1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1\"\ - ,\r\n \"etag\": \"W/\\\"7caece64-81d6-43d8-9b18-7fc8aff7b06b\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"06789227-bf0b-44c5-ba29-67c229551266\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\":\ - \ \"Updating\",\r\n \"resourceGuid\": \"16adc12b-15c9-4456-9483-71ae34e5883e\"\ + \ \"Updating\",\r\n \"resourceGuid\": \"61e1ad8b-f8e0-458e-97fd-35698542d57a\"\ ,\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"\ 10.0.0.0/16\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\"\ : []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"subnet1\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1\"\ - ,\r\n \"etag\": \"W/\\\"7caece64-81d6-43d8-9b18-7fc8aff7b06b\\\"\"\ + ,\r\n \"etag\": \"W/\\\"06789227-bf0b-44c5-ba29-67c229551266\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ ,\r\n \"addressPrefix\": \"10.0.0.0/24\"\r\n }\r\n }\r\ \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7dbb1e4a-e2e2-41ec-b99f-495eb60f654f?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b1c7f54d-1f3f-48ab-94d1-4f29990a85c6?api-version=2018-02-01'] cache-control: [no-cache] content-length: ['1230'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:51 GMT'] + date: ['Tue, 26 Jun 2018 23:13:53 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: null @@ -384,18 +382,18 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [network vnet create] Connection: [keep-alive] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 networkmanagementclient/2.0.0rc3 Azure-SDK-For-Python + AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7dbb1e4a-e2e2-41ec-b99f-495eb60f654f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b1c7f54d-1f3f-48ab-94d1-4f29990a85c6?api-version=2018-02-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:54 GMT'] + date: ['Tue, 26 Jun 2018 23:13:58 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -411,18 +409,18 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [network vnet create] Connection: [keep-alive] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 networkmanagementclient/2.0.0rc3 Azure-SDK-For-Python + AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7dbb1e4a-e2e2-41ec-b99f-495eb60f654f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b1c7f54d-1f3f-48ab-94d1-4f29990a85c6?api-version=2018-02-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:05 GMT'] + date: ['Tue, 26 Jun 2018 23:14:08 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -438,22 +436,22 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [network vnet create] Connection: [keep-alive] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 networkmanagementclient/2.0.0rc3 Azure-SDK-For-Python + AZURECLI/2.0.40] method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1?api-version=2018-02-01 response: body: {string: "{\r\n \"name\": \"vnet1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1\"\ - ,\r\n \"etag\": \"W/\\\"31985a96-6d04-4122-b48e-9f096715aaa7\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"f6ae5f34-88bc-45d8-a979-b504599219ab\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\":\ - \ \"Succeeded\",\r\n \"resourceGuid\": \"16adc12b-15c9-4456-9483-71ae34e5883e\"\ + \ \"Succeeded\",\r\n \"resourceGuid\": \"61e1ad8b-f8e0-458e-97fd-35698542d57a\"\ ,\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"\ 10.0.0.0/16\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\"\ : []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"subnet1\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1\"\ - ,\r\n \"etag\": \"W/\\\"31985a96-6d04-4122-b48e-9f096715aaa7\\\"\"\ + ,\r\n \"etag\": \"W/\\\"f6ae5f34-88bc-45d8-a979-b504599219ab\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"addressPrefix\": \"10.0.0.0/24\"\r\n }\r\n }\r\ \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ @@ -462,8 +460,8 @@ interactions: cache-control: [no-cache] content-length: ['1232'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:05 GMT'] - etag: [W/"31985a96-6d04-4122-b48e-9f096715aaa7"] + date: ['Tue, 26 Jun 2018 23:14:09 GMT'] + etag: [W/"f6ae5f34-88bc-45d8-a979-b504599219ab"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -480,23 +478,23 @@ interactions: CommandName: [network vnet subnet update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 networkmanagementclient/2.0.0rc3 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1?api-version=2018-02-01 response: body: {string: "{\r\n \"name\": \"subnet1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1\"\ - ,\r\n \"etag\": \"W/\\\"31985a96-6d04-4122-b48e-9f096715aaa7\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"f6ae5f34-88bc-45d8-a979-b504599219ab\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ addressPrefix\": \"10.0.0.0/24\"\r\n }\r\n}"} headers: cache-control: [no-cache] content-length: ['403'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:06 GMT'] - etag: [W/"31985a96-6d04-4122-b48e-9f096715aaa7"] + date: ['Tue, 26 Jun 2018 23:14:09 GMT'] + etag: [W/"f6ae5f34-88bc-45d8-a979-b504599219ab"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -509,7 +507,7 @@ interactions: body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", "properties": {"addressPrefix": "10.0.0.0/24", "serviceEndpoints": [{"service": "Microsoft.Storage"}], "provisioningState": "Succeeded"}, "name": "subnet1", - "etag": "W/\\"31985a96-6d04-4122-b48e-9f096715aaa7\\""}''' + "etag": "W/\\"f6ae5f34-88bc-45d8-a979-b504599219ab\\""}''' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -517,26 +515,26 @@ interactions: Connection: [keep-alive] Content-Length: ['429'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 networkmanagementclient/2.0.0rc3 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1?api-version=2018-02-01 response: body: {string: "{\r\n \"name\": \"subnet1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1\"\ - ,\r\n \"etag\": \"W/\\\"a69be374-b963-45f6-ab1d-9c9f8176f949\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"a4de6fe8-8a78-48a3-bc56-cecfa4694b7d\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ addressPrefix\": \"10.0.0.0/24\",\r\n \"serviceEndpoints\": [\r\n \ \ {\r\n \"provisioningState\": \"Updating\",\r\n \"service\"\ : \"Microsoft.Storage\",\r\n \"locations\": [\r\n \"westus\"\ ,\r\n \"eastus\"\r\n ]\r\n }\r\n ]\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5f42439d-cc62-4a42-9309-477d67c97ece?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/726f9a35-7b4b-448f-80fb-613013409952?api-version=2018-02-01'] cache-control: [no-cache] content-length: ['614'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:07 GMT'] + date: ['Tue, 26 Jun 2018 23:14:09 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -544,7 +542,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1194'] status: {code: 200, message: OK} - request: body: null @@ -553,18 +551,18 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [network vnet subnet update] Connection: [keep-alive] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 networkmanagementclient/2.0.0rc3 Azure-SDK-For-Python + AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5f42439d-cc62-4a42-9309-477d67c97ece?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/726f9a35-7b4b-448f-80fb-613013409952?api-version=2018-02-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:10 GMT'] + date: ['Tue, 26 Jun 2018 23:14:13 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -580,14 +578,14 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [network vnet subnet update] Connection: [keep-alive] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 networkmanagementclient/2.0.0rc2 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 networkmanagementclient/2.0.0rc3 Azure-SDK-For-Python + AZURECLI/2.0.40] method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1?api-version=2018-02-01 response: body: {string: "{\r\n \"name\": \"subnet1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1\"\ - ,\r\n \"etag\": \"W/\\\"4d7eebd5-7a63-4525-a927-a1b25fb98a40\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"8600f29f-8aaf-4f62-b293-e5b0ee8a6a96\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ addressPrefix\": \"10.0.0.0/24\",\r\n \"serviceEndpoints\": [\r\n \ \ {\r\n \"provisioningState\": \"Succeeded\",\r\n \"service\"\ @@ -597,8 +595,8 @@ interactions: cache-control: [no-cache] content-length: ['616'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:11 GMT'] - etag: [W/"4d7eebd5-7a63-4525-a927-a1b25fb98a40"] + date: ['Tue, 26 Jun 2018 23:14:13 GMT'] + etag: [W/"8600f29f-8aaf-4f62-b293-e5b0ee8a6a96"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -615,18 +613,18 @@ interactions: CommandName: [storage account network-rule add] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1478'] + content-length: ['1499'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:11 GMT'] + date: ['Tue, 26 Jun 2018 23:14:14 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -647,18 +645,18 @@ interactions: Connection: [keep-alive] Content-Length: ['196'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1515'] + content-length: ['1536'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:12 GMT'] + date: ['Tue, 26 Jun 2018 23:14:15 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -667,7 +665,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] status: {code: 200, message: OK} - request: body: null @@ -677,18 +675,18 @@ interactions: CommandName: [storage account network-rule add] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1515'] + content-length: ['1536'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:12 GMT'] + date: ['Tue, 26 Jun 2018 23:14:16 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -709,18 +707,18 @@ interactions: Connection: [keep-alive] Content-Length: ['241'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1556'] + content-length: ['1577'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:12 GMT'] + date: ['Tue, 26 Jun 2018 23:14:17 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -729,7 +727,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -739,18 +737,18 @@ interactions: CommandName: [storage account network-rule add] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1556'] + content-length: ['1577'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:13 GMT'] + date: ['Tue, 26 Jun 2018 23:14:17 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -772,18 +770,18 @@ interactions: Connection: [keep-alive] Content-Length: ['478'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1810'] + content-length: ['1831'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:15 GMT'] + date: ['Tue, 26 Jun 2018 23:14:20 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -792,7 +790,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1192'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -802,18 +800,18 @@ interactions: CommandName: [storage account network-rule list] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1810'] + content-length: ['1831'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:16 GMT'] + date: ['Tue, 26 Jun 2018 23:14:20 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -831,18 +829,18 @@ interactions: CommandName: [storage account network-rule remove] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1810'] + content-length: ['1831'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:16 GMT'] + date: ['Tue, 26 Jun 2018 23:14:21 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -864,18 +862,18 @@ interactions: Connection: [keep-alive] Content-Length: ['458'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1772'] + content-length: ['1793'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:18 GMT'] + date: ['Tue, 26 Jun 2018 23:14:22 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -884,7 +882,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -894,18 +892,18 @@ interactions: CommandName: [storage account network-rule remove] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1772'] + content-length: ['1793'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:19 GMT'] + date: ['Tue, 26 Jun 2018 23:14:22 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -926,18 +924,18 @@ interactions: Connection: [keep-alive] Content-Length: ['199'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1518'] + content-length: ['1539'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:21 GMT'] + date: ['Tue, 26 Jun 2018 23:14:23 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -946,7 +944,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1194'] status: {code: 200, message: OK} - request: body: null @@ -956,18 +954,18 @@ interactions: CommandName: [storage account network-rule list] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:25.3720587Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:24.9657749Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.3921145Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0327986Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1518'] + content-length: ['1539'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:20 GMT'] + date: ['Tue, 26 Jun 2018 23:14:24 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -986,23 +984,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:51:21 GMT'] + date: ['Tue, 26 Jun 2018 23:14:25 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTEk6NUZURVNUOjVGU1RPUkFHRTo1RlNFUlZJQ0U6NUZFTkRQT0lOVFM1NlQ1Rnw5RkIwNUI4RDM3Q0JGQzA0LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTEk6NUZURVNUOjVGU1RPUkFHRTo1RlNFUlZJQ0U6NUZFTkRQT0lOVFNJRDRYU3xFMUZDQjQ0RjQwRDM2QUM5LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_append.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_append.yaml index cafd625adc2..b5436c9fba6 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_append.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_append.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:45:25Z"}}' + "date": "2018-06-26T23:08:19Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,19 +9,19 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:45:25Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:19Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:27 GMT'] + date: ['Tue, 26 Jun 2018 23:08:21 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -30,28 +30,28 @@ interactions: status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:27 GMT'] + date: ['Tue, 26 Jun 2018 23:08:23 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/1d74ead7-75d6-478d-bad1-b1e1b3b27c02?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/25009dbe-0a2f-47fb-a8d9-008ee2c574d6?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/1d74ead7-75d6-478d-bad1-b1e1b3b27c02?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/25009dbe-0a2f-47fb-a8d9-008ee2c574d6?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:28.2151132Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:28.2151132Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:28.1369842Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.2652255Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.2652255Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:22.9527160Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:45 GMT'] + date: ['Tue, 26 Jun 2018 23:08:41 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"OR+prta1aaKGZRHhg8YyrdKAgKgs2Nph57dO78Qs1lMWof4bnJoyXh6m6NN4D3Z93t8NlJjM7HM5wnU/woxOJA==","permissions":"FULL"},{"keyName":"key2","value":"wCuvmxZmKrxy4BAXAsvmP20XSN9gzJbQ+Apju3acibG8qHH05iSYKBdWgsuujA3A89huL5evdQ9NaPh+0icDgg==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"Ubhszk8n9vd94Q6qrD7gZAVBTLSWC4xPZOP9oy236m77J6RZiMDw0dsAQC+e06Y+gDtoS0H+OoyXEysfBBDYGA==","permissions":"FULL"},{"keyName":"key2","value":"hz+GJ0HSK0d1p3CiQkPqZ/kGscFeZ3+Zk8Dl374dVupwix8xR4KOSN56/0srwYXi+Vdj/pbP08xUiWS31SXsYw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:46 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"OR+prta1aaKGZRHhg8YyrdKAgKgs2Nph57dO78Qs1lMWof4bnJoyXh6m6NN4D3Z93t8NlJjM7HM5wnU/woxOJA==","permissions":"FULL"},{"keyName":"key2","value":"wCuvmxZmKrxy4BAXAsvmP20XSN9gzJbQ+Apju3acibG8qHH05iSYKBdWgsuujA3A89huL5evdQ9NaPh+0icDgg==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"Ubhszk8n9vd94Q6qrD7gZAVBTLSWC4xPZOP9oy236m77J6RZiMDw0dsAQC+e06Y+gDtoS0H+OoyXEysfBBDYGA==","permissions":"FULL"},{"keyName":"key2","value":"hz+GJ0HSK0d1p3CiQkPqZ/kGscFeZ3+Zk8Dl374dVupwix8xR4KOSN56/0srwYXi+Vdj/pbP08xUiWS31SXsYw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -155,40 +153,40 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:47 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:47 GMT'] - etag: ['"0x8D5AFACE694E4D5"'] - last-modified: ['Tue, 01 May 2018 21:45:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + etag: ['"0x8D5DBB9C336162B"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:48 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-error-code: [BlobNotFound] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 404, message: The specified blob does not exist.} - request: body: null @@ -196,23 +194,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] If-None-Match: ['*'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-type: [AppendBlob] - x-ms-date: ['Tue, 01 May 2018 21:45:48 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:48 GMT'] - etag: ['"0x8D5AFACE6F34F3E"'] - last-modified: ['Tue, 01 May 2018 21:45:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + etag: ['"0x8D5DBB9C377532F"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ @@ -245,60 +243,60 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['1024'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:48 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=appendblock response: body: {string: ''} headers: content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] - date: ['Tue, 01 May 2018 21:45:48 GMT'] - etag: ['"0x8D5AFACE70BE4D6"'] - last-modified: ['Tue, 01 May 2018 21:45:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + etag: ['"0x8D5DBB9C37F9296"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-blob-append-offset: ['0'] x-ms-blob-committed-block-count: ['1'] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=list response: body: {string: "\uFEFFblob000004Tue,\ - \ 01 May 2018 21:45:48 GMTTue, 01 May 2018\ - \ 21:45:48 GMT0x8D5AFACE70BE4D61024application/octet-streamTue, 26 Jun 2018\ + \ 23:08:43 GMT0x8D5DBB9C37F92961024application/octet-streamAppendBlobunlockedavailabletrue"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:49 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: @@ -307,37 +305,37 @@ interactions: accept-ranges: [bytes] content-length: ['1024'] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:45:48 GMT'] - etag: ['"0x8D5AFACE70BE4D6"'] - last-modified: ['Tue, 01 May 2018 21:45:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + etag: ['"0x8D5DBB9C37F9296"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-committed-block-count: ['1'] x-ms-blob-type: [AppendBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:45:48 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:08:43 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] If-None-Match: ['*'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-error-code: [UnsatisfiableCondition] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 400, message: The request includes an unsatisfiable condition for this operation.} - request: @@ -349,23 +347,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:49 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdHNElBRE5USEpZS1BYUkdVRDVHWEpVNVJGUVpUSEI2VVZRRnxCREYyNzBFMURBMTdCQzU1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdGS1FDVU1IRTJaVExTMkpZR0pXVlNRUEozV0JSSUJYSExDTHw3NkFDQzhGNUVDRDJFNkM2LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_container_operations.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_container_operations.yaml index 91d3a2cc339..8dae439843e 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_container_operations.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_container_operations.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:45:50Z"}}' + "date": "2018-06-26T23:08:45Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,19 +9,19 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:45:50Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:45Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:51 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -30,28 +30,28 @@ interactions: status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:51 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/f01be2eb-5354-4e4e-bd41-56dbac4522b9?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/d41c602b-0450-4493-ab9d-6319b06019f4?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/f01be2eb-5354-4e4e-bd41-56dbac4522b9?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/d41c602b-0450-4493-ab9d-6319b06019f4?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:52.3404756Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:52.3404756Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:52.2623291Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:47.8876601Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:47.8876601Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:47.5751938Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:09 GMT'] + date: ['Tue, 26 Jun 2018 23:09:05 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"tNwbYiizG3C+s/lu9T78/0AhW8nLLgRJG9m1Ap2TnU8J3JOvX41/i2onux/JvyydlmGocEzRz2/qZRrC1Qv+dA==","permissions":"FULL"},{"keyName":"key2","value":"+KZpz6le/ThUHtweZGUzIqkMrZ4uDjXi4lhL96dGjj2KSN5dJ9S29HGjxBLV3NvvdWVs9K2+zSzwoTZhV5seEQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"vQL9oNKCvfTq+MSOzbSmX+Db1btvzIj4KED/D3HoWu73TyQuwPMLcDpsXcF0/Pup95zyo8bAgRrDKEwJKv2lNQ==","permissions":"FULL"},{"keyName":"key2","value":"8JFvNDrWjqSzrdt6y6Omat0+Z718euV41snrnMB4M6W8vyRJ7+FdH9TC3/U8XLu3uT08YkqC9YOweNCUZjFpaQ==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:10 GMT'] + date: ['Tue, 26 Jun 2018 23:09:06 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: body: null @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"tNwbYiizG3C+s/lu9T78/0AhW8nLLgRJG9m1Ap2TnU8J3JOvX41/i2onux/JvyydlmGocEzRz2/qZRrC1Qv+dA==","permissions":"FULL"},{"keyName":"key2","value":"+KZpz6le/ThUHtweZGUzIqkMrZ4uDjXi4lhL96dGjj2KSN5dJ9S29HGjxBLV3NvvdWVs9K2+zSzwoTZhV5seEQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"vQL9oNKCvfTq+MSOzbSmX+Db1btvzIj4KED/D3HoWu73TyQuwPMLcDpsXcF0/Pup95zyo8bAgRrDKEwJKv2lNQ==","permissions":"FULL"},{"keyName":"key2","value":"8JFvNDrWjqSzrdt6y6Omat0+Z718euV41snrnMB4M6W8vyRJ7+FdH9TC3/U8XLu3uT08YkqC9YOweNCUZjFpaQ==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:10 GMT'] + date: ['Tue, 26 Jun 2018 23:09:07 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,61 +146,61 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:11 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:07 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:11 GMT'] - etag: ['"0x8D5AFACF4C9254E"'] - last-modified: ['Tue, 01 May 2018 21:46:11 GMT'] + date: ['Tue, 26 Jun 2018 23:09:07 GMT'] + etag: ['"0x8D5DBB9D1D9815B"'] + last-modified: ['Tue, 26 Jun 2018 23:09:07 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:12 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:08 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:11 GMT'] - etag: ['"0x8D5AFACF4C9254E"'] - last-modified: ['Tue, 01 May 2018 21:46:11 GMT'] + date: ['Tue, 26 Jun 2018 23:09:07 GMT'] + etag: ['"0x8D5DBB9D1D9815B"'] + last-modified: ['Tue, 26 Jun 2018 23:09:07 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-has-immutability-policy: ['false'] x-ms-has-legal-hold: ['false'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:12 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:08 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: @@ -210,12 +208,12 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:12 GMT'] - etag: ['"0x8D5AFACF4C9254E"'] - last-modified: ['Tue, 01 May 2018 21:46:11 GMT'] + date: ['Tue, 26 Jun 2018 23:09:07 GMT'] + etag: ['"0x8D5DBB9D1D9815B"'] + last-modified: ['Tue, 26 Jun 2018 23:09:07 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -224,31 +222,31 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['60'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-public-access: [blob] - x-ms-date: ['Tue, 01 May 2018 21:46:12 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:09:08 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:12 GMT'] - etag: ['"0x8D5AFACF54CCAB9"'] - last-modified: ['Tue, 01 May 2018 21:46:12 GMT'] + date: ['Tue, 26 Jun 2018 23:09:08 GMT'] + etag: ['"0x8D5DBB9D269F3B8"'] + last-modified: ['Tue, 26 Jun 2018 23:09:08 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:12 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:09 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: @@ -256,22 +254,22 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:12 GMT'] - etag: ['"0x8D5AFACF54CCAB9"'] - last-modified: ['Tue, 01 May 2018 21:46:12 GMT'] + date: ['Tue, 26 Jun 2018 23:09:08 GMT'] + etag: ['"0x8D5DBB9D269F3B8"'] + last-modified: ['Tue, 26 Jun 2018 23:09:08 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-blob-public-access: [blob] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:13 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:09 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: @@ -279,13 +277,13 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:13 GMT'] - etag: ['"0x8D5AFACF54CCAB9"'] - last-modified: ['Tue, 01 May 2018 21:46:12 GMT'] + date: ['Tue, 26 Jun 2018 23:09:09 GMT'] + etag: ['"0x8D5DBB9D269F3B8"'] + last-modified: ['Tue, 26 Jun 2018 23:09:08 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-blob-public-access: [blob] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -294,30 +292,30 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['60'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:13 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:09 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:13 GMT'] - etag: ['"0x8D5AFACF5CFD675"'] - last-modified: ['Tue, 01 May 2018 21:46:13 GMT'] + date: ['Tue, 26 Jun 2018 23:09:09 GMT'] + etag: ['"0x8D5DBB9D30064E5"'] + last-modified: ['Tue, 26 Jun 2018 23:09:09 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:13 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:10 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: @@ -325,144 +323,144 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:13 GMT'] - etag: ['"0x8D5AFACF5CFD675"'] - last-modified: ['Tue, 01 May 2018 21:46:13 GMT'] + date: ['Tue, 26 Jun 2018 23:09:09 GMT'] + etag: ['"0x8D5DBB9D30064E5"'] + last-modified: ['Tue, 26 Jun 2018 23:09:09 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:14 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:10 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF5CFD675"'] - last-modified: ['Tue, 01 May 2018 21:46:13 GMT'] + date: ['Tue, 26 Jun 2018 23:09:10 GMT'] + etag: ['"0x8D5DBB9D30064E5"'] + last-modified: ['Tue, 26 Jun 2018 23:09:09 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-has-immutability-policy: ['false'] x-ms-has-legal-hold: ['false'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:14 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:10 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?comp=list response: body: {string: "\uFEFFcont000003Tue,\ - \ 01 May 2018 21:46:13 GMT\"0x8D5AFACF5CFD675\"unlockedavailablefalsefalse\"0x8D5DBB9D30064E5\"unlockedavailablefalsefalse"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:13 GMT'] + date: ['Tue, 26 Jun 2018 23:09:10 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:14 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:11 GMT'] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF699E775"'] - last-modified: ['Tue, 01 May 2018 21:46:14 GMT'] + date: ['Tue, 26 Jun 2018 23:09:10 GMT'] + etag: ['"0x8D5DBB9D3EBE8BC"'] + last-modified: ['Tue, 26 Jun 2018 23:09:11 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:15 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF699E775"'] - last-modified: ['Tue, 01 May 2018 21:46:14 GMT'] + date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + etag: ['"0x8D5DBB9D3EBE8BC"'] + last-modified: ['Tue, 26 Jun 2018 23:09:11 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-meta-foo: [bar] x-ms-meta-moo: [bak] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:15 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:15 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:15 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -470,42 +468,42 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] If-Modified-Since: ['Fri, 01 Apr 2016 12:00:00 GMT'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:16 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:12 GMT'] x-ms-lease-action: [acquire] x-ms-lease-duration: ['60'] x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:16 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:16 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:16 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-has-immutability-policy: ['false'] @@ -513,73 +511,73 @@ interactions: x-ms-lease-duration: [fixed] x-ms-lease-state: [leased] x-ms-lease-status: [locked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:16 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09: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: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:17 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:17 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:14 GMT'] x-ms-lease-action: [renew] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:16 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:17 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:14 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:16 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-has-immutability-policy: ['false'] @@ -587,143 +585,143 @@ interactions: x-ms-lease-duration: [fixed] x-ms-lease-state: [leased] x-ms-lease-status: [locked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:17 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:14 GMT'] x-ms-lease-action: [break] x-ms-lease-break-period: ['30'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:17 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:14 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-lease-time: ['30'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:18 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:17 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-has-immutability-policy: ['false'] x-ms-has-legal-hold: ['false'] x-ms-lease-state: [breaking] x-ms-lease-status: [locked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:18 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:15 GMT'] x-ms-lease-action: [release] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:18 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:18 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:18 GMT'] - etag: ['"0x8D5AFACF7003C44"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + etag: ['"0x8D5DBB9D465A33F"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-has-immutability-policy: ['false'] x-ms-has-legal-hold: ['false'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:19 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:18 GMT'] + date: ['Tue, 26 Jun 2018 23:09:16 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:19 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:17 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: "\uFEFFContainerNotFoundThe\ - \ specified container does not exist.\nRequestId:5c2b7908-701e-00c3-3695-e16d4b000000\n\ - Time:2018-05-01T21:46:19.8336002Z"} + \ specified container does not exist.\nRequestId:05c93e50-601e-00ba-28a2-0d868c000000\n\ + Time:2018-06-26T23:09:17.3249640Z"} headers: content-length: ['225'] content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:19 GMT'] + date: ['Tue, 26 Jun 2018 23:09:16 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-error-code: [ContainerNotFound] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 404, message: The specified container does not exist.} - request: body: null @@ -734,23 +732,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:46:19 GMT'] + date: ['Tue, 26 Jun 2018 23:09:17 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdDT0JHNDZEQ1lUQUNPN0xIUjVNU05INUJZVDVIVVo0TVlFTXw3RjQwRkM0MjMzMkFEMTZFLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdRVUdSR0VSTUdJTk5HSDZTT1M0UEJSSFhCWDZPT0FCRjZOUHwwMjA4MjM4MEJERkJENzFFLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_incremental_copy.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_incremental_copy.yaml index 4b0663e1833..c60fa240348 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_incremental_copy.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_incremental_copy.yaml @@ -1,7 +1,7 @@ interactions: - request: - body: !!python/unicode '{"location": "westus", "tags": {"date": "2018-05-02T19:43:58Z", - "product": "azurecli", "cause": "automation"}}' + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-06-26T23:09:18Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,55 +9,55 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: !!python/unicode '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"date":"2018-05-02T19:43:58Z","product":"azurecli","cause":"automation"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:09:18Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Wed, 02 May 2018 19:44:00 GMT'] + date: ['Tue, 26 Jun 2018 23:09:19 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: - body: !!python/unicode '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": - "westus", "properties": {"supportsHttpsTrafficOnly": false}}' + body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: - body: {string: !!python/unicode ''} + body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Wed, 02 May 2018 19:44:02 GMT'] + date: ['Tue, 26 Jun 2018 23:09:20 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/8c8b53d2-a910-435a-b60d-0b2544b5660a?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/207a50cc-6a3e-4ba7-9c84-ae665553cf5c?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/8c8b53d2-a910-435a-b60d-0b2544b5660a?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/207a50cc-6a3e-4ba7-9c84-ae665553cf5c?monitor=true&api-version=2018-03-01-preview response: - body: {string: !!python/unicode '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-02T19:44:02.2748953Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-02T19:44:02.2748953Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-02T19:44:02.1967762Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:09:20.8623720Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:09:20.8623720Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:09:20.7061269Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Wed, 02 May 2018 19:44:19 GMT'] + date: ['Tue, 26 Jun 2018 23:09:37 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: !!python/unicode '{"keys":[{"keyName":"key1","value":"iSfpGgcvmAbaFtFdDnqIH/nRi3FlqID5Wd8ax8tU6Gue8ABZR/XzDgshrU1tDIN1TyrFUCCojRtSqPeQ0ERRjA==","permissions":"FULL"},{"keyName":"key2","value":"cWZxyLZpSwQ4DZ3xiqmqiYz7a4IirTs2HPdD5o2pIcnUwehOxk216iFFsicoQxSkNwBEZE4J3ry11uy5ImTlZg==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"eZN5MNLVBiTJL/hJ4tWergNyAAaR8hWkTZ3fe+/k5KQvmDzZ7oHusm39AGTaVMJB4ljafdS+qZvYJEu5T3D2+w==","permissions":"FULL"},{"keyName":"key2","value":"7YorNpb5deh7fvxu3HC89Oz78zg1U9o6J1YWGpAXDddwG1yt29/CxQdh6PEsHbLB9fCxjrhGd3iF6MTOcfeU1w==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Wed, 02 May 2018 19:44:20 GMT'] + date: ['Tue, 26 Jun 2018 23:09:39 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,38 +115,38 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1192'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: - body: !!python/unicode '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": - "westus", "properties": {"supportsHttpsTrafficOnly": false}}' + body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003?api-version=2018-03-01-preview response: - body: {string: !!python/unicode ''} + body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Wed, 02 May 2018 19:44:22 GMT'] + date: ['Tue, 26 Jun 2018 23:09:41 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/435892af-a98b-4a72-8888-0a351e667294?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/e0cd00f1-2bdc-4e51-ac24-7ab45c37a144?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1192'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 202, message: Accepted} - request: body: null @@ -157,19 +155,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/435892af-a98b-4a72-8888-0a351e667294?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/e0cd00f1-2bdc-4e51-ac24-7ab45c37a144?monitor=true&api-version=2018-03-01-preview response: - body: {string: !!python/unicode '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-02T19:44:22.3795443Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-02T19:44:22.3795443Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-02T19:44:22.1919822Z","primaryEndpoints":{"blob":"https://clitest000003.blob.core.windows.net/","queue":"https://clitest000003.queue.core.windows.net/","table":"https://clitest000003.table.core.windows.net/","file":"https://clitest000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:09:40.8176716Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:09:40.8176716Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:09:40.6458389Z","primaryEndpoints":{"blob":"https://clitest000003.blob.core.windows.net/","queue":"https://clitest000003.queue.core.windows.net/","table":"https://clitest000003.table.core.windows.net/","file":"https://clitest000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Wed, 02 May 2018 19:44:39 GMT'] + date: ['Tue, 26 Jun 2018 23:09:58 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -188,18 +184,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2018-03-01-preview response: - body: {string: !!python/unicode '{"keys":[{"keyName":"key1","value":"BbTbkKSkBtL4LovzPMZd4F7X9iwXL4+WAColh/j94Bf1IWXAPmgbvmATih3hqhkAy7sEb/Oq3xvJMNNp95SCnA==","permissions":"FULL"},{"keyName":"key2","value":"R/miHYtsnRkKsoE34tblzJ+OCPb6YKB/EaJk+f4nKwe1PLTceyKx0WBC8onWzTEbKG9cKOQP8zvxIu3z1YJmzQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"W1bSOc0o1cQy7KJ9B2w9v1y1oXrJjJEz2w3i3thsnOcLC9tmTJVEhFJyyK5USg01q2l1YO00GBvb5DHrRCR0Kg==","permissions":"FULL"},{"keyName":"key2","value":"sRNyXEAWVD2XwJgIU4Hqq71hN02kZ/ghqdrr4wheFaBU6BsuUza6LUeqjf/VRJV9jTvdhCn7rEKIH1vhIICbeg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Wed, 02 May 2018 19:44:40 GMT'] + date: ['Tue, 26 Jun 2018 23:09:59 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -208,7 +204,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1193'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: body: null @@ -219,18 +215,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: !!python/unicode '{"keys":[{"keyName":"key1","value":"iSfpGgcvmAbaFtFdDnqIH/nRi3FlqID5Wd8ax8tU6Gue8ABZR/XzDgshrU1tDIN1TyrFUCCojRtSqPeQ0ERRjA==","permissions":"FULL"},{"keyName":"key2","value":"cWZxyLZpSwQ4DZ3xiqmqiYz7a4IirTs2HPdD5o2pIcnUwehOxk216iFFsicoQxSkNwBEZE4J3ry11uy5ImTlZg==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"eZN5MNLVBiTJL/hJ4tWergNyAAaR8hWkTZ3fe+/k5KQvmDzZ7oHusm39AGTaVMJB4ljafdS+qZvYJEu5T3D2+w==","permissions":"FULL"},{"keyName":"key2","value":"7YorNpb5deh7fvxu3HC89Oz78zg1U9o6J1YWGpAXDddwG1yt29/CxQdh6PEsHbLB9fCxjrhGd3iF6MTOcfeU1w==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Wed, 02 May 2018 19:44:41 GMT'] + date: ['Tue, 26 Jun 2018 23:09:59 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -239,531 +235,74 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1194'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 2.7.13; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 19:44:42 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:00 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004?restype=container response: - body: {string: !!python/unicode ''} + body: {string: ''} headers: - date: ['Wed, 02 May 2018 19:44:41 GMT'] - etag: ['"0x8D5B06526655E80"'] - last-modified: ['Wed, 02 May 2018 19:44:42 GMT'] + date: ['Tue, 26 Jun 2018 23:10:00 GMT'] + etag: ['"0x8D5DBB9F152A2E7"'] + last-modified: ['Tue, 26 Jun 2018 23:10:00 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 2.7.13; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-content-length: ['16384'] x-ms-blob-type: [PageBlob] - x-ms-date: ['Wed, 02 May 2018 19:44:42 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:10:00 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004/src response: - body: {string: !!python/unicode ''} - headers: - date: ['Wed, 02 May 2018 19:44:42 GMT'] - etag: ['"0x8D5B06526AC4FA7"'] - last-modified: ['Wed, 02 May 2018 19:44:42 GMT'] - server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] - transfer-encoding: [chunked] - x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] - status: {code: 201, message: Created} -- request: - body: !!python/unicode "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ - \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - headers: - Connection: [keep-alive] - Content-Length: ['16384'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 2.7.13; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 19:44:43 GMT'] - x-ms-page-write: [update] - x-ms-range: [bytes=0-16383] - x-ms-version: ['2017-11-09'] - method: PUT - uri: https://clitest000002.blob.core.windows.net/cont000004/src?comp=page - response: - body: {string: !!python/unicode ''} + body: {string: ''} headers: - content-md5: [zjOP5omXeKrPwoQU8tlJiw==] - date: ['Wed, 02 May 2018 19:44:42 GMT'] - etag: ['"0x8D5B06526BC7F53"'] - last-modified: ['Wed, 02 May 2018 19:44:43 GMT'] + date: ['Tue, 26 Jun 2018 23:10:01 GMT'] + etag: ['"0x8D5DBB9F19D8A4D"'] + last-modified: ['Tue, 26 Jun 2018 23:10:01 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-blob-sequence-number: ['0'] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 2.7.13; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 19:44:43 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:01 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004/src?comp=snapshot response: - body: {string: !!python/unicode ''} + body: {string: ''} headers: - date: ['Wed, 02 May 2018 19:44:42 GMT'] - etag: ['"0x8D5B06526BC7F53"'] - last-modified: ['Wed, 02 May 2018 19:44:43 GMT'] + date: ['Tue, 26 Jun 2018 23:10:00 GMT'] + etag: ['"0x8D5DBB9F19D8A4D"'] + last-modified: ['Tue, 26 Jun 2018 23:10:01 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-snapshot: ['2018-05-02T19:44:43.5039308Z'] - x-ms-version: ['2017-11-09'] + x-ms-snapshot: ['2018-06-26T23:10:01.5212740Z'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null @@ -774,18 +313,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2018-03-01-preview response: - body: {string: !!python/unicode '{"keys":[{"keyName":"key1","value":"BbTbkKSkBtL4LovzPMZd4F7X9iwXL4+WAColh/j94Bf1IWXAPmgbvmATih3hqhkAy7sEb/Oq3xvJMNNp95SCnA==","permissions":"FULL"},{"keyName":"key2","value":"R/miHYtsnRkKsoE34tblzJ+OCPb6YKB/EaJk+f4nKwe1PLTceyKx0WBC8onWzTEbKG9cKOQP8zvxIu3z1YJmzQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"W1bSOc0o1cQy7KJ9B2w9v1y1oXrJjJEz2w3i3thsnOcLC9tmTJVEhFJyyK5USg01q2l1YO00GBvb5DHrRCR0Kg==","permissions":"FULL"},{"keyName":"key2","value":"sRNyXEAWVD2XwJgIU4Hqq71hN02kZ/ghqdrr4wheFaBU6BsuUza6LUeqjf/VRJV9jTvdhCn7rEKIH1vhIICbeg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Wed, 02 May 2018 19:44:43 GMT'] + date: ['Tue, 26 Jun 2018 23:10:01 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -794,52 +333,52 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 2.7.13; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Wed, 02 May 2018 19:44:44 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:02 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000003.blob.core.windows.net/cont000005?restype=container response: - body: {string: !!python/unicode ''} + body: {string: ''} headers: - date: ['Wed, 02 May 2018 19:44:43 GMT'] - etag: ['"0x8D5B0652781BC35"'] - last-modified: ['Wed, 02 May 2018 19:44:44 GMT'] + date: ['Tue, 26 Jun 2018 23:10:01 GMT'] + etag: ['"0x8D5DBB9F28606C5"'] + last-modified: ['Tue, 26 Jun 2018 23:10:02 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 2.7.13; Windows - 10) AZURECLI/2.0.32] - x-ms-copy-source: ['https://clitestcnlkcrkpqx7wradry.blob.core.windows.net/cont4dqskpfdpndkgy5iw6fd/src?sr=b&spr=https&sp=r&sv=2017-11-09&sig=5mmvYLaxdFL5z12ATWgHzBlFlJnC9Qpqa/lMUPb%2B4NI%3D&se=2018-05-03T19%3A44%3A44Z&snapshot=2018-05-02T19:44:43.5039308Z'] - x-ms-date: ['Wed, 02 May 2018 19:44:44 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-copy-source: ['https://clitestjkae7npo3l434waim.blob.core.windows.net/conty4b2t3h2fvaq64fjlyj5/src?se=2018-06-27T23%3A10%3A02Z&sp=r&spr=https&sv=2018-03-28&sr=b&sig=yqE09AFuJs4JqyDUhgbuDqdDKT6NFQtgraqGFK8ksu0%3D&snapshot=2018-06-26T23:10:01.5212740Z'] + x-ms-date: ['Tue, 26 Jun 2018 23:10:02 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000003.blob.core.windows.net/cont000005/backup?comp=incrementalcopy response: - body: {string: !!python/unicode ''} + body: {string: ''} headers: - date: ['Wed, 02 May 2018 19:44:44 GMT'] - etag: ['"0x8D5B06527BA7155"'] - last-modified: ['Wed, 02 May 2018 19:44:44 GMT'] + date: ['Tue, 26 Jun 2018 23:10:02 GMT'] + etag: ['"0x8D5DBB9F2CE6D63"'] + last-modified: ['Tue, 26 Jun 2018 23:10:03 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-copy-id: [0193b26a-a085-4797-95bf-f03b9605f8c7] + x-ms-copy-id: [927646a0-5ed6-40e8-8b79-f283202f2214] x-ms-copy-status: [pending] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null @@ -850,23 +389,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/2.7.13 (Windows-10-10.0.16299) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: !!python/unicode ''} + body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Wed, 02 May 2018 19:44:45 GMT'] + date: ['Tue, 26 Jun 2018 23:10:03 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdCUFJMSkU3VEVLUjZZTFZYQ0w0S05QNEQ0NlFHWlE1NUpIQnwyQURDQjYwM0MxMUM4REU2LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdLVFBLSk5ONjYzMktVR0FVRkFRRzVEWEpMRldSQzc3Ukg2Rnw5NUEyRUMxQUZEM0U3RDQyLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_lease_operations.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_lease_operations.yaml index d0626fb797c..b4779adfd39 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_lease_operations.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_lease_operations.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:47:04Z"}}' + "date": "2018-06-26T23:10:04Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,49 +9,49 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:47:04Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:10:04Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:04 GMT'] + date: ['Tue, 26 Jun 2018 23:10:05 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:06 GMT'] + date: ['Tue, 26 Jun 2018 23:10:06 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/cbfde942-a7fb-421f-983d-6a16db124841?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/ebf66aa2-fb12-4f1b-8a55-26074232ea63?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/cbfde942-a7fb-421f-983d-6a16db124841?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/ebf66aa2-fb12-4f1b-8a55-26074232ea63?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:06.3725603Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:06.3725603Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:47:06.2788294Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.5170063Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:06.5170063Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:10:06.3763824Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:23 GMT'] + date: ['Tue, 26 Jun 2018 23:10:23 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"a2oR83Z/uzGUCw1MP02lNmSbg9cX8GsgbMxkK3wZhuOrAeAQ8x/tgv7OBBV0Q0OrN5pOH45NG9MWk80NWijE0Q==","permissions":"FULL"},{"keyName":"key2","value":"cuZ45EUzKnpz59rlFdZD8hnSNfWwGASMcR+O8wdCSz/PHQPUXaMQIQ22jN6v/9CJuJRuVwgaaB/urSq9V8LMNw==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"YHsBUS2jPyOUR9SggDIn6MvT7iNkkFqp/hE+nAdS+rMNxkdH7joEds/2Om50mqWanIvDS5monYW8MyexObXOtA==","permissions":"FULL"},{"keyName":"key2","value":"Mk6ahg6pq7m8Ac+w6HCq4T5uqrIomc6jq7yTTX3yX53GZfgw9ryEPg3AR5SIc1n0hCxrYD6gnfs6g/AMxDEzmw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:24 GMT'] + date: ['Tue, 26 Jun 2018 23:10:25 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"a2oR83Z/uzGUCw1MP02lNmSbg9cX8GsgbMxkK3wZhuOrAeAQ8x/tgv7OBBV0Q0OrN5pOH45NG9MWk80NWijE0Q==","permissions":"FULL"},{"keyName":"key2","value":"cuZ45EUzKnpz59rlFdZD8hnSNfWwGASMcR+O8wdCSz/PHQPUXaMQIQ22jN6v/9CJuJRuVwgaaB/urSq9V8LMNw==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"YHsBUS2jPyOUR9SggDIn6MvT7iNkkFqp/hE+nAdS+rMNxkdH7joEds/2Om50mqWanIvDS5monYW8MyexObXOtA==","permissions":"FULL"},{"keyName":"key2","value":"Mk6ahg6pq7m8Ac+w6HCq4T5uqrIomc6jq7yTTX3yX53GZfgw9ryEPg3AR5SIc1n0hCxrYD6gnfs6g/AMxDEzmw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:24 GMT'] + date: ['Tue, 26 Jun 2018 23:10:25 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,28 +146,28 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:26 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:26 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:26 GMT'] - etag: ['"0x8D5AFAD2133C5EB"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:26 GMT'] + etag: ['"0x8D5DBBA00BCF93F"'] + last-modified: ['Tue, 26 Jun 2018 23:10:26 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ @@ -3625,24 +3623,24 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['131072'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Tue, 01 May 2018 21:47:26 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:10:26 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: body: {string: ''} headers: content-md5: [DfvoqkwgtS4bi/PLbL3xkw==] - date: ['Tue, 01 May 2018 21:47:26 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:26 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null @@ -3650,34 +3648,34 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] If-Modified-Since: ['Fri, 01 Apr 2016 12:00:00 GMT'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:27 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:27 GMT'] x-ms-lease-action: [acquire] x-ms-lease-duration: ['60'] x-ms-proposed-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:26 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:27 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-lease-id: [abcdabcd-abcd-abcd-abcd-abcdabcdabcd] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:27 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:27 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: @@ -3687,75 +3685,75 @@ interactions: content-length: ['131072'] content-md5: [DfvoqkwgtS4bi/PLbL3xkw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:47:27 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:26 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:47:26 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:10:27 GMT'] x-ms-lease-duration: [fixed] x-ms-lease-state: [leased] x-ms-lease-status: [locked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:27 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:28 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: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:27 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:27 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:28 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:28 GMT'] x-ms-lease-action: [renew] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:28 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:28 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:28 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:28 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: @@ -3765,50 +3763,50 @@ interactions: content-length: ['131072'] content-md5: [DfvoqkwgtS4bi/PLbL3xkw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:47:28 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:28 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:47:26 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:10:27 GMT'] x-ms-lease-duration: [fixed] x-ms-lease-state: [leased] x-ms-lease-status: [locked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:29 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:29 GMT'] x-ms-lease-action: [break] x-ms-lease-break-period: ['30'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:28 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:29 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-lease-time: ['30'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:29 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:29 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: @@ -3818,48 +3816,48 @@ interactions: content-length: ['131072'] content-md5: [DfvoqkwgtS4bi/PLbL3xkw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:47:29 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:29 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:47:26 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:10:27 GMT'] x-ms-lease-state: [breaking] x-ms-lease-status: [locked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:29 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:29 GMT'] x-ms-lease-action: [release] x-ms-lease-id: [dcbadcba-dcba-dcba-dcba-dcbadcbadcba] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=lease response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:29 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:29 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:30 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:30 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: @@ -3869,16 +3867,16 @@ interactions: content-length: ['131072'] content-md5: [DfvoqkwgtS4bi/PLbL3xkw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:47:30 GMT'] - etag: ['"0x8D5AFAD217D442A"'] - last-modified: ['Tue, 01 May 2018 21:47:26 GMT'] + date: ['Tue, 26 Jun 2018 23:10:30 GMT'] + etag: ['"0x8D5DBBA0100DF4B"'] + last-modified: ['Tue, 26 Jun 2018 23:10:27 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:47:26 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:10:27 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -3889,23 +3887,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:47:30 GMT'] + date: ['Tue, 26 Jun 2018 23:10:30 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdHNUhINUNaQ1RXVkpZSVJLN1FLS1BMRUpJQ1hGU0VTUlhDWXw3MDdCNzVBMTgzNkQ4OTMwLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdDM1RYNlhFTDNJRUJTNDVPU09RTjZKNVIyQlRTNVdGTTNNTnwwOTE2OUFENTM3M0I0RTFELVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_metadata_operations.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_metadata_operations.yaml index b4946d282be..fa5e565fd29 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_metadata_operations.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_metadata_operations.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:47:31Z"}}' + "date": "2018-06-26T23:10:32Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,19 +9,19 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:47:31Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:10:32Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:31 GMT'] + date: ['Tue, 26 Jun 2018 23:10:32 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -30,34 +30,34 @@ interactions: status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:32 GMT'] + date: ['Tue, 26 Jun 2018 23:10:34 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/64395363-7da9-4c6c-bff7-ea6fe1e42ee2?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/2eac5026-c2c4-46a6-964d-f9613c1be9ca?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/64395363-7da9-4c6c-bff7-ea6fe1e42ee2?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/2eac5026-c2c4-46a6-964d-f9613c1be9ca?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:33.1932492Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:33.1932492Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:47:33.1307619Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:34.4498990Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:10:34.4498990Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:10:34.2936529Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:50 GMT'] + date: ['Tue, 26 Jun 2018 23:10:51 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"WPdT48donsWUf4jsRPxmfhBfRjJy+j+RiW6LdYy4XoaFZ6OIV+aMY3jgtZuQ6YZmaI0ZOI8X0KnrGH7CU/JE5A==","permissions":"FULL"},{"keyName":"key2","value":"Rh/W4ble3jsp5UvOUD/d5m39F98+0JQNaopSferYCwfD2Yz66+RYncStEKYVGSg3ri96z/vCgY9xCfV3idefdA==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"83SgiRHgBz+VSZsRFelj5cCGEye0wIiOyPS++JnQQ3OC2jZd2JXozumpetIS3ZytgN5DRHWrq2heDrcdRvh3NA==","permissions":"FULL"},{"keyName":"key2","value":"hn4xQle8SOutAYvLLnj8WbbkYweh1NtUf5mnaYNciJzAMFto+ggms2IQC664r5of6haueQsLsKfNoUOBd+kn2Q==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:51 GMT'] + date: ['Tue, 26 Jun 2018 23:10:53 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"WPdT48donsWUf4jsRPxmfhBfRjJy+j+RiW6LdYy4XoaFZ6OIV+aMY3jgtZuQ6YZmaI0ZOI8X0KnrGH7CU/JE5A==","permissions":"FULL"},{"keyName":"key2","value":"Rh/W4ble3jsp5UvOUD/d5m39F98+0JQNaopSferYCwfD2Yz66+RYncStEKYVGSg3ri96z/vCgY9xCfV3idefdA==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"83SgiRHgBz+VSZsRFelj5cCGEye0wIiOyPS++JnQQ3OC2jZd2JXozumpetIS3ZytgN5DRHWrq2heDrcdRvh3NA==","permissions":"FULL"},{"keyName":"key2","value":"hn4xQle8SOutAYvLLnj8WbbkYweh1NtUf5mnaYNciJzAMFto+ggms2IQC664r5of6haueQsLsKfNoUOBd+kn2Q==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:47:51 GMT'] + date: ['Tue, 26 Jun 2018 23:10:53 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,28 +146,28 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:52 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:54 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:52 GMT'] - etag: ['"0x8D5AFAD31035F92"'] - last-modified: ['Tue, 01 May 2018 21:47:52 GMT'] + date: ['Tue, 26 Jun 2018 23:10:53 GMT'] + etag: ['"0x8D5DBBA1152BC66"'] + last-modified: ['Tue, 26 Jun 2018 23:10:54 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: "# --------------------------------------------------------------------------------------------\r\ @@ -180,16 +178,16 @@ interactions: \ timedelta\r\nfrom azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer,\ \ StorageAccountPreparer,\r\n JMESPathCheck, NoneCheck,\ \ api_version_constraint)\r\nfrom knack.util import CLIError\r\nfrom azure.cli.core.profiles\ - \ import ResourceType\r\n\r\nfrom azure.cli.command_modules.storage._client_factory\ - \ import NO_CREDENTIALS_ERROR_MESSAGE\r\nfrom .storage_test_util import StorageScenarioMixin\r\ - \n\r\n\r\n@api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-12-01')\r\ - \nclass StorageBlobUploadTests(StorageScenarioMixin, ScenarioTest):\r\n @ResourceGroupPreparer()\r\ - \n @StorageAccountPreparer(parameter_name='source_account')\r\n @StorageAccountPreparer(parameter_name='target_account')\r\ - \n def test_storage_blob_incremental_copy(self, resource_group, source_account,\ - \ target_account):\r\n source_file = self.create_temp_file(16)\r\n \ - \ source_account_info = self.get_account_info(resource_group, source_account)\r\ - \n source_container = self.create_container(source_account_info)\r\n\ - \ self.storage_cmd('storage blob upload -c {} -n src -f \"{}\" -t page',\ + \ import ResourceType\r\n\r\nfrom ..._client_factory import NO_CREDENTIALS_ERROR_MESSAGE\r\ + \nfrom .storage_test_util import StorageScenarioMixin\r\nfrom ...profiles import\ + \ CUSTOM_MGMT_STORAGE\r\n\r\n\r\n@api_version_constraint(CUSTOM_MGMT_STORAGE,\ + \ min_api='2016-12-01')\r\nclass StorageBlobUploadTests(StorageScenarioMixin,\ + \ ScenarioTest):\r\n @ResourceGroupPreparer()\r\n @StorageAccountPreparer(parameter_name='source_account')\r\ + \n @StorageAccountPreparer(parameter_name='target_account')\r\n def test_storage_blob_incremental_copy(self,\ + \ resource_group, source_account, target_account):\r\n source_file =\ + \ self.create_temp_file(16)\r\n source_account_info = self.get_account_info(resource_group,\ + \ source_account)\r\n source_container = self.create_container(source_account_info)\r\ + \n self.storage_cmd('storage blob upload -c {} -n src -f \"{}\" -t page',\ \ source_account_info,\r\n source_container, source_file)\r\ \n\r\n snapshot = self.storage_cmd('storage blob snapshot -c {} -n src',\ \ source_account_info,\r\n source_container).get_output_in_json()['snapshot']\r\ @@ -439,118 +437,130 @@ interactions: \ should throw exception\r\n with self.assertRaises(Exception):\r\n \ \ self.storage_cmd('storage blob upload -c {} -f \"{}\" -n {} --type\ \ append --if-none-match *', account_info,\r\n container,\ - \ local_file, blob_name)\r\n\r\n\r\nif __name__ == '__main__':\r\n unittest.main()\r\ + \ local_file, blob_name)\r\n\r\n @ResourceGroupPreparer(location='westcentralus')\r\ + \n def test_storage_blob_update_service_properties(self, resource_group):\r\ + \n storage_account = self.create_random_name(prefix='account', length=24)\r\ + \n\r\n self.cmd('storage account create -n {} -g {} --kind StorageV2'.format(storage_account,\ + \ resource_group))\r\n account_info = self.get_account_info(resource_group,\ + \ storage_account)\r\n\r\n self.storage_cmd('storage blob service-properties\ + \ show', account_info) \\\r\n .assert_with_checks(JMESPathCheck('staticWebsite.enabled',\ + \ False))\r\n\r\n self.storage_cmd('storage blob service-properties update\ + \ --static-website --index-document index.html '\r\n \ + \ '--404-document error.html', account_info) \\\r\n .assert_with_checks(JMESPathCheck('staticWebsite.enabled',\ + \ True),\r\n JMESPathCheck('staticWebsite.errorDocument_404Path',\ + \ 'error.html'),\r\n JMESPathCheck('staticWebsite.indexDocument',\ + \ 'index.html'))\r\n\r\n\r\nif __name__ == '__main__':\r\n unittest.main()\r\ \n" headers: Connection: [keep-alive] - Content-Length: ['21487'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + Content-Length: ['22524'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-content-type: [text/plain] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Tue, 01 May 2018 21:47:53 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:10:54 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: body: {string: ''} headers: - content-md5: [+WFZhdwHyV1SHyRq6onVEw==] - date: ['Tue, 01 May 2018 21:47:52 GMT'] - etag: ['"0x8D5AFAD313B7741"'] - last-modified: ['Tue, 01 May 2018 21:47:53 GMT'] + content-md5: [R/TUF0Us/PD+wR0i3pgHag==] + date: ['Tue, 26 Jun 2018 23:10:54 GMT'] + etag: ['"0x8D5DBBA11A0B472"'] + last-modified: ['Tue, 26 Jun 2018 23:10:54 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:53 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:55 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:53 GMT'] - etag: ['"0x8D5AFAD316D8CF1"'] - last-modified: ['Tue, 01 May 2018 21:47:53 GMT'] + date: ['Tue, 26 Jun 2018 23:10:55 GMT'] + etag: ['"0x8D5DBBA11DF7A9D"'] + last-modified: ['Tue, 26 Jun 2018 23:10:55 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:53 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:55 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:53 GMT'] - etag: ['"0x8D5AFAD316D8CF1"'] - last-modified: ['Tue, 01 May 2018 21:47:53 GMT'] + date: ['Tue, 26 Jun 2018 23:10:55 GMT'] + etag: ['"0x8D5DBBA11DF7A9D"'] + last-modified: ['Tue, 26 Jun 2018 23:10:55 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:54 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:55 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:53 GMT'] - etag: ['"0x8D5AFAD31E93C43"'] - last-modified: ['Tue, 01 May 2018 21:47:54 GMT'] + date: ['Tue, 26 Jun 2018 23:10:55 GMT'] + etag: ['"0x8D5DBBA124D72F3"'] + last-modified: ['Tue, 26 Jun 2018 23:10:56 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:47:54 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:10:56 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:47:54 GMT'] - etag: ['"0x8D5AFAD31E93C43"'] - last-modified: ['Tue, 01 May 2018 21:47:54 GMT'] + date: ['Tue, 26 Jun 2018 23:10:55 GMT'] + etag: ['"0x8D5DBBA124D72F3"'] + last-modified: ['Tue, 26 Jun 2018 23:10:56 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -561,23 +571,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:47:55 GMT'] + date: ['Tue, 26 Jun 2018 23:10:57 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdDUk9TNTMzSEFOQ0xUS1pGTVlSQ0JFTkhIQjVRV1ZDNEMyT3wwQThBNzAyQ0U0NDI5MjdDLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc2N0pLTDJWV0RHQk5WWDVXTkpaWUxSNDM1QUNCUkpLVUg2WHwzMUM3MzFFQUFFMkE2MDE3LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_snapshot_operations.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_snapshot_operations.yaml index 2c09694d194..1a817274516 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_snapshot_operations.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_snapshot_operations.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:47:55Z"}}' + "date": "2018-06-26T23:10:58Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,55 +9,55 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:47:55Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:10:58Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:55 GMT'] + date: ['Tue, 26 Jun 2018 23:11:00 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:47:56 GMT'] + date: ['Tue, 26 Jun 2018 23:11:03 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b798e646-f8cb-4417-a58e-b42fe7eba2e6?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/64ce9f97-840c-4d3d-8ce1-9fb2d0c96267?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b798e646-f8cb-4417-a58e-b42fe7eba2e6?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/64ce9f97-840c-4d3d-8ce1-9fb2d0c96267?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:57.5877755Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:47:57.5877755Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:47:57.5252776Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:02.9266690Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:02.9266690Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:11:02.6297814Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:14 GMT'] + date: ['Tue, 26 Jun 2018 23:11:20 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"mSQyYeFjSWcHh4OQ0cI+sM0ltIbw37uXGCXXseczOS1s6fnU78/mmq/MELZC/f/YIcITEXjXC/lnvCVu3H01QQ==","permissions":"FULL"},{"keyName":"key2","value":"oMyycaVQzQ9qbelMiFVT3v6nbIKeVoByVl4W0XnQd7vesMUvINKjuIuDm/nebGLsaBnXkpeahoCjXgznWDJKiw==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"A+4tIkGaUjHUIy4U2p8WwOhn57WREu/k9zQYyYBcXU59DTwOXN/bWg5SBiAz4R9ndB0h1A0EJCGMsXjYSrlPUA==","permissions":"FULL"},{"keyName":"key2","value":"ZYIIbXLvxa6cutv2sllTmZSufXj7gkTmapw9+LxtQYxzuwBjoNxT9FBFg/zro+sYgS3B7sPqfkptFpOIEKi+Fg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:16 GMT'] + date: ['Tue, 26 Jun 2018 23:11:22 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"mSQyYeFjSWcHh4OQ0cI+sM0ltIbw37uXGCXXseczOS1s6fnU78/mmq/MELZC/f/YIcITEXjXC/lnvCVu3H01QQ==","permissions":"FULL"},{"keyName":"key2","value":"oMyycaVQzQ9qbelMiFVT3v6nbIKeVoByVl4W0XnQd7vesMUvINKjuIuDm/nebGLsaBnXkpeahoCjXgznWDJKiw==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"A+4tIkGaUjHUIy4U2p8WwOhn57WREu/k9zQYyYBcXU59DTwOXN/bWg5SBiAz4R9ndB0h1A0EJCGMsXjYSrlPUA==","permissions":"FULL"},{"keyName":"key2","value":"ZYIIbXLvxa6cutv2sllTmZSufXj7gkTmapw9+LxtQYxzuwBjoNxT9FBFg/zro+sYgS3B7sPqfkptFpOIEKi+Fg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:16 GMT'] + date: ['Tue, 26 Jun 2018 23:11:21 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -155,21 +153,21 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:48:16 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:11:23 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:48:16 GMT'] - etag: ['"0x8D5AFAD3F79B2C1"'] - last-modified: ['Tue, 01 May 2018 21:48:17 GMT'] + date: ['Tue, 26 Jun 2018 23:11:23 GMT'] + etag: ['"0x8D5DBBA22A4855B"'] + last-modified: ['Tue, 26 Jun 2018 23:11:23 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ @@ -3625,57 +3623,58 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['131072'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Tue, 01 May 2018 21:48:17 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:11:23 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: body: {string: ''} headers: content-md5: [DfvoqkwgtS4bi/PLbL3xkw==] - date: ['Tue, 01 May 2018 21:48:17 GMT'] - etag: ['"0x8D5AFAD3FE3ED21"'] - last-modified: ['Tue, 01 May 2018 21:48:17 GMT'] + date: ['Tue, 26 Jun 2018 23:11:23 GMT'] + etag: ['"0x8D5DBBA230F2CDB"'] + last-modified: ['Tue, 26 Jun 2018 23:11:24 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:48:18 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:11:24 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=snapshot response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:48:18 GMT'] - etag: ['"0x8D5AFAD3FE3ED21"'] - last-modified: ['Tue, 01 May 2018 21:48:17 GMT'] + connection: [close] + date: ['Tue, 26 Jun 2018 23:11:24 GMT'] + etag: ['"0x8D5DBBA230F2CDB"'] + last-modified: ['Tue, 26 Jun 2018 23:11:24 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-snapshot: ['2018-05-01T21:48:18.2590880Z'] - x-ms-version: ['2017-11-09'] + x-ms-snapshot: ['2018-06-26T23:11:24.5713406Z'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:48:18 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:11:24 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD - uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?snapshot=2018-05-01T21%3A48%3A18.2590880Z + uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?snapshot=2018-06-26T23%3A11%3A24.5713406Z response: body: {string: ''} headers: @@ -3683,14 +3682,14 @@ interactions: content-length: ['131072'] content-md5: [DfvoqkwgtS4bi/PLbL3xkw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:48:18 GMT'] - etag: ['"0x8D5AFAD3FE3ED21"'] - last-modified: ['Tue, 01 May 2018 21:48:17 GMT'] + date: ['Tue, 26 Jun 2018 23:11:24 GMT'] + etag: ['"0x8D5DBBA230F2CDB"'] + last-modified: ['Tue, 26 Jun 2018 23:11:24 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:48:17 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:11:24 GMT'] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -3701,23 +3700,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:48:18 GMT'] + date: ['Tue, 26 Jun 2018 23:11:26 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdIRjIzR0VVVUw1RzQ2VURVM0QyNVA2QjdNNVlTMjNPVjZCWnxCMUJEREZDMTAzQzU1RjFELVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdRVURVQkFOSEpEM01HV1dBSEhSVkhZNkVPU0RWQVVLRlNPQ3w2MDhFRTFDQzVCRTBENUZBLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_socket_timeout.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_socket_timeout.yaml index 47579417e79..9217b840d0d 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_socket_timeout.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_socket_timeout.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:48:19Z"}}' + "date": "2018-06-26T23:11:26Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,49 +9,49 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:48:19Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:11:26Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:48:20 GMT'] + date: ['Tue, 26 Jun 2018 23:11:31 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:48:21 GMT'] + date: ['Tue, 26 Jun 2018 23:11:36 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/0d0558c2-d824-467c-9cc3-557bcfe84843?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/9fd00a2e-3453-4167-a9ca-7215b025cde5?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/0d0558c2-d824-467c-9cc3-557bcfe84843?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/9fd00a2e-3453-4167-a9ca-7215b025cde5?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:21.6512920Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:48:21.6512920Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:48:21.5575410Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:33.1709028Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:11:33.1709028Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:11:33.0146607Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:38 GMT'] + date: ['Tue, 26 Jun 2018 23:11:54 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"2DyFqrFaHyg5gZoURRCMdrDd60j0YCpC/d8s77k5bvTbZvMovR3FgH26PujOoSNEEcFVRVH41UpwrYRmdXMbGg==","permissions":"FULL"},{"keyName":"key2","value":"SF8vB+fEvoYI6CrC+HuAdO43ctX7R7p5k3DzRmT5L3LnnnAtmnD0Nuc5fTiWMNifZBlSOqMPpvn27qvYvyJZkQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"p4m9aOh1bngrcSYnc4vCbTCiiQqsopgGMlUbRduWzxuD+K14aEIO37YbtXEklSnyLT4ebJANivkPqqreuGFLlw==","permissions":"FULL"},{"keyName":"key2","value":"KDV5nINwbCBIcHZuoSHX0ZTkYau3hmBDxfuHltmOvrdx+VqWa0uJSFMpdHBQcFg933Q93rNzrxZWoLGOToTCLw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:39 GMT'] + date: ['Tue, 26 Jun 2018 23:11:55 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: body: null @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"2DyFqrFaHyg5gZoURRCMdrDd60j0YCpC/d8s77k5bvTbZvMovR3FgH26PujOoSNEEcFVRVH41UpwrYRmdXMbGg==","permissions":"FULL"},{"keyName":"key2","value":"SF8vB+fEvoYI6CrC+HuAdO43ctX7R7p5k3DzRmT5L3LnnnAtmnD0Nuc5fTiWMNifZBlSOqMPpvn27qvYvyJZkQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"p4m9aOh1bngrcSYnc4vCbTCiiQqsopgGMlUbRduWzxuD+K14aEIO37YbtXEklSnyLT4ebJANivkPqqreuGFLlw==","permissions":"FULL"},{"keyName":"key2","value":"KDV5nINwbCBIcHZuoSHX0ZTkYau3hmBDxfuHltmOvrdx+VqWa0uJSFMpdHBQcFg933Q93rNzrxZWoLGOToTCLw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:48:40 GMT'] + date: ['Tue, 26 Jun 2018 23:11:56 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -155,40 +153,40 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:48:41 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:11:56 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:48:40 GMT'] - etag: ['"0x8D5AFAD4DCDD1D8"'] - last-modified: ['Tue, 01 May 2018 21:48:41 GMT'] + date: ['Tue, 26 Jun 2018 23:11:57 GMT'] + etag: ['"0x8D5DBBA36BD3CAB"'] + last-modified: ['Tue, 26 Jun 2018 23:11:57 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:49:37 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:53 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:49:37 GMT'] + date: ['Tue, 26 Jun 2018 23:12:53 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-error-code: [BlobNotFound] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 404, message: The specified blob does not exist.} - request: body: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ @@ -221,33 +219,33 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['1024'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Tue, 01 May 2018 21:49:38 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:12:54 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: body: {string: ''} headers: content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] - date: ['Tue, 01 May 2018 21:49:37 GMT'] - etag: ['"0x8D5AFAD6FD24C68"'] - last-modified: ['Tue, 01 May 2018 21:49:38 GMT'] + date: ['Tue, 26 Jun 2018 23:12:53 GMT'] + etag: ['"0x8D5DBBA58E81736"'] + last-modified: ['Tue, 26 Jun 2018 23:12:54 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:49:38 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:54 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -257,25 +255,25 @@ interactions: content-length: ['1024'] content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:49:38 GMT'] - etag: ['"0x8D5AFAD6FD24C68"'] - last-modified: ['Tue, 01 May 2018 21:49:38 GMT'] + date: ['Tue, 26 Jun 2018 23:12:54 GMT'] + etag: ['"0x8D5DBBA58E81736"'] + last-modified: ['Tue, 26 Jun 2018 23:12:54 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:49:38 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:12:54 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:49:38 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:55 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -285,26 +283,26 @@ interactions: content-length: ['1024'] content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:49:38 GMT'] - etag: ['"0x8D5AFAD6FD24C68"'] - last-modified: ['Tue, 01 May 2018 21:49:38 GMT'] + date: ['Tue, 26 Jun 2018 23:12:54 GMT'] + etag: ['"0x8D5DBBA58E81736"'] + last-modified: ['Tue, 26 Jun 2018 23:12:54 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:49:38 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:12:54 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:49:39 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:12:55 GMT'] x-ms-range: [bytes=0-33554431] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -341,17 +339,17 @@ interactions: content-length: ['1024'] content-range: [bytes 0-1023/1024] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:49:38 GMT'] - etag: ['"0x8D5AFAD6FD24C68"'] - last-modified: ['Tue, 01 May 2018 21:49:38 GMT'] + date: ['Tue, 26 Jun 2018 23:12:55 GMT'] + etag: ['"0x8D5DBBA58E81736"'] + last-modified: ['Tue, 26 Jun 2018 23:12:54 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:49:38 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:12:54 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 206, message: Partial Content} - request: body: null @@ -362,23 +360,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:49:39 GMT'] + date: ['Tue, 26 Jun 2018 23:12:56 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdQUjJSNjM0RUdHUkpFWTJKWDdJWkJMREFZR01GUE80T1oyM3w2QTZCNkNBRDM4RTNBNDEyLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdDWUFUNUI3VURJS0JJWDQ1SjVQWU5NUzI0SEE2MjJNUkVKSHwyNjMzRTM4MzU0Njc3QTRCLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_soft_delete.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_soft_delete.yaml index 6bf6731b419..87d263809f9 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_soft_delete.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_soft_delete.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:49:39Z"}}' + "date": "2018-06-26T23:12:56Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,49 +9,49 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:49:39Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:12:56Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:49:40 GMT'] + date: ['Tue, 26 Jun 2018 23:12:57 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:49:41 GMT'] + date: ['Tue, 26 Jun 2018 23:12:59 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/67812c24-890c-48ed-9849-0005e7354367?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/61592e63-d193-47ec-a8d4-a68ed2a305ca?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/67812c24-890c-48ed-9849-0005e7354367?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/61592e63-d193-47ec-a8d4-a68ed2a305ca?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:49:41.9342494Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:49:41.9342494Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:49:41.8561236Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:12:59.2750883Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:12:59.2750883Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:12:59.1188300Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:49:59 GMT'] + date: ['Tue, 26 Jun 2018 23:13:16 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"qf+rZABzdZKtF9qE66GwfTkLDDn1zrL1gdhmcDMILeI52dsGc9+YJ9MCg+qtQ8vW4pa4Zr3uE8A2hZaB2ZaM/Q==","permissions":"FULL"},{"keyName":"key2","value":"zCQl9+O2FWIJFZvwRAIlcJwUe/j+wBKWmmCrCuKFVPjaiMHcMnJGeKGpKJbOgG90VP1DO1pdFAp2qCNqLC9kOQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"H+bQPOpsuES1BaWgyuXxIshJbIrsnzzp4SUwpln/nNSnAQK4kROIopvzRkXfx8kNOBa1sgDRVpZ036ZSqkjHtQ==","permissions":"FULL"},{"keyName":"key2","value":"eZ4aMuBPf74/O30cDFTjPlruEWlm81XzWDyVB+8pOCuALarw3SfSuWiW5EiFCnZqqXzGMP2mp8lQmaCKl9L7Qg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:00 GMT'] + date: ['Tue, 26 Jun 2018 23:13:17 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: body: null @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"qf+rZABzdZKtF9qE66GwfTkLDDn1zrL1gdhmcDMILeI52dsGc9+YJ9MCg+qtQ8vW4pa4Zr3uE8A2hZaB2ZaM/Q==","permissions":"FULL"},{"keyName":"key2","value":"zCQl9+O2FWIJFZvwRAIlcJwUe/j+wBKWmmCrCuKFVPjaiMHcMnJGeKGpKJbOgG90VP1DO1pdFAp2qCNqLC9kOQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"H+bQPOpsuES1BaWgyuXxIshJbIrsnzzp4SUwpln/nNSnAQK4kROIopvzRkXfx8kNOBa1sgDRVpZ036ZSqkjHtQ==","permissions":"FULL"},{"keyName":"key2","value":"eZ4aMuBPf74/O30cDFTjPlruEWlm81XzWDyVB+8pOCuALarw3SfSuWiW5EiFCnZqqXzGMP2mp8lQmaCKl9L7Qg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:00 GMT'] + date: ['Tue, 26 Jun 2018 23:13:18 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,28 +146,28 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:01 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:18 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:50:01 GMT'] - etag: ['"0x8D5AFAD7DD3A5C1"'] - last-modified: ['Tue, 01 May 2018 21:50:01 GMT'] + date: ['Tue, 26 Jun 2018 23:13:19 GMT'] + etag: ['"0x8D5DBBA67DD53E2"'] + last-modified: ['Tue, 26 Jun 2018 23:13:19 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ @@ -202,59 +200,59 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['1024'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Tue, 01 May 2018 21:50:02 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:13:19 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: body: {string: ''} headers: content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] - date: ['Tue, 01 May 2018 21:50:01 GMT'] - etag: ['"0x8D5AFAD7E48DFBF"'] - last-modified: ['Tue, 01 May 2018 21:50:02 GMT'] + date: ['Tue, 26 Jun 2018 23:13:20 GMT'] + etag: ['"0x8D5DBBA683F16A4"'] + last-modified: ['Tue, 26 Jun 2018 23:13:20 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:02 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:20 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=list response: body: {string: "\uFEFFblob000004Tue,\ - \ 01 May 2018 21:50:02 GMTTue, 01 May 2018\ - \ 21:50:02 GMT0x8D5AFAD7E48DFBF1024application/octet-streamTue, 26 Jun 2018\ + \ 23:13:20 GMT0x8D5DBBA683F16A41024application/octet-streamDzQ7CTESaiDxM9Z8KwGKOw==BlockBlobunlockedavailabletrue"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:50:02 GMT'] + date: ['Tue, 26 Jun 2018 23:13:20 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:03 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:20 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -262,10 +260,10 @@ interactions: \ />false"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:50:02 GMT'] + date: ['Tue, 26 Jun 2018 23:13:20 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -274,28 +272,28 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['176'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:03 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:21 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:50:02 GMT'] + date: ['Tue, 26 Jun 2018 23:13:21 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:03 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:21 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -303,19 +301,19 @@ interactions: \ />true2"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:50:03 GMT'] + date: ['Tue, 26 Jun 2018 23:13:21 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:04 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:21 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -323,39 +321,39 @@ interactions: \ />true2"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:50:04 GMT'] + date: ['Tue, 26 Jun 2018 23:13:21 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:04 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:21 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004 response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:50:04 GMT'] + date: ['Tue, 26 Jun 2018 23:13:21 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-delete-type-permanent: ['false'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:05 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:22 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=list response: @@ -364,82 +362,82 @@ interactions: cont000003\">"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:50:05 GMT'] + date: ['Tue, 26 Jun 2018 23:13:22 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:05 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:23 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=list&include=deleted response: body: {string: "\uFEFFblob000004trueTue,\ - \ 01 May 2018 21:50:02 GMTTue, 01 May 2018\ - \ 21:50:02 GMT0x8D5AFAD7E48DFBF1024application/octet-streamTue, 26 Jun 2018\ + \ 23:13:20 GMT0x8D5DBBA683F16A41024application/octet-streamDzQ7CTESaiDxM9Z8KwGKOw==BlockBlobtrueTue,\ - \ 01 May 2018 21:50:04 GMT11"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:50:05 GMT'] + date: ['Tue, 26 Jun 2018 23:13:23 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:06 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:23 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/blob000004?comp=undelete response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:50:06 GMT'] + date: ['Tue, 26 Jun 2018 23:13:22 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:07 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:23 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=list response: body: {string: "\uFEFFblob000004Tue,\ - \ 01 May 2018 21:50:02 GMTTue, 01 May 2018\ - \ 21:50:02 GMT0x8D5AFAD7E48DFBF1024application/octet-streamTue, 26 Jun 2018\ + \ 23:13:20 GMT0x8D5DBBA683F16A41024application/octet-streamDzQ7CTESaiDxM9Z8KwGKOw==BlockBlobunlockedavailabletrue"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:50:07 GMT'] + date: ['Tue, 26 Jun 2018 23:13:23 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -450,23 +448,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:50:07 GMT'] + date: ['Tue, 26 Jun 2018 23:13:24 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdaQkNSRUJLN09NQ0JGVVFMSTRSUVlMSEdNTkEyRUs3TjVYQ3xERkQ3RkIyMTUyNkQ2Q0EyLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdCRDJPQzVWWkFUWlJMSlUyTkVPQ0VaQTRVMkEzQlJFNlBaSnw4ODU2Q0Y2Q0VCNEM4NjZELVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_update_service_properties.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_update_service_properties.yaml new file mode 100644 index 00000000000..512945ddb1a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_update_service_properties.yaml @@ -0,0 +1,256 @@ +interactions: +- request: + body: '{"location": "westcentralus", "tags": {"product": "azurecli", "cause": + "automation", "date": "2018-06-26T23:13:25Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['117'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:13:25Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['391'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 26 Jun 2018 23:13:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:13:25Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['391'] + content-type: [application/json; charset=utf-8] + date: ['Tue, 26 Jun 2018 23:13:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "StorageV2", "location": "westcentralus", + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + Content-Length: ['159'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/account000002?api-version=2018-03-01-preview + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + content-type: [text/plain; charset=utf-8] + date: ['Tue, 26 Jun 2018 23:13:28 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westcentralus/asyncoperations/c39c076c-6b8c-4d55-8da6-db43dd7e9233?monitor=true&api-version=2018-03-01-preview'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westcentralus/asyncoperations/c39c076c-6b8c-4d55-8da6-db43dd7e9233?monitor=true&api-version=2018-03-01-preview + response: + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/account000002","name":"account000002","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.0502851Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:28.0502851Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:28.0034117Z","primaryEndpoints":{"web":"https://account000002.z4.web.core.windows.net/","blob":"https://account000002.blob.core.windows.net/","queue":"https://account000002.queue.core.windows.net/","table":"https://account000002.table.core.windows.net/","file":"https://account000002.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://account000002-secondary.z4.web.core.windows.net/","blob":"https://account000002-secondary.blob.core.windows.net/","queue":"https://account000002-secondary.queue.core.windows.net/","table":"https://account000002-secondary.table.core.windows.net/"}}}'} + headers: + cache-control: [no-cache] + content-length: ['1745'] + content-type: [application/json] + date: ['Tue, 26 Jun 2018 23:13:45 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account keys list] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/account000002/listKeys?api-version=2018-03-01-preview + response: + body: {string: '{"keys":[{"keyName":"key1","value":"EpHxFkYjMlK/Km6bLH7TCraE//MHhOQgSzhtcOu6qKe6UBY02xZCHN4PuCBnNnaenrRRU5yRaXIoZNHY5CGYDg==","permissions":"FULL"},{"keyName":"key2","value":"6CwEP8N/gBHdP8n31htcNmkR2m99XKtHXsXaOQHkvfmHqo+WLVLl2yHatgOgcXfT2AYKFAxXnsEYbjZ6jbq4jA==","permissions":"FULL"}]}'} + headers: + cache-control: [no-cache] + content-length: ['288'] + content-type: [application/json] + date: ['Tue, 26 Jun 2018 23:13:46 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [keep-alive] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:47 GMT'] + x-ms-version: ['2018-03-28'] + method: GET + uri: https://account000002.blob.core.windows.net/?restype=service&comp=properties + response: + body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalsefalse"} + headers: + content-type: [application/xml] + date: ['Tue, 26 Jun 2018 23:13:47 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + transfer-encoding: [chunked] + x-ms-version: ['2018-03-28'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [keep-alive] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:47 GMT'] + x-ms-version: ['2018-03-28'] + method: GET + uri: https://account000002.blob.core.windows.net/?restype=service&comp=properties + response: + body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalsefalse"} + headers: + content-type: [application/xml] + date: ['Tue, 26 Jun 2018 23:13:47 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + transfer-encoding: [chunked] + x-ms-version: ['2018-03-28'] + status: {code: 200, message: OK} +- request: + body: ' + + Trueindex.htmlerror.html' + headers: + Connection: [keep-alive] + Content-Length: ['242'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:48 GMT'] + x-ms-version: ['2018-03-28'] + method: PUT + uri: https://account000002.blob.core.windows.net/?restype=service&comp=properties + response: + body: {string: ''} + headers: + date: ['Tue, 26 Jun 2018 23:13:48 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + transfer-encoding: [chunked] + x-ms-version: ['2018-03-28'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Connection: [keep-alive] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:13:48 GMT'] + x-ms-version: ['2018-03-28'] + method: GET + uri: https://account000002.blob.core.windows.net/?restype=service&comp=properties + response: + body: {string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalsetrueindex.htmlerror.html"} + headers: + content-type: [application/xml] + date: ['Tue, 26 Jun 2018 23:13:48 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + transfer-encoding: [chunked] + x-ms-version: ['2018-03-28'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Tue, 26 Jun 2018 23:13:50 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdTV0JBR0YzSEpWTVRYQktLVUZONTU0SFlNNFhaTFdLSktPVXxBNkQwN0YyOTVERUIwMTY1LVdFU1RDRU5UUkFMVVMiLCJqb2JMb2NhdGlvbiI6Indlc3RjZW50cmFsdXMifQ?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_upload_midsize_file.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_upload_midsize_file.yaml index 5085add5b0a..bb1e4345d5a 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_upload_midsize_file.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_upload_midsize_file.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:50:08Z"}}' + "date": "2018-06-26T23:13:50Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,55 +9,55 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:50:08Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:13:50Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:08 GMT'] + date: ['Tue, 26 Jun 2018 23:13:52 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:12 GMT'] + date: ['Tue, 26 Jun 2018 23:13:54 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/d2cb0d08-1dbb-463a-8515-c7c3925f6e97?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/6a25a8c5-31d9-4dde-b00a-030f03f7c552?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1193'] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/d2cb0d08-1dbb-463a-8515-c7c3925f6e97?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/6a25a8c5-31d9-4dde-b00a-030f03f7c552?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:12.9813351Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:12.9813351Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:12.9031978Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:54.6073748Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:13:54.6073748Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:13:54.4208929Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:29 GMT'] + date: ['Tue, 26 Jun 2018 23:14:12 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"wRXnasKn+uHsAFzJlB0u452e3gzhrQgPSPautk76CDMNoCxVMDPdh9Sg9oDCQFpskuOfm61yXzsTD1GcfLU4mA==","permissions":"FULL"},{"keyName":"key2","value":"IkNMTb0ze5MM6VxN5vSlqxb4NzFLjwyUgn6VZjmTpCOoDwC/lXxIsJTH52C9kDxJxxoogWxa1r2QEergHPJ8rw==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"+TotaZQwaBfnEhxg/LC5ufDFUEoX7lRkV8/IA1VaLuPxenGSi1tu4sOcnSR9Exkr8ic8wl+thS+3STVLRLGiVA==","permissions":"FULL"},{"keyName":"key2","value":"BKzsHiufzX8TTVyghTGGF2q/gPsEqdVuk7UQa8iOFWiqMDJe05rD8wts6WEb4Wh/L43i014vBMSi3LTz+jqzrg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:31 GMT'] + date: ['Tue, 26 Jun 2018 23:14:12 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1194'] + x-ms-ratelimit-remaining-subscription-writes: ['1195'] status: {code: 200, message: OK} - request: body: null @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"wRXnasKn+uHsAFzJlB0u452e3gzhrQgPSPautk76CDMNoCxVMDPdh9Sg9oDCQFpskuOfm61yXzsTD1GcfLU4mA==","permissions":"FULL"},{"keyName":"key2","value":"IkNMTb0ze5MM6VxN5vSlqxb4NzFLjwyUgn6VZjmTpCOoDwC/lXxIsJTH52C9kDxJxxoogWxa1r2QEergHPJ8rw==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"+TotaZQwaBfnEhxg/LC5ufDFUEoX7lRkV8/IA1VaLuPxenGSi1tu4sOcnSR9Exkr8ic8wl+thS+3STVLRLGiVA==","permissions":"FULL"},{"keyName":"key2","value":"BKzsHiufzX8TTVyghTGGF2q/gPsEqdVuk7UQa8iOFWiqMDJe05rD8wts6WEb4Wh/L43i014vBMSi3LTz+jqzrg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:50:32 GMT'] + date: ['Tue, 26 Jun 2018 23:14:13 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,47 +146,47 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:32 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:14 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:50:32 GMT'] - etag: ['"0x8D5AFAD90808EA6"'] - last-modified: ['Tue, 01 May 2018 21:50:33 GMT'] + date: ['Tue, 26 Jun 2018 23:14:14 GMT'] + etag: ['"0x8D5DBBA88AD02ED"'] + last-modified: ['Tue, 26 Jun 2018 23:14:14 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:33 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:14 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:50:33 GMT'] + date: ['Tue, 26 Jun 2018 23:14:14 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-error-code: [BlobNotFound] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 404, message: The specified blob does not exist.} - request: body: '!!! The request body has been omitted from the recording because its size @@ -196,33 +194,33 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['4194304'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Tue, 01 May 2018 21:50:33 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:14:15 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: body: {string: ''} headers: content-md5: [tc+p1sj+vWGPkawoQ9UKHA==] - date: ['Tue, 01 May 2018 21:50:35 GMT'] - etag: ['"0x8D5AFAD91EC6872"'] - last-modified: ['Tue, 01 May 2018 21:50:35 GMT'] + date: ['Tue, 26 Jun 2018 23:14:15 GMT'] + etag: ['"0x8D5DBBA89A490C2"'] + last-modified: ['Tue, 26 Jun 2018 23:14:16 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:35 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:16 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -232,51 +230,51 @@ interactions: content-length: ['4194304'] content-md5: [tc+p1sj+vWGPkawoQ9UKHA==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:50:35 GMT'] - etag: ['"0x8D5AFAD91EC6872"'] - last-modified: ['Tue, 01 May 2018 21:50:35 GMT'] + date: ['Tue, 26 Jun 2018 23:14:16 GMT'] + etag: ['"0x8D5DBBA89A490C2"'] + last-modified: ['Tue, 26 Jun 2018 23:14:16 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:50:35 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:16 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:36 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:17 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000004?restype=container&comp=list&maxresults=1 response: body: {string: "\uFEFF1blob000003Tue,\ - \ 01 May 2018 21:50:35 GMTTue, 01 May 2018\ - \ 21:50:35 GMT0x8D5AFAD91EC68724194304application/octet-streamTue, 26 Jun 2018\ + \ 23:14:16 GMT0x8D5DBBA89A490C24194304application/octet-streamtc+p1sj+vWGPkawoQ9UKHA==BlockBlobunlockedavailabletrue"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:50:36 GMT'] + date: ['Tue, 26 Jun 2018 23:14:16 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:36 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:17 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -286,25 +284,25 @@ interactions: content-length: ['4194304'] content-md5: [tc+p1sj+vWGPkawoQ9UKHA==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:50:36 GMT'] - etag: ['"0x8D5AFAD91EC6872"'] - last-modified: ['Tue, 01 May 2018 21:50:35 GMT'] + date: ['Tue, 26 Jun 2018 23:14:17 GMT'] + etag: ['"0x8D5DBBA89A490C2"'] + last-modified: ['Tue, 26 Jun 2018 23:14:16 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:50:35 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:16 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:37 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:18 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -314,48 +312,48 @@ interactions: content-length: ['4194304'] content-md5: [tc+p1sj+vWGPkawoQ9UKHA==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:50:37 GMT'] - etag: ['"0x8D5AFAD91EC6872"'] - last-modified: ['Tue, 01 May 2018 21:50:35 GMT'] + date: ['Tue, 26 Jun 2018 23:14:17 GMT'] + etag: ['"0x8D5DBBA89A490C2"'] + last-modified: ['Tue, 26 Jun 2018 23:14:16 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:50:35 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:16 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-content-md5: [tc+p1sj+vWGPkawoQ9UKHA==] x-ms-blob-content-type: [application/test-content] - x-ms-date: ['Tue, 01 May 2018 21:50:38 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:14:18 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003?comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:50:38 GMT'] - etag: ['"0x8D5AFAD93C17DFB"'] - last-modified: ['Tue, 01 May 2018 21:50:38 GMT'] + date: ['Tue, 26 Jun 2018 23:14:17 GMT'] + etag: ['"0x8D5DBBA8B18FFD0"'] + last-modified: ['Tue, 26 Jun 2018 23:14:18 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:38 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:18 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -365,25 +363,25 @@ interactions: content-length: ['4194304'] content-md5: [tc+p1sj+vWGPkawoQ9UKHA==] content-type: [application/test-content] - date: ['Tue, 01 May 2018 21:50:38 GMT'] - etag: ['"0x8D5AFAD93C17DFB"'] - last-modified: ['Tue, 01 May 2018 21:50:38 GMT'] + date: ['Tue, 26 Jun 2018 23:14:18 GMT'] + etag: ['"0x8D5DBBA8B18FFD0"'] + last-modified: ['Tue, 26 Jun 2018 23:14:18 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:50:35 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:16 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:39 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:19 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -391,20 +389,20 @@ interactions: \ />false"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:50:39 GMT'] + date: ['Tue, 26 Jun 2018 23:14:19 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:39 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:19 GMT'] x-ms-range: [bytes=0-33554431] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -416,27 +414,27 @@ interactions: content-length: ['4194304'] content-range: [bytes 0-4194303/4194304] content-type: [application/test-content] - date: ['Tue, 01 May 2018 21:50:39 GMT'] - etag: ['"0x8D5AFAD93C17DFB"'] - last-modified: ['Tue, 01 May 2018 21:50:38 GMT'] + date: ['Tue, 26 Jun 2018 23:14:19 GMT'] + etag: ['"0x8D5DBBA8B18FFD0"'] + last-modified: ['Tue, 26 Jun 2018 23:14:18 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-content-md5: [tc+p1sj+vWGPkawoQ9UKHA==] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:50:35 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:16 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 206, message: Partial Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:50:41 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:20 GMT'] x-ms-range: [bytes=10-499] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -459,17 +457,17 @@ interactions: content-length: ['490'] content-range: [bytes 10-499/4194304] content-type: [application/test-content] - date: ['Tue, 01 May 2018 21:50:41 GMT'] - etag: ['"0x8D5AFAD93C17DFB"'] - last-modified: ['Tue, 01 May 2018 21:50:38 GMT'] + date: ['Tue, 26 Jun 2018 23:14:20 GMT'] + etag: ['"0x8D5DBBA8B18FFD0"'] + last-modified: ['Tue, 26 Jun 2018 23:14:18 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-content-md5: [tc+p1sj+vWGPkawoQ9UKHA==] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:50:35 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:16 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 206, message: Partial Content} - request: body: null @@ -480,23 +478,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:50:42 GMT'] + date: ['Tue, 26 Jun 2018 23:14:21 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdFVVZXVUlTRUUyWlVQSTdQUUJPWVpFWEVYUE9GSVdJVlJQTnw3ODBEOTlGNjg5OEREQzc5LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdaT0lIRDZaU0dPNUNXT0FRVFVCUlRIN1RJSVY3N1MzUkNORXxFNDQ1RkJDRDY4NURFQUU3LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_upload_small_file.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_upload_small_file.yaml index 09bb3a15605..8f42e54aa60 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_upload_small_file.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_blob_upload_small_file.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:50:42Z"}}' + "date": "2018-06-26T23:14:22Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,55 +9,55 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:50:42Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:14:22Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:43 GMT'] + date: ['Tue, 26 Jun 2018 23:14:23 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:50:45 GMT'] + date: ['Tue, 26 Jun 2018 23:14:24 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/a3e66f58-ff0e-4387-9e2e-de3b957ff650?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/51c8eaa2-697e-41af-901f-d7ab2dc7b8b6?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/a3e66f58-ff0e-4387-9e2e-de3b957ff650?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/51c8eaa2-697e-41af-901f-d7ab2dc7b8b6?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:45.5284344Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:50:45.5284344Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:50:45.4346559Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:24.7454955Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:24.7454955Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:14:24.5892518Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:02 GMT'] + date: ['Tue, 26 Jun 2018 23:14:41 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"2mimZZUxn/JURj3ieoLKDLHvhOqq7YF+KiSObdcWZPpq6j95Bs+4quDv2VWy+IVb2L/mydR+7GwDEAV5z5n4SA==","permissions":"FULL"},{"keyName":"key2","value":"4haHUQSrifOctcUoGTnqmHGlstV78WSzvXT/iQ2XUOj9t1SmxXFZEepiDFABNa7BgJ+fDlWeSO/QEaZKWVet6w==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"QPQLfNyvKlyeZE07gRo9uEJHOc7MHy9zc6FHIAon5yaD8BsJ7AP5c/vez1g+KYZKTMao01N3+mt1JJbwh/KUhQ==","permissions":"FULL"},{"keyName":"key2","value":"J1Qn4Wj1c/TTtkG+E3yRnO743b8k3xzrs7i4tAKbiCiSyRiULmo0yhtofclhBo7rBtXxoLXNacBxNQgHHCm7HA==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:03 GMT'] + date: ['Tue, 26 Jun 2018 23:14:42 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"2mimZZUxn/JURj3ieoLKDLHvhOqq7YF+KiSObdcWZPpq6j95Bs+4quDv2VWy+IVb2L/mydR+7GwDEAV5z5n4SA==","permissions":"FULL"},{"keyName":"key2","value":"4haHUQSrifOctcUoGTnqmHGlstV78WSzvXT/iQ2XUOj9t1SmxXFZEepiDFABNa7BgJ+fDlWeSO/QEaZKWVet6w==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"QPQLfNyvKlyeZE07gRo9uEJHOc7MHy9zc6FHIAon5yaD8BsJ7AP5c/vez1g+KYZKTMao01N3+mt1JJbwh/KUhQ==","permissions":"FULL"},{"keyName":"key2","value":"J1Qn4Wj1c/TTtkG+E3yRnO743b8k3xzrs7i4tAKbiCiSyRiULmo0yhtofclhBo7rBtXxoLXNacBxNQgHHCm7HA==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:04 GMT'] + date: ['Tue, 26 Jun 2018 23:14:43 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,47 +146,47 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:04 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:44 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:51:04 GMT'] - etag: ['"0x8D5AFADA3A22AA1"'] - last-modified: ['Tue, 01 May 2018 21:51:05 GMT'] + date: ['Tue, 26 Jun 2018 23:14:44 GMT'] + etag: ['"0x8D5DBBA9A9D1C34"'] + last-modified: ['Tue, 26 Jun 2018 23:14:44 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:05 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:45 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:51:05 GMT'] + date: ['Tue, 26 Jun 2018 23:14:44 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-error-code: [BlobNotFound] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 404, message: The specified blob does not exist.} - request: body: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ @@ -221,33 +219,33 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['1024'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-type: [BlockBlob] - x-ms-date: ['Tue, 01 May 2018 21:51:05 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:14:45 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: body: {string: ''} headers: content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] - date: ['Tue, 01 May 2018 21:51:05 GMT'] - etag: ['"0x8D5AFADA4139239"'] - last-modified: ['Tue, 01 May 2018 21:51:05 GMT'] + date: ['Tue, 26 Jun 2018 23:14:45 GMT'] + etag: ['"0x8D5DBBA9B461A1A"'] + last-modified: ['Tue, 26 Jun 2018 23:14:45 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:06 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:45 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -257,51 +255,51 @@ interactions: content-length: ['1024'] content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:51:06 GMT'] - etag: ['"0x8D5AFADA4139239"'] - last-modified: ['Tue, 01 May 2018 21:51:05 GMT'] + date: ['Tue, 26 Jun 2018 23:14:45 GMT'] + etag: ['"0x8D5DBBA9B461A1A"'] + last-modified: ['Tue, 26 Jun 2018 23:14:45 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:51:05 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:45 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:06 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:46 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000004?restype=container&comp=list&maxresults=1 response: body: {string: "\uFEFF1blob000003Tue,\ - \ 01 May 2018 21:51:05 GMTTue, 01 May 2018\ - \ 21:51:05 GMT0x8D5AFADA41392391024application/octet-streamTue, 26 Jun 2018\ + \ 23:14:45 GMT0x8D5DBBA9B461A1A1024application/octet-streamDzQ7CTESaiDxM9Z8KwGKOw==BlockBlobunlockedavailabletrue"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:51:06 GMT'] + date: ['Tue, 26 Jun 2018 23:14:46 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:07 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:46 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -311,25 +309,25 @@ interactions: content-length: ['1024'] content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:51:07 GMT'] - etag: ['"0x8D5AFADA4139239"'] - last-modified: ['Tue, 01 May 2018 21:51:05 GMT'] + date: ['Tue, 26 Jun 2018 23:14:46 GMT'] + etag: ['"0x8D5DBBA9B461A1A"'] + last-modified: ['Tue, 26 Jun 2018 23:14:45 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:51:05 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:45 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:07 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:47 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -339,48 +337,48 @@ interactions: content-length: ['1024'] content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:51:07 GMT'] - etag: ['"0x8D5AFADA4139239"'] - last-modified: ['Tue, 01 May 2018 21:51:05 GMT'] + date: ['Tue, 26 Jun 2018 23:14:46 GMT'] + etag: ['"0x8D5DBBA9B461A1A"'] + last-modified: ['Tue, 26 Jun 2018 23:14:45 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:51:05 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:45 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-blob-content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] x-ms-blob-content-type: [application/test-content] - x-ms-date: ['Tue, 01 May 2018 21:51:07 GMT'] - x-ms-version: ['2017-11-09'] + x-ms-date: ['Tue, 26 Jun 2018 23:14:47 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003?comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:51:07 GMT'] - etag: ['"0x8D5AFADA5644442"'] - last-modified: ['Tue, 01 May 2018 21:51:08 GMT'] + date: ['Tue, 26 Jun 2018 23:14:47 GMT'] + etag: ['"0x8D5DBBA9C85E82B"'] + last-modified: ['Tue, 26 Jun 2018 23:14:47 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:08 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:48 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -390,25 +388,25 @@ interactions: content-length: ['1024'] content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] content-type: [application/test-content] - date: ['Tue, 01 May 2018 21:51:08 GMT'] - etag: ['"0x8D5AFADA5644442"'] - last-modified: ['Tue, 01 May 2018 21:51:08 GMT'] + date: ['Tue, 26 Jun 2018 23:14:47 GMT'] + etag: ['"0x8D5DBBA9C85E82B"'] + last-modified: ['Tue, 26 Jun 2018 23:14:47 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:51:05 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:45 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:08 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:48 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -416,20 +414,20 @@ interactions: \ />false"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:51:08 GMT'] + date: ['Tue, 26 Jun 2018 23:14:48 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:09 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:49 GMT'] x-ms-range: [bytes=0-33554431] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -466,27 +464,27 @@ interactions: content-length: ['1024'] content-range: [bytes 0-1023/1024] content-type: [application/test-content] - date: ['Tue, 01 May 2018 21:51:08 GMT'] - etag: ['"0x8D5AFADA5644442"'] - last-modified: ['Tue, 01 May 2018 21:51:08 GMT'] + date: ['Tue, 26 Jun 2018 23:14:49 GMT'] + etag: ['"0x8D5DBBA9C85E82B"'] + last-modified: ['Tue, 26 Jun 2018 23:14:47 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:51:05 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:45 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 206, message: Partial Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:51:09 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:14:49 GMT'] x-ms-range: [bytes=10-499] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000004/blob000003 response: @@ -509,17 +507,17 @@ interactions: content-length: ['490'] content-range: [bytes 10-499/1024] content-type: [application/test-content] - date: ['Tue, 01 May 2018 21:51:09 GMT'] - etag: ['"0x8D5AFADA5644442"'] - last-modified: ['Tue, 01 May 2018 21:51:08 GMT'] + date: ['Tue, 26 Jun 2018 23:14:49 GMT'] + etag: ['"0x8D5DBBA9C85E82B"'] + last-modified: ['Tue, 26 Jun 2018 23:14:47 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] x-ms-blob-content-md5: [DzQ7CTESaiDxM9Z8KwGKOw==] x-ms-blob-type: [BlockBlob] - x-ms-creation-time: ['Tue, 01 May 2018 21:51:05 GMT'] + x-ms-creation-time: ['Tue, 26 Jun 2018 23:14:45 GMT'] x-ms-lease-state: [available] x-ms-lease-status: [unlocked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 206, message: Partial Content} - request: body: null @@ -530,23 +528,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:51:09 GMT'] + date: ['Tue, 26 Jun 2018 23:14:50 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdZS1JHUzNaUFY3UE41SUFKS0lNNUZNRzVWS0o1SjVKMkRUUXxBNEYxNDk3QkEzRkE4NDg4LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdHTTRFQkhKMlhNR0tIWU4zNVI0QVNVWTdEUjRSNjdCVFo3UnxGOEU3OTQwRjEzNUNCNUIwLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_container_acl_scenarios.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_container_acl_scenarios.yaml index 4f5f4b5b364..33101f91f1f 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_container_acl_scenarios.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_container_acl_scenarios.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:45:23Z"}}' + "date": "2018-06-26T23:08:16Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,19 +9,19 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:45:23Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:16Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:24 GMT'] + date: ['Tue, 26 Jun 2018 23:08:18 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -30,28 +30,28 @@ interactions: status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:26 GMT'] + date: ['Tue, 26 Jun 2018 23:08:20 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/80f70c06-ac48-4d85-8e66-91f2b48f0f93?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/c038c7f8-2771-4304-907c-7bbbd1034a92?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/80f70c06-ac48-4d85-8e66-91f2b48f0f93?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/c038c7f8-2771-4304-907c-7bbbd1034a92?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:26.3557297Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:26.3557297Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:26.0744949Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.5699847Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:20.5699847Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:20.4230240Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:42 GMT'] + date: ['Tue, 26 Jun 2018 23:08:37 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"5DQL2KGZRDhCaj6aCM7nJXgWhouvokVB/HJJ8Jfqjv1eu4L49vaRPLk5v2r6ow251rrlMDsRxd127E+PtxlZOA==","permissions":"FULL"},{"keyName":"key2","value":"pngx0eu+HKX1JODUx870j4a6jc/Cy3o/LJ7GR9pS+pKJfxEqj4FZ7LwBrU8MWSlM047seum0bN4nKKJQ8xnD/A==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"hmktEU7hRyVlS750xHJVwIRg6VYd+VlIjuRw+RuBTEB7PpCv+avhFD6CSlDeMpoih+TbLbVoGP8g+X96NWDwNA==","permissions":"FULL"},{"keyName":"key2","value":"6AUYfiJpJj2NIBXT43lKlxZXwimjJgIoCbFS7hrJoycY7dWkuAaxufdR170xWLRESRHbm1dC/nWkydjuU2uiuQ==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:44 GMT'] + date: ['Tue, 26 Jun 2018 23:08:38 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"5DQL2KGZRDhCaj6aCM7nJXgWhouvokVB/HJJ8Jfqjv1eu4L49vaRPLk5v2r6ow251rrlMDsRxd127E+PtxlZOA==","permissions":"FULL"},{"keyName":"key2","value":"pngx0eu+HKX1JODUx870j4a6jc/Cy3o/LJ7GR9pS+pKJfxEqj4FZ7LwBrU8MWSlM047seum0bN4nKKJQ8xnD/A==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"hmktEU7hRyVlS750xHJVwIRg6VYd+VlIjuRw+RuBTEB7PpCv+avhFD6CSlDeMpoih+TbLbVoGP8g+X96NWDwNA==","permissions":"FULL"},{"keyName":"key2","value":"6AUYfiJpJj2NIBXT43lKlxZXwimjJgIoCbFS7hrJoycY7dWkuAaxufdR170xWLRESRHbm1dC/nWkydjuU2uiuQ==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:45 GMT'] + date: ['Tue, 26 Jun 2018 23:08:39 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -155,30 +153,30 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:45 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:40 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:45 GMT'] - etag: ['"0x8D5AFACE55529E7"'] - last-modified: ['Tue, 01 May 2018 21:45:45 GMT'] + date: ['Tue, 26 Jun 2018 23:08:40 GMT'] + etag: ['"0x8D5DBB9C1A0D7E5"'] + last-modified: ['Tue, 26 Jun 2018 23:08:40 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:46 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:40 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: @@ -186,34 +184,35 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:46 GMT'] - etag: ['"0x8D5AFACE55529E7"'] - last-modified: ['Tue, 01 May 2018 21:45:45 GMT'] + date: ['Tue, 26 Jun 2018 23:08:40 GMT'] + etag: ['"0x8D5DBB9C1A0D7E5"'] + last-modified: ['Tue, 26 Jun 2018 23:08:40 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:46 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:41 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFF"} headers: + connection: [close] content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:45 GMT'] - etag: ['"0x8D5AFACE55529E7"'] - last-modified: ['Tue, 01 May 2018 21:45:45 GMT'] + date: ['Tue, 26 Jun 2018 23:08:41 GMT'] + etag: ['"0x8D5DBB9C1A0D7E5"'] + last-modified: ['Tue, 26 Jun 2018 23:08:40 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -222,42 +221,42 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['184'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:46 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:41 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:45 GMT'] - etag: ['"0x8D5AFACE5C4F7B7"'] - last-modified: ['Tue, 01 May 2018 21:45:46 GMT'] + date: ['Tue, 26 Jun 2018 23:08:41 GMT'] + etag: ['"0x8D5DBB9C271D2C1"'] + last-modified: ['Tue, 26 Jun 2018 23:08:42 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:46 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1l"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:46 GMT'] - etag: ['"0x8D5AFACE5C4F7B7"'] - last-modified: ['Tue, 01 May 2018 21:45:46 GMT'] + date: ['Tue, 26 Jun 2018 23:08:41 GMT'] + etag: ['"0x8D5DBB9C271D2C1"'] + last-modified: ['Tue, 26 Jun 2018 23:08:42 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -266,42 +265,42 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['296'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:47 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:46 GMT'] - etag: ['"0x8D5AFACE5FE617E"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:41 GMT'] + etag: ['"0x8D5DBB9C2AC7578"'] + last-modified: ['Tue, 26 Jun 2018 23:08:42 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:47 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Z"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:47 GMT'] - etag: ['"0x8D5AFACE5FE617E"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + etag: ['"0x8D5DBB9C2AC7578"'] + last-modified: ['Tue, 26 Jun 2018 23:08:42 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -310,42 +309,42 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['413'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:47 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:47 GMT'] - etag: ['"0x8D5AFACE6327329"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + etag: ['"0x8D5DBB9C2E8ED37"'] + last-modified: ['Tue, 26 Jun 2018 23:08:42 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:47 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Z"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:47 GMT'] - etag: ['"0x8D5AFACE6327329"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + etag: ['"0x8D5DBB9C2E8ED37"'] + last-modified: ['Tue, 26 Jun 2018 23:08:42 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -354,147 +353,147 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['591'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:47 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:47 GMT'] - etag: ['"0x8D5AFACE6713515"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] + etag: ['"0x8D5DBB9C3276123"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:47 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:48 GMT'] - etag: ['"0x8D5AFACE6713515"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + etag: ['"0x8D5DBB9C3276123"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:48 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:48 GMT'] - etag: ['"0x8D5AFACE6713515"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + etag: ['"0x8D5DBB9C3276123"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:48 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:48 GMT'] - etag: ['"0x8D5AFACE6713515"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + etag: ['"0x8D5DBB9C3276123"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:48 GMT'] - etag: ['"0x8D5AFACE6713515"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + etag: ['"0x8D5DBB9C3276123"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:49 GMT'] - etag: ['"0x8D5AFACE6713515"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + etag: ['"0x8D5DBB9C3276123"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:49 GMT'] - etag: ['"0x8D5AFACE6713515"'] - last-modified: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + etag: ['"0x8D5DBB9C3276123"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -503,63 +502,63 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['597'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:49 GMT'] - etag: ['"0x8D5AFACE7BF9BF0"'] - last-modified: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + etag: ['"0x8D5DBB9C4679570"'] + last-modified: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:50 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1rtest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:50 GMT'] - etag: ['"0x8D5AFACE7BF9BF0"'] - last-modified: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: ['"0x8D5DBB9C4679570"'] + last-modified: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:50 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest1rtest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:50 GMT'] - etag: ['"0x8D5AFACE7BF9BF0"'] - last-modified: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: ['"0x8D5DBB9C4679570"'] + last-modified: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -568,42 +567,42 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['491'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:50 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:50 GMT'] - etag: ['"0x8D5AFACE83D1FCD"'] - last-modified: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: ['"0x8D5DBB9C4DA904D"'] + last-modified: ['Tue, 26 Jun 2018 23:08:46 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:51 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/cont000003?restype=container&comp=acl response: body: {string: "\uFEFFtest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:50 GMT'] - etag: ['"0x8D5AFACE83D1FCD"'] - last-modified: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: ['"0x8D5DBB9C4DA904D"'] + last-modified: ['Tue, 26 Jun 2018 23:08:46 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -614,23 +613,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:51 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdJNVUyRldCUFFJNktDNllPMk9EWVNHRzJaSEtEN0hURVlTQ3xDMDZDRjhCODZGRTE2QzRFLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdUUEZVNVdEQlE1Q1NHSUNRNUtWSldRSTdBV01EWVRGQTdBS3xFOEQwODVBQTUyNTA5M0IwLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_cors_scenario.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_cors_scenario.yaml index 2ae36375192..cb3e73e923d 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_cors_scenario.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_cors_scenario.yaml @@ -1,63 +1,63 @@ interactions: - request: - body: '{"location": "eastus2", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T23:41:14Z"}}' + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-06-26T23:08:19Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [group create] Connection: [keep-alive] - Content-Length: ['111'] + Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T23:41:14Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:19Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] - content-length: ['385'] + content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 23:41:16 GMT'] + date: ['Tue, 26 Jun 2018 23:08:21 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: - body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "eastus2", - "properties": {"supportsHttpsTrafficOnly": false}}' + body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['126'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 23:41:17 GMT'] + date: ['Tue, 26 Jun 2018 23:08:24 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/0bd47cbe-aad5-4127-bd83-2d324c4114ec?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/fa138315-e7fc-4648-98f5-e17c0e0424b1?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/0bd47cbe-aad5-4127-bd83-2d324c4114ec?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/fa138315-e7fc-4648-98f5-e17c0e0424b1?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T23:41:18.5011159Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T23:41:18.5011159Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T23:41:18.4229399Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.4370924Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.4370924Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:22.9683845Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1233'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 23:41:35 GMT'] + date: ['Tue, 26 Jun 2018 23:08:40 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"HU0B1htVX7z5kftKvW2TmA6EX+E2Mhl8cGPG9HK1YU+tk1GfQoXsMZ9wZjTangh0ZhBTPvIq1yp2KcHqa/g3sA==","permissions":"FULL"},{"keyName":"key2","value":"skIKw3viQeZb+jr/4GGAivbeUVu+0atWwiPCICU4TZ1Y52ScQmheJpYNQwdMHjiqm6kYm/IbjKxc/95sCWwoeA==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"LSaQjDKxGW8iYSKPROLPitNClCjSUX69BF5tOZ/x5ON4uC5U7Q26WKBWB8Se8cu209yEgZAprN1cL91vox6+aQ==","permissions":"FULL"},{"keyName":"key2","value":"U04jV5Igi5Rh/cbzR2/EvVauevcUOWT6124yTo2tFWF+GQd5hbbLfJ5rbvGL1cD5ZidmWNBHAIDppUE+4+y0Rg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 23:41:36 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"HU0B1htVX7z5kftKvW2TmA6EX+E2Mhl8cGPG9HK1YU+tk1GfQoXsMZ9wZjTangh0ZhBTPvIq1yp2KcHqa/g3sA==","permissions":"FULL"},{"keyName":"key2","value":"skIKw3viQeZb+jr/4GGAivbeUVu+0atWwiPCICU4TZ1Y52ScQmheJpYNQwdMHjiqm6kYm/IbjKxc/95sCWwoeA==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"LSaQjDKxGW8iYSKPROLPitNClCjSUX69BF5tOZ/x5ON4uC5U7Q26WKBWB8Se8cu209yEgZAprN1cL91vox6+aQ==","permissions":"FULL"},{"keyName":"key2","value":"U04jV5Igi5Rh/cbzR2/EvVauevcUOWT6124yTo2tFWF+GQd5hbbLfJ5rbvGL1cD5ZidmWNBHAIDppUE+4+y0Rg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 23:41:37 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -156,8 +154,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:38 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/?restype=service&comp=properties @@ -166,7 +164,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:38 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -175,10 +173,10 @@ interactions: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:38 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: @@ -186,19 +184,19 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:38 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:39 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -206,19 +204,19 @@ interactions: \ />false"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:39 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:39 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: @@ -227,19 +225,19 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:39 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:40 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: @@ -247,10 +245,10 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:39 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -260,28 +258,28 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['287'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:40 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 23:41:40 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:40 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -289,10 +287,10 @@ interactions: \ />false"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:40 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -302,28 +300,28 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['287'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:41 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 23:41:41 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:41 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: @@ -332,10 +330,10 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:41 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -345,19 +343,19 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['287'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:41 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 23:41:42 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null @@ -365,8 +363,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:42 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/?restype=service&comp=properties @@ -375,7 +373,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:42 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -384,10 +382,10 @@ interactions: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:42 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: @@ -395,20 +393,20 @@ interactions: \ />60"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:42 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] vary: [Origin] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:43 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -416,20 +414,20 @@ interactions: \ />60false"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:42 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] vary: [Origin] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:43 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:48 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: @@ -438,11 +436,11 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:43 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] vary: [Origin] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -451,19 +449,19 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['100'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:44 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:48 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 23:41:44 GMT'] + date: ['Tue, 26 Jun 2018 23:08:48 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: ' @@ -472,19 +470,19 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['100'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:44 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:49 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 23:41:44 GMT'] + date: ['Tue, 26 Jun 2018 23:08:48 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null @@ -492,8 +490,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:45 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:49 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/?restype=service&comp=properties @@ -502,7 +500,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:45 GMT'] + date: ['Tue, 26 Jun 2018 23:08:49 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -511,10 +509,10 @@ interactions: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:45 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:49 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: @@ -522,19 +520,19 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:46 GMT'] + date: ['Tue, 26 Jun 2018 23:08:49 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:46 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:49 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -542,19 +540,19 @@ interactions: \ />false"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:45 GMT'] + date: ['Tue, 26 Jun 2018 23:08:50 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:46 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:50 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: @@ -563,11 +561,11 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:46 GMT'] + date: ['Tue, 26 Jun 2018 23:08:50 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] vary: [Origin] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -576,19 +574,19 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['100'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:46 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:50 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 23:41:46 GMT'] + date: ['Tue, 26 Jun 2018 23:08:50 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: ' @@ -597,19 +595,19 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['100'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:47 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:51 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 23:41:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:51 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: ' @@ -618,19 +616,19 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['100'] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:47 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:51 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 23:41:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:51 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null @@ -638,8 +636,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:48 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:52 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/?restype=service&comp=properties @@ -648,7 +646,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:51 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -657,10 +655,10 @@ interactions: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:48 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:52 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/?restype=service&comp=properties response: @@ -668,19 +666,19 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:49 GMT'] + date: ['Tue, 26 Jun 2018 23:08:51 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:49 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:52 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -688,19 +686,19 @@ interactions: \ />false"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:52 GMT'] + date: ['Tue, 26 Jun 2018 23:08:51 GMT'] server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.2.0rc0 (Python CPython 3.6.2; Windows - 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 23:41:52 GMT'] - x-ms-version: ['2017-11-09'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:52 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/?restype=service&comp=properties response: @@ -709,10 +707,10 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Tue, 01 May 2018 23:41:52 GMT'] + date: ['Tue, 26 Jun 2018 23:08:52 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-11-09'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -723,23 +721,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 23:41:54 GMT'] + date: ['Tue, 26 Jun 2018 23:08:53 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdTQklaRUlNUE83RENONEFDNDJXTFdGWURRRjdJN0tMWUFBN3w1NUE2MUJFMDIyRDlDMzlGLUVBU1RVUzIiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czIifQ?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdPVlpESkJFNkxLR0dWVERZVEhWV0lNQUVHUkYySDdTVklKQXw3NzFFMDU4MEU0NEM2QTJFLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_create_default_sku.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_create_default_sku.yaml index 201fb0fd303..c4ec13cb00b 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_create_default_sku.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_create_default_sku.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause": - "automation", "date": "2018-05-01T21:51:22Z"}}' + "automation", "date": "2018-06-26T23:14:25Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,24 +9,24 @@ interactions: Connection: [keep-alive] Content-Length: ['118'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:51:22Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:14:25Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['392'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:23 GMT'] + date: ['Tue, 26 Jun 2018 23:14:27 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1193'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: null @@ -36,19 +36,19 @@ interactions: CommandName: [storage account create] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:51:22Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:14:25Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['392'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:23 GMT'] + date: ['Tue, 26 Jun 2018 23:14:27 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -57,34 +57,34 @@ interactions: status: {code: 200, message: OK} - request: body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "Storage", "location": "southcentralus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['135'] + Content-Length: ['158'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:24 GMT'] + date: ['Tue, 26 Jun 2018 23:14:29 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/2ea9ca23-94ff-470b-849f-ecad61d99f0b?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/25ac1105-a1fd-4246-85dc-70e31af8efcb?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1194'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 202, message: Accepted} - request: body: null @@ -93,19 +93,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/2ea9ca23-94ff-470b-849f-ecad61d99f0b?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/25ac1105-a1fd-4246-85dc-70e31af8efcb?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:51:25.4792706Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:51:25.4792706Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:51:25.4167294Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available","secondaryLocation":"northcentralus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://cli000002-secondary.blob.core.windows.net/","queue":"https://cli000002-secondary.queue.core.windows.net/","table":"https://cli000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:29.8147689Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:29.8147689Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:14:29.7210162Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available","secondaryLocation":"northcentralus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://cli000002-secondary.blob.core.windows.net/","queue":"https://cli000002-secondary.queue.core.windows.net/","table":"https://cli000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1570'] + content-length: ['1591'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:51:42 GMT'] + date: ['Tue, 26 Jun 2018 23:14:47 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -124,23 +122,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:51:44 GMT'] + date: ['Tue, 26 Jun 2018 23:14:48 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdQRjMyTEJTM0NFUkNYWDdFQ0JNQzNCUDUzUlhOVlZVSU1QS3xFMkUwRDI5MTU2QzA0REZDLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdVTFdXUzNGNEVGRkEyTVhTT1FDQ1haSklZVlZLNUxQNzRWRnwzNDA3MDgzN0NBMTVENTI3LVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_copy_scenario.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_copy_scenario.yaml index b828a3ebf37..4c34d9727dc 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_copy_scenario.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_copy_scenario.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:45:26Z"}}' + "date": "2018-06-26T23:08:20Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,49 +9,49 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:45:26Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:20Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:27 GMT'] + date: ['Tue, 26 Jun 2018 23:08:22 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:29 GMT'] + date: ['Tue, 26 Jun 2018 23:08:23 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/bd2cb830-881a-4637-84c2-2e384c7ef451?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/3147a5f0-50f1-4a9c-a9e7-f31f5d674bb7?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/bd2cb830-881a-4637-84c2-2e384c7ef451?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/3147a5f0-50f1-4a9c-a9e7-f31f5d674bb7?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:29.0276324Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:29.0276324Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:28.8244943Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.6870948Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:23.6870948Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:23.4683407Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:45 GMT'] + date: ['Tue, 26 Jun 2018 23:08:41 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"Fe/E096AuLFd1EMAzXijduK7WC7HM5k9eYCc7NZmuVXiKf7rFZsetSlek46eL/VTxUG8AKWswK4KJfqPTtg1Nw==","permissions":"FULL"},{"keyName":"key2","value":"1p6p85c4Jtt7vU+I4URMjrWQtY3WWDWygLomej1cm/Yj43mdfwIZAUGtgv203IDvusAHe9dvsxSwxD8fUKcS8A==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"EbGMud7WfX8nyRnGepU/76VC4bnaTyTS1s/VnZJX3y6XB8TvL7VoOcmEs6z9HhB1aoDQ5nbRIlxj6SEKiJHBQg==","permissions":"FULL"},{"keyName":"key2","value":"I42PLDbfNXXCsjDyxSvp9TW47F6TaIMj/oPf4iwqk285LkOWwuZ1YAxKvOh1iszWiFxkK1WCFd7pIRll1kePCg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"Fe/E096AuLFd1EMAzXijduK7WC7HM5k9eYCc7NZmuVXiKf7rFZsetSlek46eL/VTxUG8AKWswK4KJfqPTtg1Nw==","permissions":"FULL"},{"keyName":"key2","value":"1p6p85c4Jtt7vU+I4URMjrWQtY3WWDWygLomej1cm/Yj43mdfwIZAUGtgv203IDvusAHe9dvsxSwxD8fUKcS8A==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"EbGMud7WfX8nyRnGepU/76VC4bnaTyTS1s/VnZJX3y6XB8TvL7VoOcmEs6z9HhB1aoDQ5nbRIlxj6SEKiJHBQg==","permissions":"FULL"},{"keyName":"key2","value":"I42PLDbfNXXCsjDyxSvp9TW47F6TaIMj/oPf4iwqk285LkOWwuZ1YAxKvOh1iszWiFxkK1WCFd7pIRll1kePCg==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:47 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,117 +146,117 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:48 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:48 GMT'] - etag: ['"0x8D5AFACE725A5B2"'] - last-modified: ['Tue, 01 May 2018 21:45:49 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + etag: ['"0x8D5DBB9C396927C"'] + last-modified: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000004?restype=share response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:48 GMT'] - etag: ['"0x8D5AFACE7628DDA"'] - last-modified: ['Tue, 01 May 2018 21:45:49 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + etag: ['"0x8D5DBB9C3C3EC62"'] + last-modified: ['Tue, 26 Jun 2018 23:08:44 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/dir1?restype=directory response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:49 GMT'] - etag: ['"0x8D5AFACE79417FC"'] - last-modified: ['Tue, 01 May 2018 21:45:49 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] + etag: ['"0x8D5DBB9C40480A4"'] + last-modified: ['Tue, 26 Jun 2018 23:08:44 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:49 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000004/dir2?restype=directory response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:49 GMT'] - etag: ['"0x8D5AFACE7DACAC5"'] - last-modified: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + etag: ['"0x8D5DBB9C439321F"'] + last-modified: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-content-length: ['524288'] - x-ms-date: ['Tue, 01 May 2018 21:45:50 GMT'] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] x-ms-type: [file] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/dir1/source_file.txt response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:50 GMT'] - etag: ['"0x8D5AFACE8372C55"'] - last-modified: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: ['"0x8D5DBB9C47426B6"'] + last-modified: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: '!!! The request body has been omitted from the recording because its size @@ -266,11 +264,11 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['524288'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:50 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] x-ms-range: [bytes=0-524287] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] x-ms-write: [update] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/dir1/source_file.txt?comp=range @@ -278,22 +276,22 @@ interactions: body: {string: ''} headers: content-md5: [WQcVkAmdId1DmJZZIzi/lQ==] - date: ['Tue, 01 May 2018 21:45:50 GMT'] - etag: ['"0x8D5AFACE8523356"'] - last-modified: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: ['"0x8D5DBB9C49412A7"'] + last-modified: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:51 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000003/dir1/source_file.txt response: @@ -301,46 +299,46 @@ interactions: headers: content-length: ['524288'] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:45:50 GMT'] - etag: ['"0x8D5AFACE8523356"'] - last-modified: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: ['"0x8D5DBB9C49412A7"'] + last-modified: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-server-encrypted: ['true'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-copy-source: ['https://clitestmkl7mkwejyngxmxpm.file.core.windows.net/shareyna7cyahtxr2rinh26g/dir1/source_file.txt'] - x-ms-date: ['Tue, 01 May 2018 21:45:51 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-copy-source: ['https://clitestjezer5fwyu734osvc.file.core.windows.net/sharenxrjar6nkuebinxtqgx/dir1/source_file.txt'] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000004/dir2/destination_file.txt response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:52 GMT'] - etag: ['"0x8D5AFACE920F344"'] - last-modified: ['Tue, 01 May 2018 21:45:52 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + etag: ['"0x8D5DBB9C531B1CE"'] + last-modified: ['Tue, 26 Jun 2018 23:08:46 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-copy-id: [601d8f07-18e3-4b8c-b460-532a978f41e0] + x-ms-copy-id: [8507612e-48fe-4b7f-9df0-f584f37c719e] x-ms-copy-status: [success] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:52 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000004/dir2/destination_file.txt response: @@ -348,51 +346,51 @@ interactions: headers: content-length: ['524288'] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:45:52 GMT'] - etag: ['"0x8D5AFACE920F344"'] - last-modified: ['Tue, 01 May 2018 21:45:52 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + etag: ['"0x8D5DBB9C531B1CE"'] + last-modified: ['Tue, 26 Jun 2018 23:08:46 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] - x-ms-copy-completion-time: ['Tue, 01 May 2018 21:45:52 GMT'] - x-ms-copy-id: [601d8f07-18e3-4b8c-b460-532a978f41e0] + x-ms-copy-completion-time: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-copy-id: [8507612e-48fe-4b7f-9df0-f584f37c719e] x-ms-copy-progress: [524288/524288] - x-ms-copy-source: ['https://clitestmkl7mkwejyngxmxpm.file.core.windows.net/shareyna7cyahtxr2rinh26g/dir1/source_file.txt'] + x-ms-copy-source: ['https://clitestjezer5fwyu734osvc.file.core.windows.net/sharenxrjar6nkuebinxtqgx/dir1/source_file.txt'] x-ms-copy-status: [success] x-ms-server-encrypted: ['true'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-copy-source: ['https://clitestmkl7mkwejyngxmxpm.file.core.windows.net/shareyna7cyahtxr2rinh26g/dir1/source_file.txt'] - x-ms-date: ['Tue, 01 May 2018 21:45:52 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-copy-source: ['https://clitestjezer5fwyu734osvc.file.core.windows.net/sharenxrjar6nkuebinxtqgx/dir1/source_file.txt'] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000004/dir2/destination_file.txt response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:52 GMT'] - etag: ['"0x8D5AFACE994FFD7"'] - last-modified: ['Tue, 01 May 2018 21:45:53 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + etag: ['"0x8D5DBB9C5A81047"'] + last-modified: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-copy-id: [827d179d-e3bd-4800-b313-7fb4140df5af] + x-ms-copy-id: [e90bde23-5d28-4530-85a5-cabf4c6d0d27] x-ms-copy-status: [success] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:53 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000004/dir2/destination_file.txt response: @@ -400,42 +398,42 @@ interactions: headers: content-length: ['524288'] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:45:52 GMT'] - etag: ['"0x8D5AFACE994FFD7"'] - last-modified: ['Tue, 01 May 2018 21:45:53 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + etag: ['"0x8D5DBB9C5A81047"'] + last-modified: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] - x-ms-copy-completion-time: ['Tue, 01 May 2018 21:45:53 GMT'] - x-ms-copy-id: [827d179d-e3bd-4800-b313-7fb4140df5af] + x-ms-copy-completion-time: ['Tue, 26 Jun 2018 23:08:47 GMT'] + x-ms-copy-id: [e90bde23-5d28-4530-85a5-cabf4c6d0d27] x-ms-copy-progress: [524288/524288] - x-ms-copy-source: ['https://clitestmkl7mkwejyngxmxpm.file.core.windows.net/shareyna7cyahtxr2rinh26g/dir1/source_file.txt'] + x-ms-copy-source: ['https://clitestjezer5fwyu734osvc.file.core.windows.net/sharenxrjar6nkuebinxtqgx/dir1/source_file.txt'] x-ms-copy-status: [success] x-ms-server-encrypted: ['true'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-copy-source: ['https://clitestmkl7mkwejyngxmxpm.file.core.windows.net/shareyna7cyahtxr2rinh26g/dir1%5Csource_file.txt'] - x-ms-date: ['Tue, 01 May 2018 21:45:53 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-copy-source: ['https://clitestjezer5fwyu734osvc.file.core.windows.net/sharenxrjar6nkuebinxtqgx/dir1%5Csource_file.txt'] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000004/dir2/destination_file.txt response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:45:53 GMT'] - etag: ['"0x8D5AFACE9F580DF"'] - last-modified: ['Tue, 01 May 2018 21:45:53 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + etag: ['"0x8D5DBB9C6475D8E"'] + last-modified: ['Tue, 26 Jun 2018 23:08:48 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-copy-id: [f684c650-cf44-4956-82ce-5db74c2bf490] + x-ms-copy-id: [a2d7cc8d-f707-4298-8ec8-041a3fb09c37] x-ms-copy-status: [success] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null @@ -446,23 +444,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:54 GMT'] + date: ['Tue, 26 Jun 2018 23:08:49 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdWWFpVVUkzUU5ZQjNaQUI1VklWN0E2QlhHSU1YWjRLNElaNHwwMjFGMUNBNjk4NkE2RUQ1LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdTQk9HR1czUUNVVlU3WlpZNkFFSkhWV0NEQjZPUEkzQzdYM3wwNUFFMjU3RjdGQTA2MUE3LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_main_scenario.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_main_scenario.yaml index 71f184bd169..8ab150ecc8b 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_main_scenario.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_main_scenario.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:45:54Z"}}' + "date": "2018-06-26T23:08:49Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,49 +9,49 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:45:54Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:49Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:54 GMT'] + date: ['Tue, 26 Jun 2018 23:08:50 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:55 GMT'] + date: ['Tue, 26 Jun 2018 23:08:51 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/f3763a77-bcd8-4c3d-a7ee-d5f877796408?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/3fd54ec4-13df-4d80-bd64-53dce9c40992?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/f3763a77-bcd8-4c3d-a7ee-d5f877796408?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/3fd54ec4-13df-4d80-bd64-53dce9c40992?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:56.3092305Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:56.3092305Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:56.1373257Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:51.5908479Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:51.5908479Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:51.4345727Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:12 GMT'] + date: ['Tue, 26 Jun 2018 23:09:08 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"Krg2dym2VgbL8W0f3/h6/tf/fDpW8KTtXFkWoajTbzwiBXnIJ88JzZQpMPqCYArRBwkS3nY9L1qGd38HYmXVgA==","permissions":"FULL"},{"keyName":"key2","value":"tmqcWdPZpw6i9kSzsejkceWBJVBuvQ41DkojSGq8q8GO2ns2oMTIHe373wyVxydtioX1yZa3q/thL+6RnG85Ow==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"19WHVglsVVW02qsDhWAJ4Wi6JCdGB2GKC3frXxotsHN4gckMZflbEGhk8Xm9hGSGK0gYLyiWsWiRV30ck6AlMA==","permissions":"FULL"},{"keyName":"key2","value":"fGgM8gUMb8aSPU5Bnma95K6DhCr6NYoJUowtcx9XZ6TofTAUBw68tEa+q48YCS9+uFVqR1u9mOxO7jQtcoQFcw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:14 GMT'] + date: ['Tue, 26 Jun 2018 23:09:09 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -117,7 +115,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"Krg2dym2VgbL8W0f3/h6/tf/fDpW8KTtXFkWoajTbzwiBXnIJ88JzZQpMPqCYArRBwkS3nY9L1qGd38HYmXVgA==","permissions":"FULL"},{"keyName":"key2","value":"tmqcWdPZpw6i9kSzsejkceWBJVBuvQ41DkojSGq8q8GO2ns2oMTIHe373wyVxydtioX1yZa3q/thL+6RnG85Ow==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"19WHVglsVVW02qsDhWAJ4Wi6JCdGB2GKC3frXxotsHN4gckMZflbEGhk8Xm9hGSGK0gYLyiWsWiRV30ck6AlMA==","permissions":"FULL"},{"keyName":"key2","value":"fGgM8gUMb8aSPU5Bnma95K6DhCr6NYoJUowtcx9XZ6TofTAUBw68tEa+q48YCS9+uFVqR1u9mOxO7jQtcoQFcw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:10 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -155,263 +153,267 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:15 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:15 GMT'] - etag: ['"0x8D5AFACF735FDAA"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + etag: ['"0x8D5DBB9D48E5AF7"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:16 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:13 GMT'] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000004?restype=share response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:15 GMT'] - etag: ['"0x8D5AFACF76CBAB9"'] - last-modified: ['Tue, 01 May 2018 21:46:16 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D502D32A"'] + last-modified: ['Tue, 26 Jun 2018 23:09:13 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:16 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:16 GMT'] - etag: ['"0x8D5AFACF735FDAA"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D48E5AF7"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] + x-ms-has-immutability-policy: ['false'] + x-ms-has-legal-hold: ['false'] x-ms-share-quota: ['5120'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:16 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000004?restype=share&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:16 GMT'] - etag: ['"0x8D5AFACF76CBAB9"'] - last-modified: ['Tue, 01 May 2018 21:46:16 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D502D32A"'] + last-modified: ['Tue, 26 Jun 2018 23:09:13 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:17 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:14 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/?comp=list response: body: {string: "\uFEFFshare000004Tue,\ - \ 01 May 2018 21:46:16 GMT\"0x8D5AFACF76CBAB9\"5120share000003Tue,\ - \ 01 May 2018 21:46:15 GMT\"0x8D5AFACF735FDAA\"5120share000003Tue,\ + \ 26 Jun 2018 23:09:12 GMT\"0x8D5DBB9D48E5AF7\"5120share000004Tue,\ + \ 26 Jun 2018 23:09:13 GMT\"0x8D5DBB9D502D32A\"5120"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:16 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:17 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:14 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:17 GMT'] - etag: ['"0x8D5AFACF851B80F"'] - last-modified: ['Tue, 01 May 2018 21:46:17 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D5F06BAE"'] + last-modified: ['Tue, 26 Jun 2018 23:09:14 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:18 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:14 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:17 GMT'] - etag: ['"0x8D5AFACF851B80F"'] - last-modified: ['Tue, 01 May 2018 21:46:17 GMT'] + date: ['Tue, 26 Jun 2018 23:09:14 GMT'] + etag: ['"0x8D5DBB9D5F06BAE"'] + last-modified: ['Tue, 26 Jun 2018 23:09:14 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:18 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:18 GMT'] - etag: ['"0x8D5AFACF8C7EF15"'] - last-modified: ['Tue, 01 May 2018 21:46:18 GMT'] + date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + etag: ['"0x8D5DBB9D68B4BD8"'] + last-modified: ['Tue, 26 Jun 2018 23:09:15 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:18 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:18 GMT'] - etag: ['"0x8D5AFACF8C7EF15"'] - last-modified: ['Tue, 01 May 2018 21:46:18 GMT'] + date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + etag: ['"0x8D5DBB9D68B4BD8"'] + last-modified: ['Tue, 26 Jun 2018 23:09:15 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:19 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:16 GMT'] x-ms-share-quota: ['3'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:18 GMT'] - etag: ['"0x8D5AFACF931A01C"'] - last-modified: ['Tue, 01 May 2018 21:46:19 GMT'] + date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + etag: ['"0x8D5DBB9D71D7743"'] + last-modified: ['Tue, 26 Jun 2018 23:09:16 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:19 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:18 GMT'] - etag: ['"0x8D5AFACF931A01C"'] - last-modified: ['Tue, 01 May 2018 21:46:19 GMT'] + date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + etag: ['"0x8D5DBB9D71D7743"'] + last-modified: ['Tue, 26 Jun 2018 23:09:16 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] + x-ms-has-immutability-policy: ['false'] + x-ms-has-legal-hold: ['false'] x-ms-share-quota: ['3'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-content-length: ['131072'] - x-ms-date: ['Tue, 01 May 2018 21:46:19 GMT'] + x-ms-date: ['Tue, 26 Jun 2018 23:09:17 GMT'] x-ms-type: [file] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:19 GMT'] - etag: ['"0x8D5AFACF9C0746C"'] - last-modified: ['Tue, 01 May 2018 21:46:20 GMT'] + date: ['Tue, 26 Jun 2018 23:09:17 GMT'] + etag: ['"0x8D5DBB9D7B401F3"'] + last-modified: ['Tue, 26 Jun 2018 23:09:17 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ @@ -3867,11 +3869,11 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['131072'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:20 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:17 GMT'] x-ms-range: [bytes=0-131071] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] x-ms-write: [update] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin?comp=range @@ -3879,22 +3881,22 @@ interactions: body: {string: ''} headers: content-md5: [DfvoqkwgtS4bi/PLbL3xkw==] - date: ['Tue, 01 May 2018 21:46:19 GMT'] - etag: ['"0x8D5AFACF9D9F5F5"'] - last-modified: ['Tue, 01 May 2018 21:46:20 GMT'] + date: ['Tue, 26 Jun 2018 23:09:17 GMT'] + etag: ['"0x8D5DBB9D7D1F18B"'] + last-modified: ['Tue, 26 Jun 2018 23:09:17 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:20 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:18 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin response: @@ -3902,23 +3904,23 @@ interactions: headers: content-length: ['131072'] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:46:19 GMT'] - etag: ['"0x8D5AFACF9D9F5F5"'] - last-modified: ['Tue, 01 May 2018 21:46:20 GMT'] + date: ['Tue, 26 Jun 2018 23:09:17 GMT'] + etag: ['"0x8D5DBB9D7D1F18B"'] + last-modified: ['Tue, 26 Jun 2018 23:09:17 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-server-encrypted: ['true'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:20 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:18 GMT'] x-ms-range: [bytes=0-33554431] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin response: @@ -7470,23 +7472,23 @@ interactions: content-length: ['131072'] content-range: [bytes 0-131071/131072] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:46:20 GMT'] - etag: ['"0x8D5AFACF9D9F5F5"'] - last-modified: ['Tue, 01 May 2018 21:46:20 GMT'] + date: ['Tue, 26 Jun 2018 23:09:18 GMT'] + etag: ['"0x8D5DBB9D7D1F18B"'] + last-modified: ['Tue, 26 Jun 2018 23:09:17 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-server-encrypted: ['true'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 206, message: Partial Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:21 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:19 GMT'] x-ms-range: [bytes=0-511] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin response: @@ -7509,45 +7511,45 @@ interactions: content-length: ['512'] content-range: [bytes 0-511/131072] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:46:20 GMT'] - etag: ['"0x8D5AFACF9D9F5F5"'] - last-modified: ['Tue, 01 May 2018 21:46:20 GMT'] + date: ['Tue, 26 Jun 2018 23:09:18 GMT'] + etag: ['"0x8D5DBB9D7D1F18B"'] + last-modified: ['Tue, 26 Jun 2018 23:09:17 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-server-encrypted: ['true'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 206, message: Partial Content} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-content-length: ['1234'] - x-ms-date: ['Tue, 01 May 2018 21:46:21 GMT'] - x-ms-version: ['2017-07-29'] + x-ms-date: ['Tue, 26 Jun 2018 23:09:19 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin?comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:20 GMT'] - etag: ['"0x8D5AFACFABE720B"'] - last-modified: ['Tue, 01 May 2018 21:46:21 GMT'] + date: ['Tue, 26 Jun 2018 23:09:18 GMT'] + etag: ['"0x8D5DBB9D8D5BE96"'] + last-modified: ['Tue, 26 Jun 2018 23:09:19 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:22 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:19 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin response: @@ -7555,110 +7557,110 @@ interactions: headers: content-length: ['1234'] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:46:21 GMT'] - etag: ['"0x8D5AFACFABE720B"'] - last-modified: ['Tue, 01 May 2018 21:46:21 GMT'] + date: ['Tue, 26 Jun 2018 23:09:19 GMT'] + etag: ['"0x8D5DBB9D8D5BE96"'] + last-modified: ['Tue, 26 Jun 2018 23:09:19 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-server-encrypted: ['true'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:22 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:20 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin?comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:22 GMT'] - etag: ['"0x8D5AFACFB303ACC"'] - last-modified: ['Tue, 01 May 2018 21:46:22 GMT'] + date: ['Tue, 26 Jun 2018 23:09:20 GMT'] + etag: ['"0x8D5DBB9D9503CC2"'] + last-modified: ['Tue, 26 Jun 2018 23:09:20 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:22 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:20 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin?comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:22 GMT'] - etag: ['"0x8D5AFACFB303ACC"'] - last-modified: ['Tue, 01 May 2018 21:46:22 GMT'] + date: ['Tue, 26 Jun 2018 23:09:20 GMT'] + etag: ['"0x8D5DBB9D9503CC2"'] + last-modified: ['Tue, 26 Jun 2018 23:09:20 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:23 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:21 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin?comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:22 GMT'] - etag: ['"0x8D5AFACFB9B4B36"'] - last-modified: ['Tue, 01 May 2018 21:46:23 GMT'] + date: ['Tue, 26 Jun 2018 23:09:21 GMT'] + etag: ['"0x8D5DBB9D9C625EB"'] + last-modified: ['Tue, 26 Jun 2018 23:09:21 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:23 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:21 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin?comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:22 GMT'] - etag: ['"0x8D5AFACFB9B4B36"'] - last-modified: ['Tue, 01 May 2018 21:46:23 GMT'] + date: ['Tue, 26 Jun 2018 23:09:21 GMT'] + etag: ['"0x8D5DBB9D9C625EB"'] + last-modified: ['Tue, 26 Jun 2018 23:09:21 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:23 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:21 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=directory&comp=list response: @@ -7668,19 +7670,19 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:23 GMT'] + date: ['Tue, 26 Jun 2018 23:09:22 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:24 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:22 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin response: @@ -7688,45 +7690,45 @@ interactions: headers: content-length: ['1234'] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:46:23 GMT'] - etag: ['"0x8D5AFACFB9B4B36"'] - last-modified: ['Tue, 01 May 2018 21:46:23 GMT'] + date: ['Tue, 26 Jun 2018 23:09:22 GMT'] + etag: ['"0x8D5DBB9D9C625EB"'] + last-modified: ['Tue, 26 Jun 2018 23:09:21 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-server-encrypted: ['false'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-content-type: [test/type] - x-ms-date: ['Tue, 01 May 2018 21:46:24 GMT'] - x-ms-version: ['2017-07-29'] + x-ms-date: ['Tue, 26 Jun 2018 23:09:22 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin?comp=properties response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:23 GMT'] - etag: ['"0x8D5AFACFC8D3802"'] - last-modified: ['Tue, 01 May 2018 21:46:24 GMT'] + date: ['Tue, 26 Jun 2018 23:09:22 GMT'] + etag: ['"0x8D5DBB9DADEDFA8"'] + last-modified: ['Tue, 26 Jun 2018 23:09:23 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:25 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:23 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin response: @@ -7734,82 +7736,82 @@ interactions: headers: content-length: ['1234'] content-type: [test/type] - date: ['Tue, 01 May 2018 21:46:24 GMT'] - etag: ['"0x8D5AFACFC8D3802"'] - last-modified: ['Tue, 01 May 2018 21:46:24 GMT'] + date: ['Tue, 26 Jun 2018 23:09:22 GMT'] + etag: ['"0x8D5DBB9DADEDFA8"'] + last-modified: ['Tue, 26 Jun 2018 23:09:23 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-server-encrypted: ['false'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:25 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:23 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:25 GMT'] + date: ['Tue, 26 Jun 2018 23:09:23 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:25 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:24 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000003/sample_file.bin response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:25 GMT'] + date: ['Tue, 26 Jun 2018 23:09:24 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-error-code: [ResourceNotFound] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 404, message: The specified resource does not exist.} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:26 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:24 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:26 GMT'] - etag: ['"0x8D5AFACFD6D463D"'] - last-modified: ['Tue, 01 May 2018 21:46:26 GMT'] + date: ['Tue, 26 Jun 2018 23:09:24 GMT'] + etag: ['"0x8D5DBB9DBE37037"'] + last-modified: ['Tue, 26 Jun 2018 23:09:24 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:26 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:25 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=directory&comp=list response: @@ -7819,166 +7821,166 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:26 GMT'] + date: ['Tue, 26 Jun 2018 23:09:25 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:26 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:25 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:27 GMT'] - etag: ['"0x8D5AFACFD6D463D"'] - last-modified: ['Tue, 01 May 2018 21:46:26 GMT'] + date: ['Tue, 26 Jun 2018 23:09:25 GMT'] + etag: ['"0x8D5DBB9DBE37037"'] + last-modified: ['Tue, 26 Jun 2018 23:09:24 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:27 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:25 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:26 GMT'] - etag: ['"0x8D5AFACFE0BCF00"'] - last-modified: ['Tue, 01 May 2018 21:46:27 GMT'] + date: ['Tue, 26 Jun 2018 23:09:25 GMT'] + etag: ['"0x8D5DBB9DCBA07A7"'] + last-modified: ['Tue, 26 Jun 2018 23:09:26 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:27 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:26 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:27 GMT'] - etag: ['"0x8D5AFACFE0BCF00"'] - last-modified: ['Tue, 01 May 2018 21:46:27 GMT'] + date: ['Tue, 26 Jun 2018 23:09:26 GMT'] + etag: ['"0x8D5DBB9DCBA07A7"'] + last-modified: ['Tue, 26 Jun 2018 23:09:26 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:27 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:26 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:27 GMT'] - etag: ['"0x8D5AFACFE0BCF00"'] - last-modified: ['Tue, 01 May 2018 21:46:27 GMT'] + date: ['Tue, 26 Jun 2018 23:09:26 GMT'] + etag: ['"0x8D5DBB9DCBA07A7"'] + last-modified: ['Tue, 26 Jun 2018 23:09:26 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-meta-a: [b] x-ms-meta-c: [d] x-ms-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:28 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:27 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:27 GMT'] - etag: ['"0x8D5AFACFEB5A51F"'] - last-modified: ['Tue, 01 May 2018 21:46:28 GMT'] + date: ['Tue, 26 Jun 2018 23:09:26 GMT'] + etag: ['"0x8D5DBB9DD80BCBA"'] + last-modified: ['Tue, 26 Jun 2018 23:09:27 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:28 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:27 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:28 GMT'] - etag: ['"0x8D5AFACFEB5A51F"'] - last-modified: ['Tue, 01 May 2018 21:46:28 GMT'] + date: ['Tue, 26 Jun 2018 23:09:27 GMT'] + etag: ['"0x8D5DBB9DD80BCBA"'] + last-modified: ['Tue, 26 Jun 2018 23:09:27 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] x-ms-content-length: ['65536'] - x-ms-date: ['Tue, 01 May 2018 21:46:29 GMT'] + x-ms-date: ['Tue, 26 Jun 2018 23:09:28 GMT'] x-ms-type: [file] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/dir000005/testfile.txt response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:29 GMT'] - etag: ['"0x8D5AFACFF2CC653"'] - last-modified: ['Tue, 01 May 2018 21:46:29 GMT'] + date: ['Tue, 26 Jun 2018 23:09:27 GMT'] + etag: ['"0x8D5DBB9DE0E0432"'] + last-modified: ['Tue, 26 Jun 2018 23:09:28 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ @@ -9709,11 +9711,11 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['65536'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:29 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:28 GMT'] x-ms-range: [bytes=0-65535] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] x-ms-write: [update] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/dir000005/testfile.txt?comp=range @@ -9721,22 +9723,22 @@ interactions: body: {string: ''} headers: content-md5: [/Na8tWwWifzvKLV8IkdbrQ==] - date: ['Tue, 01 May 2018 21:46:29 GMT'] - etag: ['"0x8D5AFACFF4164B0"'] - last-modified: ['Tue, 01 May 2018 21:46:29 GMT'] + date: ['Tue, 26 Jun 2018 23:09:28 GMT'] + etag: ['"0x8D5DBB9DE269B46"'] + last-modified: ['Tue, 26 Jun 2018 23:09:28 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:29 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:28 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000003/dir000005/testfile.txt response: @@ -9744,23 +9746,23 @@ interactions: headers: content-length: ['65536'] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:46:29 GMT'] - etag: ['"0x8D5AFACFF4164B0"'] - last-modified: ['Tue, 01 May 2018 21:46:29 GMT'] + date: ['Tue, 26 Jun 2018 23:09:28 GMT'] + etag: ['"0x8D5DBB9DE269B46"'] + last-modified: ['Tue, 26 Jun 2018 23:09:28 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-server-encrypted: ['true'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:30 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:29 GMT'] x-ms-range: [bytes=0-33554431] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/dir000005/testfile.txt response: @@ -11541,22 +11543,22 @@ interactions: content-length: ['65536'] content-range: [bytes 0-65535/65536] content-type: [application/octet-stream] - date: ['Tue, 01 May 2018 21:46:30 GMT'] - etag: ['"0x8D5AFACFF4164B0"'] - last-modified: ['Tue, 01 May 2018 21:46:29 GMT'] + date: ['Tue, 26 Jun 2018 23:09:28 GMT'] + etag: ['"0x8D5DBB9DE269B46"'] + last-modified: ['Tue, 26 Jun 2018 23:09:28 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-server-encrypted: ['true'] x-ms-type: [File] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 206, message: Partial Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:30 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:29 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory&comp=list response: @@ -11566,192 +11568,192 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:29 GMT'] + date: ['Tue, 26 Jun 2018 23:09:29 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:30 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:30 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=stats response: body: {string: "\uFEFF1"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:30 GMT'] + date: ['Tue, 26 Jun 2018 23:09:30 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:31 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:30 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE uri: https://clitest000002.file.core.windows.net/share000003/dir000005/testfile.txt response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:30 GMT'] + date: ['Tue, 26 Jun 2018 23:09:30 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:31 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:30 GMT'] + x-ms-version: ['2018-03-28'] method: HEAD uri: https://clitest000002.file.core.windows.net/share000003/testfile.txt response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:31 GMT'] + date: ['Tue, 26 Jun 2018 23:09:30 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-error-code: [ResourceNotFound] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 404, message: The specified resource does not exist.} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:31 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:31 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:31 GMT'] + date: ['Tue, 26 Jun 2018 23:09:33 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:32 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:34 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/dir000005?restype=directory response: body: {string: "\uFEFFResourceNotFoundThe\ - \ specified resource does not exist.\nRequestId:1e9b357f-901a-000d-3f95-e1020e000000\n\ - Time:2018-05-01T21:46:32.5260555Z"} + \ specified resource does not exist.\nRequestId:60aa78ed-d01a-012f-08a2-0d2367000000\n\ + Time:2018-06-26T23:09:35.0332622Z"} headers: content-length: ['223'] content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:32 GMT'] + date: ['Tue, 26 Jun 2018 23:09:34 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] x-ms-error-code: [ResourceNotFound] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 404, message: The specified resource does not exist.} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:32 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:35 GMT'] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003/dir000006?restype=directory response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:32 GMT'] - etag: ['"0x8D5AFAD014837F9"'] - last-modified: ['Tue, 01 May 2018 21:46:32 GMT'] + date: ['Tue, 26 Jun 2018 23:09:34 GMT'] + etag: ['"0x8D5DBB9E249D197"'] + last-modified: ['Tue, 26 Jun 2018 23:09:35 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-request-server-encrypted: ['true'] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:33 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:35 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003/dir000006?restype=directory&comp=metadata response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:33 GMT'] - etag: ['"0x8D5AFAD014837F9"'] - last-modified: ['Tue, 01 May 2018 21:46:32 GMT'] + date: ['Tue, 26 Jun 2018 23:09:35 GMT'] + etag: ['"0x8D5DBB9E249D197"'] + last-modified: ['Tue, 26 Jun 2018 23:09:35 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-meta-cat: [hat] x-ms-meta-foo: [bar] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:33 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:36 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE uri: https://clitest000002.file.core.windows.net/share000003/dir000006?restype=directory response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:33 GMT'] + date: ['Tue, 26 Jun 2018 23:09:35 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:33 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:36 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE uri: https://clitest000002.file.core.windows.net/share000003?restype=share response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:33 GMT'] + date: ['Tue, 26 Jun 2018 23:09:36 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 202, message: Accepted} - request: body: null @@ -11762,23 +11764,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:46:33 GMT'] + date: ['Tue, 26 Jun 2018 23:09:37 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc3R1JITEpCVENPN002VlNXSklBRkdPNVBDUFBUTTVIRkY2Mnw2OEE5RjAxMjgwRjg4QzczLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdOV1lRSEJBR0pXWExaUU9JQVU1Wk1SVVJKUFNZRk0yUUFSTnwwNzUwN0MwMDIxMzQ4Q0FGLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_immutability_policy.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_immutability_policy.yaml new file mode 100644 index 00000000000..96ddce4c51b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_immutability_policy.yaml @@ -0,0 +1,539 @@ +interactions: +- request: + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-06-27T00:17:52Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-27T00:17:52Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 27 Jun 2018 00:17:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-27T00:17:52Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 27 Jun 2018 00:17:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "StorageV2", "location": "westus", + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + Content-Length: ['152'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002?api-version=2018-03-01-preview + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + content-type: [text/plain; charset=utf-8] + date: ['Wed, 27 Jun 2018 00:17:56 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/4dd5ff42-1e11-4c80-a14b-c76a25a6af43?monitor=true&api-version=2018-03-01-preview'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/4dd5ff42-1e11-4c80-a14b-c76a25a6af43?monitor=true&api-version=2018-03-01-preview + response: + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002","name":"clistorage000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-27T00:17:56.8422453Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-27T00:17:56.8422453Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-27T00:17:56.7015542Z","primaryEndpoints":{"web":"https://clistorage000002.z22.web.core.windows.net/","blob":"https://clistorage000002.blob.core.windows.net/","queue":"https://clistorage000002.queue.core.windows.net/","table":"https://clistorage000002.table.core.windows.net/","file":"https://clistorage000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://clistorage000002-secondary.z22.web.core.windows.net/","blob":"https://clistorage000002-secondary.blob.core.windows.net/","queue":"https://clistorage000002-secondary.queue.core.windows.net/","table":"https://clistorage000002-secondary.table.core.windows.net/"}}}'} + headers: + cache-control: [no-cache] + content-length: ['1688'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:13 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2018-03-01-preview + response: + body: {string: '{"value":[{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Storage/storageAccounts/nodetest12","name":"nodetest12","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-11T22:34:54.8545695Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-11T22:34:54.8545695Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-11T22:34:54.6358258Z","primaryEndpoints":{"web":"https://nodetest12.z13.web.core.windows.net/","blob":"https://nodetest12.blob.core.windows.net/","queue":"https://nodetest12.queue.core.windows.net/","table":"https://nodetest12.table.core.windows.net/","file":"https://nodetest12.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage","name":"wilxstorage","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T19:36:28.8945460Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T19:36:28.8945460Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T19:36:28.7383212Z","primaryEndpoints":{"blob":"https://wilxstorage.blob.core.windows.net/","queue":"https://wilxstorage.queue.core.windows.net/","table":"https://wilxstorage.table.core.windows.net/","file":"https://wilxstorage.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage-secondary.blob.core.windows.net/","queue":"https://wilxstorage-secondary.queue.core.windows.net/","table":"https://wilxstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage22","name":"wilxstorage22","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T20:13:40.8405286Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T20:13:40.8405286Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T20:13:40.6373918Z","primaryEndpoints":{"blob":"https://wilxstorage22.blob.core.windows.net/","queue":"https://wilxstorage22.queue.core.windows.net/","table":"https://wilxstorage22.table.core.windows.net/","file":"https://wilxstorage22.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage22-secondary.blob.core.windows.net/","queue":"https://wilxstorage22-secondary.queue.core.windows.net/","table":"https://wilxstorage22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage23","name":"wilxstorage23","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T20:14:06.2300026Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T20:14:06.2300026Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T20:14:06.0893541Z","primaryEndpoints":{"blob":"https://wilxstorage23.blob.core.windows.net/","queue":"https://wilxstorage23.queue.core.windows.net/","table":"https://wilxstorage23.table.core.windows.net/","file":"https://wilxstorage23.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage23-secondary.blob.core.windows.net/","queue":"https://wilxstorage23-secondary.queue.core.windows.net/","table":"https://wilxstorage23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxgroup1diag230","name":"wilxgroup1diag230","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-13T21:55:06.8353870Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-13T21:55:06.8353870Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-13T21:55:06.6635043Z","primaryEndpoints":{"blob":"https://wilxgroup1diag230.blob.core.windows.net/","queue":"https://wilxgroup1diag230.queue.core.windows.net/","table":"https://wilxgroup1diag230.table.core.windows.net/","file":"https://wilxgroup1diag230.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgslle2whrrtya7zgsjykczzurzm4tjbnkzhtdyfj6fhrzk7svy4l6n5ds7x6cofuar/providers/Microsoft.Storage/storageAccounts/clitestmenyvcjt2wxeofn3b","name":"clitestmenyvcjt2wxeofn3b","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:43.3835193Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:43.3835193Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T21:03:43.2429055Z","primaryEndpoints":{"blob":"https://clitestmenyvcjt2wxeofn3b.blob.core.windows.net/","queue":"https://clitestmenyvcjt2wxeofn3b.queue.core.windows.net/","table":"https://clitestmenyvcjt2wxeofn3b.table.core.windows.net/","file":"https://clitestmenyvcjt2wxeofn3b.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002","name":"clistorage000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-27T00:17:56.8422453Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-27T00:17:56.8422453Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-27T00:17:56.7015542Z","primaryEndpoints":{"web":"https://clistorage000002.z22.web.core.windows.net/","blob":"https://clistorage000002.blob.core.windows.net/","queue":"https://clistorage000002.queue.core.windows.net/","table":"https://clistorage000002.table.core.windows.net/","file":"https://clistorage000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://clistorage000002-secondary.z22.web.core.windows.net/","blob":"https://clistorage000002-secondary.blob.core.windows.net/","queue":"https://clistorage000002-secondary.queue.core.windows.net/","table":"https://clistorage000002-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlab1/providers/Microsoft.Storage/storageAccounts/acliautomationlab8902","name":"acliautomationlab8902","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"hidden-DevTestLabs-LabUId":"ca9ec547-32c5-422d-b3d2-25906ed71959"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T16:51:47.2194106Z","primaryEndpoints":{"blob":"https://acliautomationlab8902.blob.core.windows.net/","queue":"https://acliautomationlab8902.queue.core.windows.net/","table":"https://acliautomationlab8902.table.core.windows.net/","file":"https://acliautomationlab8902.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-eventgridtesting/providers/Microsoft.Storage/storageAccounts/eventgridtestin9c1e","name":"eventgridtestin9c1e","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-30T22:57:11.1008680Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-30T22:57:11.1008680Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-30T22:57:10.9915110Z","primaryEndpoints":{"blob":"https://eventgridtestin9c1e.blob.core.windows.net/","queue":"https://eventgridtestin9c1e.queue.core.windows.net/","table":"https://eventgridtestin9c1e.table.core.windows.net/","file":"https://eventgridtestin9c1e.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Storage/storageAccounts/lmazueltestcapture451","name":"lmazueltestcapture451","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-06T16:46:02.5308824Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-06T16:46:02.5308824Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-06T16:46:02.4527298Z","primaryEndpoints":{"blob":"https://lmazueltestcapture451.blob.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup2/providers/Microsoft.Storage/storageAccounts/wilxstorage0","name":"wilxstorage0","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-04-13T01:05:28.4023820Z","primaryEndpoints":{"web":"https://wilxstorage0.z5.web.core.windows.net/","blob":"https://wilxstorage0.blob.core.windows.net/","queue":"https://wilxstorage0.queue.core.windows.net/","table":"https://wilxstorage0.table.core.windows.net/","file":"https://wilxstorage0.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rglaebtqqk7cheshiqgq2hsikdfugudf2e2jxxuj7z36s2hb3au3pkug74nbb6skwat/providers/Microsoft.Storage/storageAccounts/accountz22foj2mrxmdhnecz","name":"accountz22foj2mrxmdhnecz","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:42.7089608Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:42.7089608Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-26T21:03:42.6620847Z","primaryEndpoints":{"web":"https://accountz22foj2mrxmdhnecz.z4.web.core.windows.net/","blob":"https://accountz22foj2mrxmdhnecz.blob.core.windows.net/","queue":"https://accountz22foj2mrxmdhnecz.queue.core.windows.net/","table":"https://accountz22foj2mrxmdhnecz.table.core.windows.net/","file":"https://accountz22foj2mrxmdhnecz.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://accountz22foj2mrxmdhnecz-secondary.z4.web.core.windows.net/","blob":"https://accountz22foj2mrxmdhnecz-secondary.blob.core.windows.net/","queue":"https://accountz22foj2mrxmdhnecz-secondary.queue.core.windows.net/","table":"https://accountz22foj2mrxmdhnecz-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmr6jo34yofyafj3n6gjbhrgmrd6pwgguthc2u235qfle6y6ztyzrlkuqn544s7cop/providers/Microsoft.Storage/storageAccounts/clitestnlmd52jlcmr4ce7b4","name":"clitestnlmd52jlcmr4ce7b4","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:14:07.3188286Z","primaryEndpoints":{"blob":"https://clitestnlmd52jlcmr4ce7b4.blob.core.windows.net/","queue":"https://clitestnlmd52jlcmr4ce7b4.queue.core.windows.net/","table":"https://clitestnlmd52jlcmr4ce7b4.table.core.windows.net/","file":"https://clitestnlmd52jlcmr4ce7b4.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgpfhep77mmcmcn3afvnvskjk3g27ybc7gq6kh5c6vu7ugy7e3ykawkib6u7st25kbi/providers/Microsoft.Storage/storageAccounts/clitest5o5upfigqe5aenkc3","name":"clitest5o5upfigqe5aenkc3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-25T01:22:12.5013507Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-25T01:22:12.5013507Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-25T01:22:12.4388487Z","primaryEndpoints":{"blob":"https://clitest5o5upfigqe5aenkc3.blob.core.windows.net/","queue":"https://clitest5o5upfigqe5aenkc3.queue.core.windows.net/","table":"https://clitest5o5upfigqe5aenkc3.table.core.windows.net/","file":"https://clitest5o5upfigqe5aenkc3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageworm","name":"wilxstorageworm","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-13T22:36:53.0909769Z","primaryEndpoints":{"blob":"https://wilxstorageworm.blob.core.windows.net/","queue":"https://wilxstorageworm.queue.core.windows.net/","table":"https://wilxstorageworm.table.core.windows.net/","file":"https://wilxstorageworm.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageworm-secondary.blob.core.windows.net/","queue":"https://wilxstorageworm-secondary.queue.core.windows.net/","table":"https://wilxstorageworm-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgnipcxreywyorqhptpg4lmvsb6sqsef3mezozbrenqq6ufmd3hrh7plmdnorjt5y5x/providers/Microsoft.Storage/storageAccounts/clitestshv4qcdkeictveped","name":"clitestshv4qcdkeictveped","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-14T19:04:11.4311113Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-14T19:04:11.4311113Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-14T19:04:11.3686065Z","primaryEndpoints":{"blob":"https://clitestshv4qcdkeictveped.blob.core.windows.net/","queue":"https://clitestshv4qcdkeictveped.queue.core.windows.net/","table":"https://clitestshv4qcdkeictveped.table.core.windows.net/","file":"https://clitestshv4qcdkeictveped.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv6extdlzddtno2qf5o37e5g2n2d2x5ah4gq2olmpqezmxibj4h36focak4y6dose7/providers/Microsoft.Storage/storageAccounts/clitestcushmpfbtkste2a2a","name":"clitestcushmpfbtkste2a2a","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-25T01:20:25.1414518Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-25T01:20:25.1414518Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-25T01:20:25.0780033Z","primaryEndpoints":{"blob":"https://clitestcushmpfbtkste2a2a.blob.core.windows.net/","queue":"https://clitestcushmpfbtkste2a2a.queue.core.windows.net/","table":"https://clitestcushmpfbtkste2a2a.table.core.windows.net/","file":"https://clitestcushmpfbtkste2a2a.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg326oxnqqn33y3n42vz6x5xol5rvvw3z4o6tladwwtkmcntnsxhhxxtddtrxwm2edj/providers/Microsoft.Storage/storageAccounts/clitestjwzkdsfuou3niutbd","name":"clitestjwzkdsfuou3niutbd","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:07:33.0552270Z","primaryEndpoints":{"blob":"https://clitestjwzkdsfuou3niutbd.blob.core.windows.net/","queue":"https://clitestjwzkdsfuou3niutbd.queue.core.windows.net/","table":"https://clitestjwzkdsfuou3niutbd.table.core.windows.net/","file":"https://clitestjwzkdsfuou3niutbd.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgldagdmcl4pklmwzmr3wftx2kidhw7johz6d7tl6m7raetzzfhpqhrfffu5vwqtfxo/providers/Microsoft.Storage/storageAccounts/clitestt6pqb7xneswrh2sp6","name":"clitestt6pqb7xneswrh2sp6","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:51:14.8105336Z","primaryEndpoints":{"blob":"https://clitestt6pqb7xneswrh2sp6.blob.core.windows.net/","queue":"https://clitestt6pqb7xneswrh2sp6.queue.core.windows.net/","table":"https://clitestt6pqb7xneswrh2sp6.table.core.windows.net/","file":"https://clitestt6pqb7xneswrh2sp6.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgf3er5m4irbxsxhyil42jxq3t5ehzphmdzn2gortdlrzyw4i6tlgswx2xrcgldp6oh/providers/Microsoft.Storage/storageAccounts/clitestpabilv4yd6qxvguml","name":"clitestpabilv4yd6qxvguml","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T19:20:22.2445526Z","primaryEndpoints":{"blob":"https://clitestpabilv4yd6qxvguml.blob.core.windows.net/","queue":"https://clitestpabilv4yd6qxvguml.queue.core.windows.net/","table":"https://clitestpabilv4yd6qxvguml.table.core.windows.net/","file":"https://clitestpabilv4yd6qxvguml.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgjzhnckmw5ftoqmm2b5gezwgslvfm2dqg7ldpwvuukicy7ca4unquohsptfrbddr2a/providers/Microsoft.Storage/storageAccounts/clitestvjlqxa4ctzkwwpg4b","name":"clitestvjlqxa4ctzkwwpg4b","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-29T19:38:19.5634738Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-29T19:38:19.5634738Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-29T19:38:19.5165939Z","primaryEndpoints":{"blob":"https://clitestvjlqxa4ctzkwwpg4b.blob.core.windows.net/","queue":"https://clitestvjlqxa4ctzkwwpg4b.queue.core.windows.net/","table":"https://clitestvjlqxa4ctzkwwpg4b.table.core.windows.net/","file":"https://clitestvjlqxa4ctzkwwpg4b.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgwxiadyatfxsixayqfinia7ybjwo5cfoyw65qpuna3alx3x2diwukx4tkcpwir2mbq/providers/Microsoft.Storage/storageAccounts/clitesta2lvllqz23rgasyf7","name":"clitesta2lvllqz23rgasyf7","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:57:25.6193002Z","primaryEndpoints":{"blob":"https://clitesta2lvllqz23rgasyf7.blob.core.windows.net/","queue":"https://clitesta2lvllqz23rgasyf7.queue.core.windows.net/","table":"https://clitesta2lvllqz23rgasyf7.table.core.windows.net/","file":"https://clitesta2lvllqz23rgasyf7.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgoo2qxqtbb56w7uujqzhodrozdh7fxg5wxscql4ndybxkardgqzqvheltadic2zoxf/providers/Microsoft.Storage/storageAccounts/clitestfyixx74gs3loj3isf","name":"clitestfyixx74gs3loj3isf","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:34:26.5668681Z","primaryEndpoints":{"blob":"https://clitestfyixx74gs3loj3isf.blob.core.windows.net/","queue":"https://clitestfyixx74gs3loj3isf.queue.core.windows.net/","table":"https://clitestfyixx74gs3loj3isf.table.core.windows.net/","file":"https://clitestfyixx74gs3loj3isf.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6xf4idvnxclgamrcp2ezv54qhk3doyffriwiegbm7ouxjbfmd2cj7izni3bhdv4wf/providers/Microsoft.Storage/storageAccounts/clitestoj23vdhimampujgji","name":"clitestoj23vdhimampujgji","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-15T02:09:49.4622185Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-15T02:09:49.4622185Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-15T02:09:49.3684695Z","primaryEndpoints":{"blob":"https://clitestoj23vdhimampujgji.blob.core.windows.net/","queue":"https://clitestoj23vdhimampujgji.queue.core.windows.net/","table":"https://clitestoj23vdhimampujgji.table.core.windows.net/","file":"https://clitestoj23vdhimampujgji.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgd5ygu6mbq43qw57ncgznekmhwaqlrowjc6dggyk2h6cfwioigvtt3bg7ayqckcwvk/providers/Microsoft.Storage/storageAccounts/clitestixsogcl5p5af5w2p3","name":"clitestixsogcl5p5af5w2p3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T18:00:02.2087326Z","primaryEndpoints":{"blob":"https://clitestixsogcl5p5af5w2p3.blob.core.windows.net/","queue":"https://clitestixsogcl5p5af5w2p3.queue.core.windows.net/","table":"https://clitestixsogcl5p5af5w2p3.table.core.windows.net/","file":"https://clitestixsogcl5p5af5w2p3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeyg7p46zydk24opv23uowejjybhvp2nqcyqpnmknbs7o3w5c3tocuuygkogbvxz5f/providers/Microsoft.Storage/storageAccounts/clitestcrdofae6jvibomf2w","name":"clitestcrdofae6jvibomf2w","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-20T01:19:55.7120798Z","primaryEndpoints":{"blob":"https://clitestcrdofae6jvibomf2w.blob.core.windows.net/","queue":"https://clitestcrdofae6jvibomf2w.queue.core.windows.net/","table":"https://clitestcrdofae6jvibomf2w.table.core.windows.net/","file":"https://clitestcrdofae6jvibomf2w.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageremove","name":"wilxstorageremove","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-27T00:04:33.0042633Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-27T00:04:33.0042633Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-27T00:04:32.9417406Z","primaryEndpoints":{"web":"https://wilxstorageremove.z3.web.core.windows.net/","blob":"https://wilxstorageremove.blob.core.windows.net/","queue":"https://wilxstorageremove.queue.core.windows.net/","table":"https://wilxstorageremove.table.core.windows.net/","file":"https://wilxstorageremove.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://wilxstorageremove-secondary.z3.web.core.windows.net/","blob":"https://wilxstorageremove-secondary.blob.core.windows.net/","queue":"https://wilxstorageremove-secondary.queue.core.windows.net/","table":"https://wilxstorageremove-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeblmtd6pv6car44ga6qwvicwjyuxydhhkaharam4nad6uekgqgm2uiisw7v4a3czx/providers/Microsoft.Storage/storageAccounts/clitestcdx4bwlcvgviotc2p","name":"clitestcdx4bwlcvgviotc2p","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T22:26:48.9744081Z","primaryEndpoints":{"blob":"https://clitestcdx4bwlcvgviotc2p.blob.core.windows.net/","queue":"https://clitestcdx4bwlcvgviotc2p.queue.core.windows.net/","table":"https://clitestcdx4bwlcvgviotc2p.table.core.windows.net/","file":"https://clitestcdx4bwlcvgviotc2p.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}'} + headers: + cache-control: [no-cache] + content-length: ['36108'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 27 Jun 2018 00:18:15 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-original-request-ids: [39899d72-a7ef-4629-9df6-a2029b19557d, 61e2d58f-5c49-4691-bd56-40b099c3a6f6, + 54cfc5c5-5484-4c18-a5dc-e48ae3232d29, a8566ff3-d9df-40d1-b223-4bf9517a30e3, + e6bb56db-f3b2-4db3-a5d2-04d3fd4edad0, 511f76c2-6570-49d4-a3c1-49ab2ee7407e, + 033ed09f-2d1e-481b-a1cd-d39059190717] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container create] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/listKeys?api-version=2018-03-01-preview + response: + body: {string: '{"keys":[{"keyName":"key1","value":"2kmoFglTcdWvrZ/2nGKs+7YZR41kBnW1gOdpqxgL8toK60WYQQDIyviGhO9MER3MAEQhA1ZVfQfzcLxMWR2OKg==","permissions":"FULL"},{"keyName":"key2","value":"DO//Rqf3RimpdAS/Th5DV4WTIlh2IIIQdATxc79uYKZUxKfEkb9oqNRMIymzMmhliYjNpOxf3cRzqzaKSldiWQ==","permissions":"FULL"}]}'} + headers: + cache-control: [no-cache] + content-length: ['288'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:15 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Wed, 27 Jun 2018 00:18:16 GMT'] + x-ms-version: ['2018-03-28'] + method: PUT + uri: https://clistorage000002.blob.core.windows.net/container1?restype=container + response: + body: {string: ''} + headers: + date: ['Wed, 27 Jun 2018 00:18:16 GMT'] + etag: ['"0x8D5DBC37AD4801F"'] + last-modified: ['Wed, 27 Jun 2018 00:18:16 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + transfer-encoding: [chunked] + x-ms-version: ['2018-03-28'] + status: {code: 201, message: Created} +- request: + body: '{"properties": {"immutabilityPeriodSinceCreationInDays": 1}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy create] + Connection: [keep-alive] + Content-Length: ['60'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies","etag":"\"8d5dbc37be0698c\"","properties":{"immutabilityPeriodSinceCreationInDays":1,"state":"Unlocked"}}'} + headers: + cache-control: [no-cache] + content-length: ['498'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:17 GMT'] + etag: ['"8d5dbc37be0698c"'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies","etag":"\"8d5dbc37be0698c\"","properties":{"immutabilityPeriodSinceCreationInDays":1,"state":"Unlocked"}}'} + headers: + cache-control: [no-cache] + content-length: ['498'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:19 GMT'] + etag: ['"8d5dbc37be0698c"'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + If-Match: ['"8d5dbc37be0698c"'] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies","etag":"\"8d5dbc37d41c3cf\"","properties":{"immutabilityPeriodSinceCreationInDays":0,"state":"Unlocked"}}'} + headers: + cache-control: [no-cache] + content-length: ['498'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:20 GMT'] + etag: ['"8d5dbc37d41c3cf"'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies","etag":"","properties":{"immutabilityPeriodSinceCreationInDays":0,"state":"Unlocked"}}'} + headers: + cache-control: [no-cache] + content-length: ['479'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"properties": {"immutabilityPeriodSinceCreationInDays": 1}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy create] + Connection: [keep-alive] + Content-Length: ['60'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies","etag":"\"8d5dbc37e2dc9b8\"","properties":{"immutabilityPeriodSinceCreationInDays":1,"state":"Unlocked"}}'} + headers: + cache-control: [no-cache] + content-length: ['498'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:21 GMT'] + etag: ['"8d5dbc37e2dc9b8"'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1196'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies","etag":"\"8d5dbc37e2dc9b8\"","properties":{"immutabilityPeriodSinceCreationInDays":1,"state":"Unlocked"}}'} + headers: + cache-control: [no-cache] + content-length: ['498'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:22 GMT'] + etag: ['"8d5dbc37e2dc9b8"'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy lock] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + If-Match: ['"8d5dbc37e2dc9b8"'] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default/lock?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies","etag":"\"8d5dbc37ecdaa99\"","properties":{"immutabilityPeriodSinceCreationInDays":1,"state":"Locked"}}'} + headers: + cache-control: [no-cache] + content-length: ['496'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:23 GMT'] + etag: ['"8d5dbc37ecdaa99"'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies","etag":"\"8d5dbc37ecdaa99\"","properties":{"immutabilityPeriodSinceCreationInDays":1,"state":"Locked"}}'} + headers: + cache-control: [no-cache] + content-length: ['496'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:23 GMT'] + etag: ['"8d5dbc37ecdaa99"'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + If-Match: ['"8d5dbc37ecdaa99"'] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default?api-version=2018-03-01-preview + response: + body: {string: '{"error":{"code":"ContainerImmutabilityPolicyFailure","message":"Operation + not allowed on immutability policy with current state."}}'} + headers: + cache-control: [no-cache] + content-length: ['132'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:24 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 409, message: Conflict} +- request: + body: '{"properties": {"immutabilityPeriodSinceCreationInDays": 2}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container immutability-policy extend] + Connection: [keep-alive] + Content-Length: ['60'] + Content-Type: [application/json; charset=utf-8] + If-Match: ['"8d5dbc37ecdaa99"'] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default/extend?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/immutabilityPolicies/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies","etag":"\"8d5dbc380348285\"","properties":{"immutabilityPeriodSinceCreationInDays":2,"state":"Locked"}}'} + headers: + cache-control: [no-cache] + content-length: ['496'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:18:24 GMT'] + etag: ['"8d5dbc380348285"'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Wed, 27 Jun 2018 00:18:26 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdXUldGV0ZFWU03MlFFRTNOQUgyVEFTSVc0WjNDQ1IzTE82WHw2ODdFMDQ1QjU1RjBFMzlGLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_legal_hold.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_legal_hold.yaml new file mode 100644 index 00000000000..29066855579 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_legal_hold.yaml @@ -0,0 +1,318 @@ +interactions: +- request: + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-06-27T00:20:18Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-27T00:20:18Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 27 Jun 2018 00:20:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-27T00:20:18Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['384'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 27 Jun 2018 00:20:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "StorageV2", "location": "westus", + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + Content-Length: ['152'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002?api-version=2018-03-01-preview + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + content-type: [text/plain; charset=utf-8] + date: ['Wed, 27 Jun 2018 00:20:22 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/7cfbb164-cd18-4b23-8b8b-8359f85fb966?monitor=true&api-version=2018-03-01-preview'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage account create] + Connection: [keep-alive] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/7cfbb164-cd18-4b23-8b8b-8359f85fb966?monitor=true&api-version=2018-03-01-preview + response: + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002","name":"clistorage000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-27T00:20:22.4583935Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-27T00:20:22.4583935Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-27T00:20:22.3021250Z","primaryEndpoints":{"web":"https://clistorage000002.z22.web.core.windows.net/","blob":"https://clistorage000002.blob.core.windows.net/","queue":"https://clistorage000002.queue.core.windows.net/","table":"https://clistorage000002.table.core.windows.net/","file":"https://clistorage000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://clistorage000002-secondary.z22.web.core.windows.net/","blob":"https://clistorage000002-secondary.blob.core.windows.net/","queue":"https://clistorage000002-secondary.queue.core.windows.net/","table":"https://clistorage000002-secondary.table.core.windows.net/"}}}'} + headers: + cache-control: [no-cache] + content-length: ['1688'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:20:39 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2018-03-01-preview + response: + body: {string: '{"value":[{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Storage/storageAccounts/nodetest12","name":"nodetest12","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-11T22:34:54.8545695Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-11T22:34:54.8545695Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-11T22:34:54.6358258Z","primaryEndpoints":{"web":"https://nodetest12.z13.web.core.windows.net/","blob":"https://nodetest12.blob.core.windows.net/","queue":"https://nodetest12.queue.core.windows.net/","table":"https://nodetest12.table.core.windows.net/","file":"https://nodetest12.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage","name":"wilxstorage","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T19:36:28.8945460Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T19:36:28.8945460Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T19:36:28.7383212Z","primaryEndpoints":{"blob":"https://wilxstorage.blob.core.windows.net/","queue":"https://wilxstorage.queue.core.windows.net/","table":"https://wilxstorage.table.core.windows.net/","file":"https://wilxstorage.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage-secondary.blob.core.windows.net/","queue":"https://wilxstorage-secondary.queue.core.windows.net/","table":"https://wilxstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage22","name":"wilxstorage22","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T20:13:40.8405286Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T20:13:40.8405286Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T20:13:40.6373918Z","primaryEndpoints":{"blob":"https://wilxstorage22.blob.core.windows.net/","queue":"https://wilxstorage22.queue.core.windows.net/","table":"https://wilxstorage22.table.core.windows.net/","file":"https://wilxstorage22.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage22-secondary.blob.core.windows.net/","queue":"https://wilxstorage22-secondary.queue.core.windows.net/","table":"https://wilxstorage22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxstorage23","name":"wilxstorage23","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-14T20:14:06.2300026Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-14T20:14:06.2300026Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-14T20:14:06.0893541Z","primaryEndpoints":{"blob":"https://wilxstorage23.blob.core.windows.net/","queue":"https://wilxstorage23.queue.core.windows.net/","table":"https://wilxstorage23.table.core.windows.net/","file":"https://wilxstorage23.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorage23-secondary.blob.core.windows.net/","queue":"https://wilxstorage23-secondary.queue.core.windows.net/","table":"https://wilxstorage23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Storage/storageAccounts/wilxgroup1diag230","name":"wilxgroup1diag230","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-13T21:55:06.8353870Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-13T21:55:06.8353870Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-13T21:55:06.6635043Z","primaryEndpoints":{"blob":"https://wilxgroup1diag230.blob.core.windows.net/","queue":"https://wilxgroup1diag230.queue.core.windows.net/","table":"https://wilxgroup1diag230.table.core.windows.net/","file":"https://wilxgroup1diag230.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002","name":"clistorage000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-27T00:20:22.4583935Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-27T00:20:22.4583935Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-27T00:20:22.3021250Z","primaryEndpoints":{"web":"https://clistorage000002.z22.web.core.windows.net/","blob":"https://clistorage000002.blob.core.windows.net/","queue":"https://clistorage000002.queue.core.windows.net/","table":"https://clistorage000002.table.core.windows.net/","file":"https://clistorage000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://clistorage000002-secondary.z22.web.core.windows.net/","blob":"https://clistorage000002-secondary.blob.core.windows.net/","queue":"https://clistorage000002-secondary.queue.core.windows.net/","table":"https://clistorage000002-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgslle2whrrtya7zgsjykczzurzm4tjbnkzhtdyfj6fhrzk7svy4l6n5ds7x6cofuar/providers/Microsoft.Storage/storageAccounts/clitestmenyvcjt2wxeofn3b","name":"clitestmenyvcjt2wxeofn3b","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:43.3835193Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:43.3835193Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T21:03:43.2429055Z","primaryEndpoints":{"blob":"https://clitestmenyvcjt2wxeofn3b.blob.core.windows.net/","queue":"https://clitestmenyvcjt2wxeofn3b.queue.core.windows.net/","table":"https://clitestmenyvcjt2wxeofn3b.table.core.windows.net/","file":"https://clitestmenyvcjt2wxeofn3b.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgwrwfwfeym72qee3nah2tasiw4z3ccr3lo6xnpbdlmiuzm4hs574o7lgzayesgwffv/providers/Microsoft.Storage/storageAccounts/clistoragehhbuuxg3tu","name":"clistoragehhbuuxg3tu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-27T00:17:56.8422453Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-27T00:17:56.8422453Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-27T00:17:56.7015542Z","primaryEndpoints":{"web":"https://clistoragehhbuuxg3tu.z22.web.core.windows.net/","blob":"https://clistoragehhbuuxg3tu.blob.core.windows.net/","queue":"https://clistoragehhbuuxg3tu.queue.core.windows.net/","table":"https://clistoragehhbuuxg3tu.table.core.windows.net/","file":"https://clistoragehhbuuxg3tu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://clistoragehhbuuxg3tu-secondary.z22.web.core.windows.net/","blob":"https://clistoragehhbuuxg3tu-secondary.blob.core.windows.net/","queue":"https://clistoragehhbuuxg3tu-secondary.queue.core.windows.net/","table":"https://clistoragehhbuuxg3tu-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlab1/providers/Microsoft.Storage/storageAccounts/acliautomationlab8902","name":"acliautomationlab8902","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"hidden-DevTestLabs-LabUId":"ca9ec547-32c5-422d-b3d2-25906ed71959"},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T16:51:47.2662871Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T16:51:47.2194106Z","primaryEndpoints":{"blob":"https://acliautomationlab8902.blob.core.windows.net/","queue":"https://acliautomationlab8902.queue.core.windows.net/","table":"https://acliautomationlab8902.table.core.windows.net/","file":"https://acliautomationlab8902.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-eventgridtesting/providers/Microsoft.Storage/storageAccounts/eventgridtestin9c1e","name":"eventgridtestin9c1e","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-30T22:57:11.1008680Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-30T22:57:11.1008680Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-30T22:57:10.9915110Z","primaryEndpoints":{"blob":"https://eventgridtestin9c1e.blob.core.windows.net/","queue":"https://eventgridtestin9c1e.queue.core.windows.net/","table":"https://eventgridtestin9c1e.table.core.windows.net/","file":"https://eventgridtestin9c1e.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Storage/storageAccounts/lmazueltestcapture451","name":"lmazueltestcapture451","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-06T16:46:02.5308824Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-06T16:46:02.5308824Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-06T16:46:02.4527298Z","primaryEndpoints":{"blob":"https://lmazueltestcapture451.blob.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup2/providers/Microsoft.Storage/storageAccounts/wilxstorage0","name":"wilxstorage0","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T01:05:28.4648959Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-04-13T01:05:28.4023820Z","primaryEndpoints":{"web":"https://wilxstorage0.z5.web.core.windows.net/","blob":"https://wilxstorage0.blob.core.windows.net/","queue":"https://wilxstorage0.queue.core.windows.net/","table":"https://wilxstorage0.table.core.windows.net/","file":"https://wilxstorage0.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rglaebtqqk7cheshiqgq2hsikdfugudf2e2jxxuj7z36s2hb3au3pkug74nbb6skwat/providers/Microsoft.Storage/storageAccounts/accountz22foj2mrxmdhnecz","name":"accountz22foj2mrxmdhnecz","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:42.7089608Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T21:03:42.7089608Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-26T21:03:42.6620847Z","primaryEndpoints":{"web":"https://accountz22foj2mrxmdhnecz.z4.web.core.windows.net/","blob":"https://accountz22foj2mrxmdhnecz.blob.core.windows.net/","queue":"https://accountz22foj2mrxmdhnecz.queue.core.windows.net/","table":"https://accountz22foj2mrxmdhnecz.table.core.windows.net/","file":"https://accountz22foj2mrxmdhnecz.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://accountz22foj2mrxmdhnecz-secondary.z4.web.core.windows.net/","blob":"https://accountz22foj2mrxmdhnecz-secondary.blob.core.windows.net/","queue":"https://accountz22foj2mrxmdhnecz-secondary.queue.core.windows.net/","table":"https://accountz22foj2mrxmdhnecz-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmr6jo34yofyafj3n6gjbhrgmrd6pwgguthc2u235qfle6y6ztyzrlkuqn544s7cop/providers/Microsoft.Storage/storageAccounts/clitestnlmd52jlcmr4ce7b4","name":"clitestnlmd52jlcmr4ce7b4","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:14:07.3500611Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:14:07.3188286Z","primaryEndpoints":{"blob":"https://clitestnlmd52jlcmr4ce7b4.blob.core.windows.net/","queue":"https://clitestnlmd52jlcmr4ce7b4.queue.core.windows.net/","table":"https://clitestnlmd52jlcmr4ce7b4.table.core.windows.net/","file":"https://clitestnlmd52jlcmr4ce7b4.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgpfhep77mmcmcn3afvnvskjk3g27ybc7gq6kh5c6vu7ugy7e3ykawkib6u7st25kbi/providers/Microsoft.Storage/storageAccounts/clitest5o5upfigqe5aenkc3","name":"clitest5o5upfigqe5aenkc3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-25T01:22:12.5013507Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-25T01:22:12.5013507Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-25T01:22:12.4388487Z","primaryEndpoints":{"blob":"https://clitest5o5upfigqe5aenkc3.blob.core.windows.net/","queue":"https://clitest5o5upfigqe5aenkc3.queue.core.windows.net/","table":"https://clitest5o5upfigqe5aenkc3.table.core.windows.net/","file":"https://clitest5o5upfigqe5aenkc3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageworm","name":"wilxstorageworm","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-13T22:36:53.1534839Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-13T22:36:53.0909769Z","primaryEndpoints":{"blob":"https://wilxstorageworm.blob.core.windows.net/","queue":"https://wilxstorageworm.queue.core.windows.net/","table":"https://wilxstorageworm.table.core.windows.net/","file":"https://wilxstorageworm.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://wilxstorageworm-secondary.blob.core.windows.net/","queue":"https://wilxstorageworm-secondary.queue.core.windows.net/","table":"https://wilxstorageworm-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgnipcxreywyorqhptpg4lmvsb6sqsef3mezozbrenqq6ufmd3hrh7plmdnorjt5y5x/providers/Microsoft.Storage/storageAccounts/clitestshv4qcdkeictveped","name":"clitestshv4qcdkeictveped","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-14T19:04:11.4311113Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-14T19:04:11.4311113Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-14T19:04:11.3686065Z","primaryEndpoints":{"blob":"https://clitestshv4qcdkeictveped.blob.core.windows.net/","queue":"https://clitestshv4qcdkeictveped.queue.core.windows.net/","table":"https://clitestshv4qcdkeictveped.table.core.windows.net/","file":"https://clitestshv4qcdkeictveped.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv6extdlzddtno2qf5o37e5g2n2d2x5ah4gq2olmpqezmxibj4h36focak4y6dose7/providers/Microsoft.Storage/storageAccounts/clitestcushmpfbtkste2a2a","name":"clitestcushmpfbtkste2a2a","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-25T01:20:25.1414518Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-25T01:20:25.1414518Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-25T01:20:25.0780033Z","primaryEndpoints":{"blob":"https://clitestcushmpfbtkste2a2a.blob.core.windows.net/","queue":"https://clitestcushmpfbtkste2a2a.queue.core.windows.net/","table":"https://clitestcushmpfbtkste2a2a.table.core.windows.net/","file":"https://clitestcushmpfbtkste2a2a.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg326oxnqqn33y3n42vz6x5xol5rvvw3z4o6tladwwtkmcntnsxhhxxtddtrxwm2edj/providers/Microsoft.Storage/storageAccounts/clitestjwzkdsfuou3niutbd","name":"clitestjwzkdsfuou3niutbd","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:07:33.1021018Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:07:33.0552270Z","primaryEndpoints":{"blob":"https://clitestjwzkdsfuou3niutbd.blob.core.windows.net/","queue":"https://clitestjwzkdsfuou3niutbd.queue.core.windows.net/","table":"https://clitestjwzkdsfuou3niutbd.table.core.windows.net/","file":"https://clitestjwzkdsfuou3niutbd.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgldagdmcl4pklmwzmr3wftx2kidhw7johz6d7tl6m7raetzzfhpqhrfffu5vwqtfxo/providers/Microsoft.Storage/storageAccounts/clitestt6pqb7xneswrh2sp6","name":"clitestt6pqb7xneswrh2sp6","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:51:14.8730435Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:51:14.8105336Z","primaryEndpoints":{"blob":"https://clitestt6pqb7xneswrh2sp6.blob.core.windows.net/","queue":"https://clitestt6pqb7xneswrh2sp6.queue.core.windows.net/","table":"https://clitestt6pqb7xneswrh2sp6.table.core.windows.net/","file":"https://clitestt6pqb7xneswrh2sp6.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgf3er5m4irbxsxhyil42jxq3t5ehzphmdzn2gortdlrzyw4i6tlgswx2xrcgldp6oh/providers/Microsoft.Storage/storageAccounts/clitestpabilv4yd6qxvguml","name":"clitestpabilv4yd6qxvguml","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T19:20:22.2758006Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T19:20:22.2445526Z","primaryEndpoints":{"blob":"https://clitestpabilv4yd6qxvguml.blob.core.windows.net/","queue":"https://clitestpabilv4yd6qxvguml.queue.core.windows.net/","table":"https://clitestpabilv4yd6qxvguml.table.core.windows.net/","file":"https://clitestpabilv4yd6qxvguml.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgjzhnckmw5ftoqmm2b5gezwgslvfm2dqg7ldpwvuukicy7ca4unquohsptfrbddr2a/providers/Microsoft.Storage/storageAccounts/clitestvjlqxa4ctzkwwpg4b","name":"clitestvjlqxa4ctzkwwpg4b","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-29T19:38:19.5634738Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-29T19:38:19.5634738Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-29T19:38:19.5165939Z","primaryEndpoints":{"blob":"https://clitestvjlqxa4ctzkwwpg4b.blob.core.windows.net/","queue":"https://clitestvjlqxa4ctzkwwpg4b.queue.core.windows.net/","table":"https://clitestvjlqxa4ctzkwwpg4b.table.core.windows.net/","file":"https://clitestvjlqxa4ctzkwwpg4b.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgwxiadyatfxsixayqfinia7ybjwo5cfoyw65qpuna3alx3x2diwukx4tkcpwir2mbq/providers/Microsoft.Storage/storageAccounts/clitesta2lvllqz23rgasyf7","name":"clitesta2lvllqz23rgasyf7","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T17:57:25.6818153Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T17:57:25.6193002Z","primaryEndpoints":{"blob":"https://clitesta2lvllqz23rgasyf7.blob.core.windows.net/","queue":"https://clitesta2lvllqz23rgasyf7.queue.core.windows.net/","table":"https://clitesta2lvllqz23rgasyf7.table.core.windows.net/","file":"https://clitesta2lvllqz23rgasyf7.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgoo2qxqtbb56w7uujqzhodrozdh7fxg5wxscql4ndybxkardgqzqvheltadic2zoxf/providers/Microsoft.Storage/storageAccounts/clitestfyixx74gs3loj3isf","name":"clitestfyixx74gs3loj3isf","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T20:34:26.6293927Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T20:34:26.5668681Z","primaryEndpoints":{"blob":"https://clitestfyixx74gs3loj3isf.blob.core.windows.net/","queue":"https://clitestfyixx74gs3loj3isf.queue.core.windows.net/","table":"https://clitestfyixx74gs3loj3isf.table.core.windows.net/","file":"https://clitestfyixx74gs3loj3isf.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6xf4idvnxclgamrcp2ezv54qhk3doyffriwiegbm7ouxjbfmd2cj7izni3bhdv4wf/providers/Microsoft.Storage/storageAccounts/clitestoj23vdhimampujgji","name":"clitestoj23vdhimampujgji","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-15T02:09:49.4622185Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-15T02:09:49.4622185Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-15T02:09:49.3684695Z","primaryEndpoints":{"blob":"https://clitestoj23vdhimampujgji.blob.core.windows.net/","queue":"https://clitestoj23vdhimampujgji.queue.core.windows.net/","table":"https://clitestoj23vdhimampujgji.table.core.windows.net/","file":"https://clitestoj23vdhimampujgji.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgd5ygu6mbq43qw57ncgznekmhwaqlrowjc6dggyk2h6cfwioigvtt3bg7ayqckcwvk/providers/Microsoft.Storage/storageAccounts/clitestixsogcl5p5af5w2p3","name":"clitestixsogcl5p5af5w2p3","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T18:00:02.2397791Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T18:00:02.2087326Z","primaryEndpoints":{"blob":"https://clitestixsogcl5p5af5w2p3.blob.core.windows.net/","queue":"https://clitestixsogcl5p5af5w2p3.queue.core.windows.net/","table":"https://clitestixsogcl5p5af5w2p3.table.core.windows.net/","file":"https://clitestixsogcl5p5af5w2p3.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeyg7p46zydk24opv23uowejjybhvp2nqcyqpnmknbs7o3w5c3tocuuygkogbvxz5f/providers/Microsoft.Storage/storageAccounts/clitestcrdofae6jvibomf2w","name":"clitestcrdofae6jvibomf2w","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-20T01:19:55.8214506Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-20T01:19:55.7120798Z","primaryEndpoints":{"blob":"https://clitestcrdofae6jvibomf2w.blob.core.windows.net/","queue":"https://clitestcrdofae6jvibomf2w.queue.core.windows.net/","table":"https://clitestcrdofae6jvibomf2w.table.core.windows.net/","file":"https://clitestcrdofae6jvibomf2w.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup3/providers/Microsoft.Storage/storageAccounts/wilxstorageremove","name":"wilxstorageremove","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-27T00:04:33.0042633Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-27T00:04:33.0042633Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2018-06-27T00:04:32.9417406Z","primaryEndpoints":{"web":"https://wilxstorageremove.z3.web.core.windows.net/","blob":"https://wilxstorageremove.blob.core.windows.net/","queue":"https://wilxstorageremove.queue.core.windows.net/","table":"https://wilxstorageremove.table.core.windows.net/","file":"https://wilxstorageremove.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"web":"https://wilxstorageremove-secondary.z3.web.core.windows.net/","blob":"https://wilxstorageremove-secondary.blob.core.windows.net/","queue":"https://wilxstorageremove-secondary.queue.core.windows.net/","table":"https://wilxstorageremove-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgeblmtd6pv6car44ga6qwvicwjyuxydhhkaharam4nad6uekgqgm2uiisw7v4a3czx/providers/Microsoft.Storage/storageAccounts/clitestcdx4bwlcvgviotc2p","name":"clitestcdx4bwlcvgviotc2p","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-04-19T22:26:49.0369320Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-04-19T22:26:48.9744081Z","primaryEndpoints":{"blob":"https://clitestcdx4bwlcvgviotc2p.blob.core.windows.net/","queue":"https://clitestcdx4bwlcvgviotc2p.queue.core.windows.net/","table":"https://clitestcdx4bwlcvgviotc2p.table.core.windows.net/","file":"https://clitestcdx4bwlcvgviotc2p.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}'} + headers: + cache-control: [no-cache] + content-length: ['37797'] + content-type: [application/json; charset=utf-8] + date: ['Wed, 27 Jun 2018 00:20:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-original-request-ids: [97f68426-cffb-474f-a2a2-9c2279592ec2, 2c08b8d7-6938-462b-90fb-68f221348c6d, + bfab57a7-8161-4582-8844-88fc14353299, 70e96246-9cec-447f-b4eb-a28d72eb08b0, + 7d26e045-1aec-4373-94d7-f338bfb35220, 159fee61-47fe-462e-8e7c-6d3efe158c0c, + c250be92-3a6f-4aea-b981-74ac53528e08] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container create] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/listKeys?api-version=2018-03-01-preview + response: + body: {string: '{"keys":[{"keyName":"key1","value":"kdUff48IxwYoeDepmJ0gCThcJ+9V80IBSJ2l+HwqOMeXLKM5SKuQ3rTrBBD7+0cjGb3kJyWofvYYeH8nEHT5bw==","permissions":"FULL"},{"keyName":"key2","value":"tv63XoBnhsh1A2s8CpzFSPNZDW0WmMZklkbcvhz1w6e09RxwAysWZ3+Q2esZ+lYVXd7r/nSFxX0GAusIdcRmfw==","permissions":"FULL"}]}'} + headers: + cache-control: [no-cache] + content-length: ['288'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:20:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Wed, 27 Jun 2018 00:20:42 GMT'] + x-ms-version: ['2018-03-28'] + method: PUT + uri: https://clistorage000002.blob.core.windows.net/container1?restype=container + response: + body: {string: ''} + headers: + date: ['Wed, 27 Jun 2018 00:20:42 GMT'] + etag: ['"0x8D5DBC3D1ACB23A"'] + last-modified: ['Wed, 27 Jun 2018 00:20:42 GMT'] + server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] + transfer-encoding: [chunked] + x-ms-version: ['2018-03-28'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container legal-hold show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1?api-version=2018-03-01-preview + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1","name":"container1","type":"Microsoft.Storage/storageAccounts/blobServices/containers","etag":"\"0x8D5DBC3D1ACB23A\"","properties":{"publicAccess":"None","leaseStatus":"Unlocked","leaseState":"Available","lastModifiedTime":"2018-06-27T00:20:42.0000000Z","immutabilityPolicy":{"etag":"","properties":{"immutabilityPeriodSinceCreationInDays":0,"state":"Unlocked"}},"legalHold":{"hasLegalHold":false,"tags":[]},"hasImmutabilityPolicy":false,"hasLegalHold":false}}'} + headers: + cache-control: [no-cache] + content-length: ['719'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:20:42 GMT'] + etag: ['"0x8D5DBC3D1ACB23A"'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: '{"tags": ["tag1", "tag2"]}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container legal-hold set] + Connection: [keep-alive] + Content-Length: ['26'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/setLegalHold?api-version=2018-03-01-preview + response: + body: {string: '{"hasLegalHold":true,"tags":["tag1","tag2"]}'} + headers: + cache-control: [no-cache] + content-length: ['44'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:20:43 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 200, message: OK} +- request: + body: '{"tags": ["tag1", "tag2"]}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [storage container legal-hold clear] + Connection: [keep-alive] + Content-Length: ['26'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] + accept-language: [en-US] + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clistorage000002/blobServices/default/containers/container1/clearLegalHold?api-version=2018-03-01-preview + response: + body: {string: '{"hasLegalHold":false,"tags":[]}'} + headers: + cache-control: [no-cache] + content-length: ['32'] + content-type: [application/json] + date: ['Wed, 27 Jun 2018 00:20:43 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 + Microsoft-HTTPAPI/2.0'] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Wed, 27 Jun 2018 00:20:45 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdGVzRPM0FIREszNUQzUklHTUtJNlYyS1MyVjdWQVE0WERSSXw3NkRBRkJDQkJFOTQ1MjZDLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_queue_general_scenario.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_queue_general_scenario.yaml index 6bdf586deba..0f7cdce5864 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_queue_general_scenario.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_queue_general_scenario.yaml @@ -1,60 +1,63 @@ interactions: - request: - body: '{"location": "westus", "tags": {"use": "az-test"}}' + body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-06-26T23:08:20Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [group create] Connection: [keep-alive] - Content-Length: ['50'] + Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.21 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.27] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:20Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] - content-length: ['328'] + content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Thu, 08 Feb 2018 18:09:39 GMT'] + date: ['Tue, 26 Jun 2018 23:08:22 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] - x-ms-ratelimit-remaining-subscription-writes: ['1186'] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['127'] + Content-Length: ['150'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.21 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.27] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Thu, 08 Feb 2018 18:09:41 GMT'] + date: ['Tue, 26 Jun 2018 23:08:24 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/2f28cf72-eb3b-4b3e-a088-259e102e9312?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/4ea3d014-50ea-4d3b-bb97-9f1a15a2e136?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] - x-ms-ratelimit-remaining-subscription-writes: ['1190'] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 202, message: Accepted} - request: body: null @@ -63,46 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.21 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.27] - accept-language: [en-US] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/2f28cf72-eb3b-4b3e-a088-259e102e9312?monitor=true&api-version=2017-10-01 - response: - body: {string: ''} - headers: - cache-control: [no-cache] - content-length: ['0'] - content-type: [text/plain; charset=utf-8] - date: ['Thu, 08 Feb 2018 18:09:58 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/2f28cf72-eb3b-4b3e-a088-259e102e9312?monitor=true&api-version=2017-10-01'] - pragma: [no-cache] - server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 - Microsoft-HTTPAPI/2.0'] - strict-transport-security: [max-age=31536000; includeSubDomains] - status: {code: 202, message: Accepted} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [storage account create] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.21 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.27] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/2f28cf72-eb3b-4b3e-a088-259e102e9312?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/4ea3d014-50ea-4d3b-bb97-9f1a15a2e136?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-02-08T18:09:41.1016306Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-02-08T18:09:41.1016306Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-02-08T18:09:41.0547179Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:24.6245269Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:24.6245269Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:24.3589132Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1546'] + content-length: ['1567'] content-type: [application/json] - date: ['Thu, 08 Feb 2018 18:10:15 GMT'] + date: ['Tue, 26 Jun 2018 23:08:41 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -110,6 +84,7 @@ interactions: strict-transport-security: [max-age=31536000; includeSubDomains] transfer-encoding: [chunked] vary: [Accept-Encoding] + x-content-type-options: [nosniff] status: {code: 200, message: OK} - request: body: null @@ -120,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.21 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.27] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"S2U2tGHMyhCLRspIAMFDdxLHulqyfkzGyk+1JStIgrblnQ2PtQIEzkRhjkEdvRVNLU5acIrZ1p1QtUluk0IFVw==","permissions":"FULL"},{"keyName":"key2","value":"dl17/DEH7oS8Wtp2nrveK37o4n2TVUewbHbYPaWpkHWgVYy9ADJJCfRXfV3BaVsJ9lm/QDh1H66mToLasF2D1g==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"fZKmbCwJ3k/e3T3RHTArac/i75czU+ENbdG6t7z4k0Cwo2xHShL2VtuuqJArddgGPna8dEs+uw8e0l+ZjmFeLQ==","permissions":"FULL"},{"keyName":"key2","value":"oiF/P3NRyRMEyUaMUVUNuXlf+4TBf6kYbz76jlYAyY9UszWMy74iZixZECOXbqSCiOihZQvlC/YjYdW3fbaEaw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Thu, 08 Feb 2018 18:10:16 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -139,7 +114,8 @@ interactions: strict-transport-security: [max-age=31536000; includeSubDomains] transfer-encoding: [chunked] vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1179'] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 200, message: OK} - request: body: null @@ -150,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.21 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.27] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"S2U2tGHMyhCLRspIAMFDdxLHulqyfkzGyk+1JStIgrblnQ2PtQIEzkRhjkEdvRVNLU5acIrZ1p1QtUluk0IFVw==","permissions":"FULL"},{"keyName":"key2","value":"dl17/DEH7oS8Wtp2nrveK37o4n2TVUewbHbYPaWpkHWgVYy9ADJJCfRXfV3BaVsJ9lm/QDh1H66mToLasF2D1g==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"fZKmbCwJ3k/e3T3RHTArac/i75czU+ENbdG6t7z4k0Cwo2xHShL2VtuuqJArddgGPna8dEs+uw8e0l+ZjmFeLQ==","permissions":"FULL"},{"keyName":"key2","value":"oiF/P3NRyRMEyUaMUVUNuXlf+4TBf6kYbz76jlYAyY9UszWMy74iZixZECOXbqSCiOihZQvlC/YjYdW3fbaEaw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Thu, 08 Feb 2018 18:10:18 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -169,56 +145,60 @@ interactions: strict-transport-security: [max-age=31536000; includeSubDomains] transfer-encoding: [chunked] vary: [Accept-Encoding] - x-ms-ratelimit-remaining-subscription-writes: ['1182'] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:18 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:43 GMT'] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.queue.core.windows.net/queue000003 response: body: {string: ''} headers: - date: ['Thu, 08 Feb 2018 18:10:18 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:18 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=metadata response: body: {string: ''} headers: cache-control: [no-cache] - date: ['Thu, 08 Feb 2018 18:10:18 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-approximate-messages-count: ['0'] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:19 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/?comp=list response: @@ -228,80 +208,84 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:19 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:19 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=metadata response: body: {string: ''} headers: cache-control: [no-cache] - date: ['Thu, 08 Feb 2018 18:10:19 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-approximate-messages-count: ['0'] x-ms-meta-a: [b] x-ms-meta-c: [d] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:19 GMT'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] x-ms-meta-e: [f] x-ms-meta-g: [h] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.queue.core.windows.net/queue000003?comp=metadata response: body: {string: ''} headers: content-length: ['0'] - date: ['Thu, 08 Feb 2018 18:10:19 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 204, message: No Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:20 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=metadata response: body: {string: ''} headers: cache-control: [no-cache] - date: ['Thu, 08 Feb 2018 18:10:19 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-approximate-messages-count: ['0'] x-ms-meta-e: [f] x-ms-meta-g: [h] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:20 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: @@ -310,18 +294,19 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:20 GMT'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:20 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: @@ -330,36 +315,38 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:21 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: b"\npolicy0000042016-01-01T00:00Z2016-05-01T00:00Zraup" headers: Connection: [keep-alive] Content-Length: ['264'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:20 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: body: {string: ''} headers: content-length: ['0'] - date: ['Thu, 08 Feb 2018 18:10:21 GMT'] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 204, message: No Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:21 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: @@ -367,18 +354,19 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:21 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:21 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: @@ -386,18 +374,19 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:21 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:21 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: @@ -405,36 +394,38 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:21 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: b"\npolicy0000042016-01-01T00:00:00Z2016-05-01T00:00:00Zra" headers: Connection: [keep-alive] Content-Length: ['268'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:21 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: body: {string: ''} headers: content-length: ['0'] - date: ['Thu, 08 Feb 2018 18:10:21 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 204, message: No Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:22 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:48 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: @@ -442,18 +433,19 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:22 GMT'] + date: ['Tue, 26 Jun 2018 23:08:48 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:22 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:48 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: @@ -461,10 +453,10 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:22 GMT'] + date: ['Tue, 26 Jun 2018 23:08:48 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -473,26 +465,28 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['60'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:22 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:48 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: body: {string: ''} headers: content-length: ['0'] - date: ['Thu, 08 Feb 2018 18:10:22 GMT'] + date: ['Tue, 26 Jun 2018 23:08:48 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 204, message: No Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:22 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:49 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=acl response: @@ -501,10 +495,10 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:22 GMT'] + date: ['Tue, 26 Jun 2018 23:08:49 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -513,67 +507,70 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['107'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:23 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:49 GMT'] + x-ms-version: ['2018-03-28'] method: POST uri: https://clitest000002.queue.core.windows.net/queue000003/messages response: - body: {string: "\uFEFF196e25f5-2636-41cd-95c4-e034e4289d85Thu,\ - \ 08 Feb 2018 18:10:23 GMTThu, 15 Feb 2018\ - \ 18:10:23 GMTAgAAAAMAAAAAAAAAtTquFgih0wE=Thu,\ - \ 08 Feb 2018 18:10:23 GMT"} + body: {string: "\uFEFFdeefae4a-fe04-46be-a7eb-7b02d7685555Tue,\ + \ 26 Jun 2018 23:08:49 GMTTue, 03 Jul 2018\ + \ 23:08:49 GMTAgAAAAMAAAAAAAAAa+ulpKIN1AE=Tue,\ + \ 26 Jun 2018 23:08:49 GMT"} headers: content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:23 GMT'] + date: ['Tue, 26 Jun 2018 23:08:49 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:23 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:50 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003/messages?peekonly=true response: - body: {string: "\uFEFF196e25f5-2636-41cd-95c4-e034e4289d85Thu,\ - \ 08 Feb 2018 18:10:23 GMTThu, 15 Feb 2018\ - \ 18:10:23 GMT0test\ + body: {string: "\uFEFFdeefae4a-fe04-46be-a7eb-7b02d7685555Tue,\ + \ 26 Jun 2018 23:08:49 GMTTue, 03 Jul 2018\ + \ 23:08:49 GMT0test\ \ message"} headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:23 GMT'] + date: ['Tue, 26 Jun 2018 23:08:49 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:23 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:50 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003/messages response: - body: {string: "\uFEFF196e25f5-2636-41cd-95c4-e034e4289d85Thu,\ - \ 08 Feb 2018 18:10:23 GMTThu, 15 Feb 2018\ - \ 18:10:23 GMTAgAAAAMAAAAAAAAAzUXzKAih0wE=Thu,\ - \ 08 Feb 2018 18:10:54 GMT1test\ + body: {string: "\uFEFFdeefae4a-fe04-46be-a7eb-7b02d7685555Tue,\ + \ 26 Jun 2018 23:08:49 GMTTue, 03 Jul 2018\ + \ 23:08:49 GMTAgAAAAMAAAAAAAAA52z/tqIN1AE=Tue,\ + \ 26 Jun 2018 23:09:20 GMT1test\ \ message"} headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:23 GMT'] + date: ['Tue, 26 Jun 2018 23:08:50 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -582,42 +579,44 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['107'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:24 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:50 GMT'] + x-ms-version: ['2018-03-28'] method: PUT - uri: https://clitest000002.queue.core.windows.net/queue000003/messages/196e25f5-2636-41cd-95c4-e034e4289d85?popreceipt=AgAAAAMAAAAAAAAAzUXzKAih0wE%3D&visibilitytimeout=1 + uri: https://clitest000002.queue.core.windows.net/queue000003/messages/deefae4a-fe04-46be-a7eb-7b02d7685555?popreceipt=AgAAAAMAAAAAAAAA52z%2FtqIN1AE%3D&visibilitytimeout=1 response: body: {string: ''} headers: content-length: ['0'] - date: ['Thu, 08 Feb 2018 18:10:24 GMT'] + date: ['Tue, 26 Jun 2018 23:08:50 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] - x-ms-popreceipt: [AwAAAAMAAAAAAAAAdkfgFwih0wEBAAAA] - x-ms-time-next-visible: ['Thu, 08 Feb 2018 18:10:25 GMT'] - x-ms-version: ['2017-07-29'] + x-ms-popreceipt: [AwAAAAMAAAAAAAAAv6n2paIN1AEBAAAA] + x-ms-time-next-visible: ['Tue, 26 Jun 2018 23:08:52 GMT'] + x-ms-version: ['2018-03-28'] status: {code: 204, message: No Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:26 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:53 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003/messages?peekonly=true response: - body: {string: "\uFEFF196e25f5-2636-41cd-95c4-e034e4289d85Thu,\ - \ 08 Feb 2018 18:10:23 GMTThu, 15 Feb 2018\ - \ 18:10:23 GMT1new\ + body: {string: "\uFEFFdeefae4a-fe04-46be-a7eb-7b02d7685555Tue,\ + \ 26 Jun 2018 23:08:49 GMTTue, 03 Jul 2018\ + \ 23:08:49 GMT1new\ \ message!"} headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:26 GMT'] + date: ['Tue, 26 Jun 2018 23:08:53 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -626,22 +625,23 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['109'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:26 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:53 GMT'] + x-ms-version: ['2018-03-28'] method: POST uri: https://clitest000002.queue.core.windows.net/queue000003/messages response: - body: {string: "\uFEFF364bd1d6-d54d-4395-8728-19f3e800b23eThu,\ - \ 08 Feb 2018 18:10:27 GMTThu, 15 Feb 2018\ - \ 18:10:27 GMTAgAAAAMAAAAAAAAACBvdGAih0wE=Thu,\ - \ 08 Feb 2018 18:10:27 GMT"} + body: {string: "\uFEFF52eef316-98a3-42d9-a466-51ecf42d37e1Tue,\ + \ 26 Jun 2018 23:08:53 GMTTue, 03 Jul 2018\ + \ 23:08:53 GMTAgAAAAMAAAAAAAAAUsULp6IN1AE=Tue,\ + \ 26 Jun 2018 23:08:53 GMT"} headers: content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:26 GMT'] + date: ['Tue, 26 Jun 2018 23:08:53 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: ' @@ -650,142 +650,149 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['108'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:27 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:54 GMT'] + x-ms-version: ['2018-03-28'] method: POST uri: https://clitest000002.queue.core.windows.net/queue000003/messages response: - body: {string: "\uFEFF6f040924-f5e6-4879-8c28-f2f112d379e3Thu,\ - \ 08 Feb 2018 18:10:27 GMTThu, 15 Feb 2018\ - \ 18:10:27 GMTAgAAAAMAAAAAAAAALs0PGQih0wE=Thu,\ - \ 08 Feb 2018 18:10:27 GMT"} + body: {string: "\uFEFF28fad102-3896-43ed-82e1-5a6f960c5e0eTue,\ + \ 26 Jun 2018 23:08:54 GMTTue, 03 Jul 2018\ + \ 23:08:54 GMTAgAAAAMAAAAAAAAAqPpBp6IN1AE=Tue,\ + \ 26 Jun 2018 23:08:54 GMT"} headers: content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:27 GMT'] + date: ['Tue, 26 Jun 2018 23:08:53 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:27 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:54 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003/messages?peekonly=true&numofmessages=32 response: - body: {string: "\uFEFF196e25f5-2636-41cd-95c4-e034e4289d85Thu,\ - \ 08 Feb 2018 18:10:23 GMTThu, 15 Feb 2018\ - \ 18:10:23 GMT1new\ - \ message!364bd1d6-d54d-4395-8728-19f3e800b23eThu,\ - \ 08 Feb 2018 18:10:27 GMTThu, 15 Feb 2018\ - \ 18:10:27 GMT0second\ - \ message6f040924-f5e6-4879-8c28-f2f112d379e3Thu,\ - \ 08 Feb 2018 18:10:27 GMTThu, 15 Feb 2018\ - \ 18:10:27 GMT0third\ + body: {string: "\uFEFFdeefae4a-fe04-46be-a7eb-7b02d7685555Tue,\ + \ 26 Jun 2018 23:08:49 GMTTue, 03 Jul 2018\ + \ 23:08:49 GMT1new\ + \ message!52eef316-98a3-42d9-a466-51ecf42d37e1Tue,\ + \ 26 Jun 2018 23:08:53 GMTTue, 03 Jul 2018\ + \ 23:08:53 GMT0second\ + \ message28fad102-3896-43ed-82e1-5a6f960c5e0eTue,\ + \ 26 Jun 2018 23:08:54 GMTTue, 03 Jul 2018\ + \ 23:08:54 GMT0third\ \ message"} headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:27 GMT'] + date: ['Tue, 26 Jun 2018 23:08:54 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:27 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:55 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003/messages response: - body: {string: "\uFEFF196e25f5-2636-41cd-95c4-e034e4289d85Thu,\ - \ 08 Feb 2018 18:10:23 GMTThu, 15 Feb 2018\ - \ 18:10:23 GMTAgAAAAMAAAAAAAAAoqZuKwih0wE=Thu,\ - \ 08 Feb 2018 18:10:58 GMT2new\ + body: {string: "\uFEFFdeefae4a-fe04-46be-a7eb-7b02d7685555Tue,\ + \ 26 Jun 2018 23:08:49 GMTTue, 03 Jul 2018\ + \ 23:08:49 GMTAgAAAAMAAAAAAAAA0gNVuqIN1AE=Tue,\ + \ 26 Jun 2018 23:09:26 GMT2new\ \ message!"} headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:27 GMT'] + date: ['Tue, 26 Jun 2018 23:08:55 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:28 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:56 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE - uri: https://clitest000002.queue.core.windows.net/queue000003/messages/196e25f5-2636-41cd-95c4-e034e4289d85?popreceipt=AgAAAAMAAAAAAAAAoqZuKwih0wE%3D + uri: https://clitest000002.queue.core.windows.net/queue000003/messages/deefae4a-fe04-46be-a7eb-7b02d7685555?popreceipt=AgAAAAMAAAAAAAAA0gNVuqIN1AE%3D response: body: {string: ''} headers: content-length: ['0'] - date: ['Thu, 08 Feb 2018 18:10:28 GMT'] + date: ['Tue, 26 Jun 2018 23:08:56 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 204, message: No Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:28 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:56 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003/messages?peekonly=true&numofmessages=32 response: - body: {string: "\uFEFF364bd1d6-d54d-4395-8728-19f3e800b23eThu,\ - \ 08 Feb 2018 18:10:27 GMTThu, 15 Feb 2018\ - \ 18:10:27 GMT0second\ - \ message6f040924-f5e6-4879-8c28-f2f112d379e3Thu,\ - \ 08 Feb 2018 18:10:27 GMTThu, 15 Feb 2018\ - \ 18:10:27 GMT0third\ + body: {string: "\uFEFF52eef316-98a3-42d9-a466-51ecf42d37e1Tue,\ + \ 26 Jun 2018 23:08:53 GMTTue, 03 Jul 2018\ + \ 23:08:53 GMT0second\ + \ message28fad102-3896-43ed-82e1-5a6f960c5e0eTue,\ + \ 26 Jun 2018 23:08:54 GMTTue, 03 Jul 2018\ + \ 23:08:54 GMT0third\ \ message"} headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:28 GMT'] + date: ['Tue, 26 Jun 2018 23:08:57 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:28 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:57 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE uri: https://clitest000002.queue.core.windows.net/queue000003/messages response: body: {string: ''} headers: content-length: ['0'] - date: ['Thu, 08 Feb 2018 18:10:29 GMT'] + date: ['Tue, 26 Jun 2018 23:08:57 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 204, message: No Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:29 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:57 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003/messages?peekonly=true&numofmessages=32 response: @@ -794,69 +801,71 @@ interactions: headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:28 GMT'] + date: ['Tue, 26 Jun 2018 23:08:57 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:29 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:58 GMT'] + x-ms-version: ['2018-03-28'] method: DELETE uri: https://clitest000002.queue.core.windows.net/queue000003 response: body: {string: ''} headers: content-length: ['0'] - date: ['Thu, 08 Feb 2018 18:10:29 GMT'] + date: ['Tue, 26 Jun 2018 23:08:59 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 204, message: No Content} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:29 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:59 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.queue.core.windows.net/queue000003?comp=metadata response: body: {string: "\uFEFFQueueNotFoundThe\ - \ specified queue does not exist.\nRequestId:ab265f14-0003-00cb-2a08-a13afb000000\n\ - Time:2018-02-08T18:10:30.2120603Z"} + \ specified queue does not exist.\nRequestId:5dc81227-6003-0128-48a2-0d653e000000\n\ + Time:2018-06-26T23:08:59.5817239Z"} headers: content-length: ['217'] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:29 GMT'] + date: ['Tue, 26 Jun 2018 23:08:59 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] x-ms-error-code: [QueueNotFound] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 404, message: The specified queue does not exist.} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.1.0-1.1.0 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.27] - x-ms-date: ['Thu, 08 Feb 2018 18:10:29 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:59 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002-secondary.queue.core.windows.net/?restype=service&comp=stats response: - body: {string: "\uFEFFliveThu,\ - \ 08 Feb 2018 18:08:38 GMT"} + body: {string: "\uFEFFunavailable"} headers: cache-control: [no-cache] content-type: [application/xml] - date: ['Thu, 08 Feb 2018 18:10:30 GMT'] + date: ['Tue, 26 Jun 2018 23:09:00 GMT'] server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -867,22 +876,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.21 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.27] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Thu, 08 Feb 2018 18:10:30 GMT'] + date: ['Tue, 26 Jun 2018 23:09:00 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkc3VUVYQklUTkdOR1BVT1hWVlY1NFdPRFJUQU9TVjZXNE4zUXwwODFBNjEzRDQyQkNERjQ5LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdDNFdNQUdQRk9PT1BGN1Y0Wkk1N1g2TVFHRkxXWEFQQldDWnxEMkQ5MTI2ODI0M0NGQUZCLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] - x-ms-ratelimit-remaining-subscription-writes: ['1187'] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_share_acl_scenarios.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_share_acl_scenarios.yaml index ab9378b455d..8763d2e3cbe 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_share_acl_scenarios.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_share_acl_scenarios.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:45:51Z"}}' + "date": "2018-06-26T23:08:47Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,55 +9,55 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:45:51Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:47Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:52 GMT'] + date: ['Tue, 26 Jun 2018 23:08:48 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['125'] + Content-Length: ['148'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:53 GMT'] + date: ['Tue, 26 Jun 2018 23:08:49 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/e7ddae0b-f4c9-4f86-b95d-6ffd48417905?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/70615a7a-8c8f-4b3e-8ec3-cda3afa1d652?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 202, message: Accepted} - request: body: null @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/e7ddae0b-f4c9-4f86-b95d-6ffd48417905?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/70615a7a-8c8f-4b3e-8ec3-cda3afa1d652?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:53.6685803Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:53.6685803Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:53.5904791Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:50.0750603Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:50.0750603Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:49.7157033Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1231'] + content-length: ['1252'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:10 GMT'] + date: ['Tue, 26 Jun 2018 23:09:06 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"QUd54/Jo5bT7xAKNnZlsCbZz0A2QWVTVVhAEu1v8LTmoinvyvTfRWuIyEI2HEO5d/Ez0LX+m5Wn7ATgkoXSa5g==","permissions":"FULL"},{"keyName":"key2","value":"DykqlYU443lHJcsyaBgq19YOwsI3jav0fWuy4mkQ+b1FM1+pWVoUe+6fMDxqWL7Ya+FrwlvgikZL5LgevJb3GA==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"YYHBUtIRZrPg6ooKNhlWvPhc/hGlqz1TlK1QYI2ClYcD9Hlda0XCH2OpmyMkBl3UYSkBFzuOFpjOm4uzvXHDow==","permissions":"FULL"},{"keyName":"key2","value":"YN94Vxi1NtW0wYReoQzXzfdIgJQe2SaLKpxYhClnb+GQKRYVVJ5zYyx9515ny91LcAvdywVGnEqT193mgkY1pA==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:11 GMT'] + date: ['Tue, 26 Jun 2018 23:09:08 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"QUd54/Jo5bT7xAKNnZlsCbZz0A2QWVTVVhAEu1v8LTmoinvyvTfRWuIyEI2HEO5d/Ez0LX+m5Wn7ATgkoXSa5g==","permissions":"FULL"},{"keyName":"key2","value":"DykqlYU443lHJcsyaBgq19YOwsI3jav0fWuy4mkQ+b1FM1+pWVoUe+6fMDxqWL7Ya+FrwlvgikZL5LgevJb3GA==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"YYHBUtIRZrPg6ooKNhlWvPhc/hGlqz1TlK1QYI2ClYcD9Hlda0XCH2OpmyMkBl3UYSkBFzuOFpjOm4uzvXHDow==","permissions":"FULL"},{"keyName":"key2","value":"YN94Vxi1NtW0wYReoQzXzfdIgJQe2SaLKpxYhClnb+GQKRYVVJ5zYyx9515ny91LcAvdywVGnEqT193mgkY1pA==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:46:12 GMT'] + date: ['Tue, 26 Jun 2018 23:09:08 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -148,37 +146,37 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] Content-Length: ['0'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:12 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:09 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:12 GMT'] - etag: ['"0x8D5AFACF594FBD5"'] - last-modified: ['Tue, 01 May 2018 21:46:13 GMT'] + date: ['Tue, 26 Jun 2018 23:09:09 GMT'] + etag: ['"0x8D5DBB9D3193BB6"'] + last-modified: ['Tue, 26 Jun 2018 23:09:09 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 201, message: Created} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:13 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:10 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: @@ -186,21 +184,21 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:13 GMT'] - etag: ['"0x8D5AFACF594FBD5"'] - last-modified: ['Tue, 01 May 2018 21:46:13 GMT'] + date: ['Tue, 26 Jun 2018 23:09:09 GMT'] + etag: ['"0x8D5DBB9D3193BB6"'] + last-modified: ['Tue, 26 Jun 2018 23:09:09 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:13 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:10 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: @@ -208,12 +206,12 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:13 GMT'] - etag: ['"0x8D5AFACF594FBD5"'] - last-modified: ['Tue, 01 May 2018 21:46:13 GMT'] + date: ['Tue, 26 Jun 2018 23:09:10 GMT'] + etag: ['"0x8D5DBB9D3193BB6"'] + last-modified: ['Tue, 26 Jun 2018 23:09:09 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -222,42 +220,42 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['184'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:14 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:10 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:13 GMT'] - etag: ['"0x8D5AFACF615BB26"'] - last-modified: ['Tue, 01 May 2018 21:46:14 GMT'] + date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + etag: ['"0x8D5DBB9D3AD38E2"'] + last-modified: ['Tue, 26 Jun 2018 23:09:10 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:14 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1l"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF615BB26"'] - last-modified: ['Tue, 01 May 2018 21:46:14 GMT'] + date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + etag: ['"0x8D5DBB9D3AD38E2"'] + last-modified: ['Tue, 26 Jun 2018 23:09:10 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -266,42 +264,42 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['296'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:14 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF67C097E"'] - last-modified: ['Tue, 01 May 2018 21:46:14 GMT'] + date: ['Tue, 26 Jun 2018 23:09:11 GMT'] + etag: ['"0x8D5DBB9D448DB91"'] + last-modified: ['Tue, 26 Jun 2018 23:09:11 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:14 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Z"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF67C097E"'] - last-modified: ['Tue, 01 May 2018 21:46:14 GMT'] + date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + etag: ['"0x8D5DBB9D448DB91"'] + last-modified: ['Tue, 26 Jun 2018 23:09:11 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -310,42 +308,42 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['413'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:15 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF6B6FA41"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + etag: ['"0x8D5DBB9D49C1908"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:15 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Z"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF6B6FA41"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + etag: ['"0x8D5DBB9D49C1908"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -354,147 +352,147 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['591'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:15 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:14 GMT'] - etag: ['"0x8D5AFACF6F76A43"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + etag: ['"0x8D5DBB9D4DBF0C1"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:15 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:15 GMT'] - etag: ['"0x8D5AFACF6F76A43"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:12 GMT'] + etag: ['"0x8D5DBB9D4DBF0C1"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:16 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:15 GMT'] - etag: ['"0x8D5AFACF6F76A43"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D4DBF0C1"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:16 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:16 GMT'] - etag: ['"0x8D5AFACF6F76A43"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D4DBF0C1"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:16 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:14 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:16 GMT'] - etag: ['"0x8D5AFACF6F76A43"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:13 GMT'] + etag: ['"0x8D5DBB9D4DBF0C1"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:17 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:14 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:16 GMT'] - etag: ['"0x8D5AFACF6F76A43"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:14 GMT'] + etag: ['"0x8D5DBB9D4DBF0C1"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:17 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1ltest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:17 GMT'] - etag: ['"0x8D5AFACF6F76A43"'] - last-modified: ['Tue, 01 May 2018 21:46:15 GMT'] + date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + etag: ['"0x8D5DBB9D4DBF0C1"'] + last-modified: ['Tue, 26 Jun 2018 23:09:12 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -503,63 +501,63 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['597'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:17 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:17 GMT'] - etag: ['"0x8D5AFACF83C80BD"'] - last-modified: ['Tue, 01 May 2018 21:46:17 GMT'] + date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + etag: ['"0x8D5DBB9D66ED9CE"'] + last-modified: ['Tue, 26 Jun 2018 23:09:15 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:17 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1rtest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:17 GMT'] - etag: ['"0x8D5AFACF83C80BD"'] - last-modified: ['Tue, 01 May 2018 21:46:17 GMT'] + date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + etag: ['"0x8D5DBB9D66ED9CE"'] + last-modified: ['Tue, 26 Jun 2018 23:09:15 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:18 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest1rtest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:18 GMT'] - etag: ['"0x8D5AFACF83C80BD"'] - last-modified: ['Tue, 01 May 2018 21:46:17 GMT'] + date: ['Tue, 26 Jun 2018 23:09:15 GMT'] + etag: ['"0x8D5DBB9D66ED9CE"'] + last-modified: ['Tue, 26 Jun 2018 23:09:15 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: ' @@ -568,42 +566,42 @@ interactions: headers: Connection: [keep-alive] Content-Length: ['491'] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:18 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + x-ms-version: ['2018-03-28'] method: PUT uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: ''} headers: - date: ['Tue, 01 May 2018 21:46:18 GMT'] - etag: ['"0x8D5AFACF8B8A4FF"'] - last-modified: ['Tue, 01 May 2018 21:46:18 GMT'] + date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + etag: ['"0x8D5DBB9D71F41FA"'] + last-modified: ['Tue, 26 Jun 2018 23:09:16 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null headers: Connection: [keep-alive] - User-Agent: [Azure-Storage/1.2.0rc0-1.1.0 (Python CPython 3.6.2; Windows 10) - AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:18 GMT'] - x-ms-version: ['2017-07-29'] + User-Agent: [Azure-Storage/1.2.0rc1-1.2.0rc1 (Python CPython 3.6.5; Windows + 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:09:17 GMT'] + x-ms-version: ['2018-03-28'] method: GET uri: https://clitest000002.file.core.windows.net/share000003?restype=share&comp=acl response: body: {string: "\uFEFFtest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zrwdl"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:18 GMT'] - etag: ['"0x8D5AFACF8B8A4FF"'] - last-modified: ['Tue, 01 May 2018 21:46:18 GMT'] + date: ['Tue, 26 Jun 2018 23:09:16 GMT'] + etag: ['"0x8D5DBB9D71F41FA"'] + last-modified: ['Tue, 26 Jun 2018 23:09:16 GMT'] server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] - x-ms-version: ['2017-07-29'] + x-ms-version: ['2018-03-28'] status: {code: 200, message: OK} - request: body: null @@ -614,23 +612,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:46:18 GMT'] + date: ['Tue, 26 Jun 2018 23:09:17 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdBTjZVVkpRVDQ2Rko0TEpPSlZDTlFaT1daVEdDQ1hJM0pOS3xDRDNCNDNDNUU5QTVCNTVCLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdZUTZIRjVTV0lJM1QySTI3RVg2SFBUQllPTVo1VFZQUURTQ3wwM0EzQUNFRkFGMTIwQjIwLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_table_main_scenario.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_table_main_scenario.yaml index acdd42171d5..a2dc7891d99 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_table_main_scenario.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_table_main_scenario.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-05-01T21:45:28Z"}}' + "date": "2018-06-26T23:08:21Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,49 +9,49 @@ interactions: Connection: [keep-alive] Content-Length: ['110'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:45:28Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:08:21Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['384'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:29 GMT'] + date: ['Tue, 26 Jun 2018 23:08:23 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "Storage", "location": "westus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['127'] + Content-Length: ['150'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:45:31 GMT'] + date: ['Tue, 26 Jun 2018 23:08:24 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/79bcc310-b663-4574-b037-da4e4560bf93?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b39bccde-9595-437f-80e8-2319d2cfe808?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] @@ -66,19 +66,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/79bcc310-b663-4574-b037-da4e4560bf93?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b39bccde-9595-437f-80e8-2319d2cfe808?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:31.1057749Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:45:31.1057749Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:45:30.8713726Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} + body: {string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:24.6401524Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:08:24.6401524Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:08:24.3589132Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://clitest000002-secondary.blob.core.windows.net/","queue":"https://clitest000002-secondary.queue.core.windows.net/","table":"https://clitest000002-secondary.table.core.windows.net/"}}}'} headers: cache-control: [no-cache] - content-length: ['1546'] + content-length: ['1567'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:48 GMT'] + date: ['Tue, 26 Jun 2018 23:08:42 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -97,18 +95,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"Z3FEYeyIW6IQcbvStmYTdFMLV8s5CdlOSPJtcyjUcYiHUVsqFZ4vEhVc2l+gHDZ1RRmzHGJWFLzjSLx+MpTunQ==","permissions":"FULL"},{"keyName":"key2","value":"lP99LhszlGpYtEg9vFPFsTiVhY4yUzSOGR/uvL5Cy5EMBnu4Xd+EPS2PCfu4trIeppI7wWqUbSawLYjo7DhUBQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"JlbmCfNoyEXo5wkDRdDGnKxRPVI36ZNVxWGDhdORDwTAlEKQG49ozVtbs5HFkBAUtmehCfpWChxt4+hk065sJg==","permissions":"FULL"},{"keyName":"key2","value":"wiLRYk7fJJ42b/Xjc0SFyACMfpOMpi5IlciQemtwhqNyGk1d6sDloEE9H+sOY8GlUZmqLlgsgVuCK6vAt2L2lw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:49 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -128,18 +126,18 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview response: - body: {string: '{"keys":[{"keyName":"key1","value":"Z3FEYeyIW6IQcbvStmYTdFMLV8s5CdlOSPJtcyjUcYiHUVsqFZ4vEhVc2l+gHDZ1RRmzHGJWFLzjSLx+MpTunQ==","permissions":"FULL"},{"keyName":"key2","value":"lP99LhszlGpYtEg9vFPFsTiVhY4yUzSOGR/uvL5Cy5EMBnu4Xd+EPS2PCfu4trIeppI7wWqUbSawLYjo7DhUBQ==","permissions":"FULL"}]}'} + body: {string: '{"keys":[{"keyName":"key1","value":"JlbmCfNoyEXo5wkDRdDGnKxRPVI36ZNVxWGDhdORDwTAlEKQG49ozVtbs5HFkBAUtmehCfpWChxt4+hk065sJg==","permissions":"FULL"},{"keyName":"key2","value":"wiLRYk7fJJ42b/Xjc0SFyACMfpOMpi5IlciQemtwhqNyGk1d6sDloEE9H+sOY8GlUZmqLlgsgVuCK6vAt2L2lw==","permissions":"FULL"}]}'} headers: cache-control: [no-cache] content-length: ['288'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:45:49 GMT'] + date: ['Tue, 26 Jun 2018 23:08:43 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -160,8 +158,8 @@ interactions: DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] Prefer: [return-no-content] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:50 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] x-ms-version: ['2017-04-17'] method: POST uri: https://clitest000002.table.core.windows.net/Tables @@ -170,8 +168,8 @@ interactions: headers: cache-control: [no-cache] content-length: ['0'] - dataserviceid: ['https://clitestydki2n33vwyrmdoub.table.core.windows.net/Tables(''tablewtfhpnleqm5yr2w4clw'')'] - date: ['Tue, 01 May 2018 21:45:50 GMT'] + dataserviceid: ['https://clitestwsodwsjh3pop6g7z5.table.core.windows.net/Tables(''tablehlq3vvkgsf3nzftls7k'')'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] location: ['https://clitest000002.table.core.windows.net/Tables(''table000003'')'] preference-applied: [return-no-content] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] @@ -185,8 +183,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:51 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/Tables('table000003') @@ -195,7 +193,7 @@ interactions: headers: cache-control: [no-cache] content-type: [application/json;odata=nometadata;streaming=true;charset=utf-8] - date: ['Tue, 01 May 2018 21:45:51 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-content-type-options: [nosniff] @@ -208,8 +206,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:51 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:44 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/Tables @@ -218,7 +216,7 @@ interactions: headers: cache-control: [no-cache] content-type: [application/json;odata=nometadata;streaming=true;charset=utf-8] - date: ['Tue, 01 May 2018 21:45:50 GMT'] + date: ['Tue, 26 Jun 2018 23:08:44 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-content-type-options: [nosniff] @@ -235,8 +233,8 @@ interactions: DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] Prefer: [return-no-content] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:52 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] x-ms-version: ['2017-04-17'] method: POST uri: https://clitest000002.table.core.windows.net/table000003 @@ -245,9 +243,9 @@ interactions: headers: cache-control: [no-cache] content-length: ['0'] - dataserviceid: ['https://clitestydki2n33vwyrmdoub.table.core.windows.net/tablewtfhpnleqm5yr2w4clw(PartitionKey=''001'',RowKey=''001'')'] - date: ['Tue, 01 May 2018 21:45:52 GMT'] - etag: [W/"datetime'2018-05-01T21%3A45%3A52.1464357Z'"] + dataserviceid: ['https://clitestwsodwsjh3pop6g7z5.table.core.windows.net/tablehlq3vvkgsf3nzftls7k(PartitionKey=''001'',RowKey=''001'')'] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: [W/"datetime'2018-06-26T23%3A08%3A45.6393203Z'"] location: ['https://clitest000002.table.core.windows.net/table000003(PartitionKey=''001'',RowKey=''001'')'] preference-applied: [return-no-content] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] @@ -261,18 +259,18 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:52 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:45 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003(PartitionKey='001',RowKey='001') response: - body: {string: '{"odata.metadata":"https://clitest000002.table.core.windows.net/$metadata#table000003/@Element","odata.etag":"W/\"datetime''2018-05-01T21%3A45%3A52.1464357Z''\"","PartitionKey":"001","RowKey":"001","Timestamp":"2018-05-01T21:45:52.1464357Z","name":"test","value":"something"}'} + body: {string: '{"odata.metadata":"https://clitest000002.table.core.windows.net/$metadata#table000003/@Element","odata.etag":"W/\"datetime''2018-06-26T23%3A08%3A45.6393203Z''\"","PartitionKey":"001","RowKey":"001","Timestamp":"2018-06-26T23:08:45.6393203Z","name":"test","value":"something"}'} headers: cache-control: [no-cache] content-type: [application/json;odata=minimalmetadata;streaming=true;charset=utf-8] - date: ['Tue, 01 May 2018 21:45:52 GMT'] - etag: [W/"datetime'2018-05-01T21%3A45%3A52.1464357Z'"] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: [W/"datetime'2018-06-26T23%3A08%3A45.6393203Z'"] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-content-type-options: [nosniff] @@ -285,18 +283,18 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:52 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003(PartitionKey='001',RowKey='001')?%24select=name response: - body: {string: '{"odata.metadata":"https://clitest000002.table.core.windows.net/$metadata#table000003/@Element&$select=name","odata.etag":"W/\"datetime''2018-05-01T21%3A45%3A52.1464357Z''\"","name":"test"}'} + body: {string: '{"odata.metadata":"https://clitest000002.table.core.windows.net/$metadata#table000003/@Element&$select=name","odata.etag":"W/\"datetime''2018-06-26T23%3A08%3A45.6393203Z''\"","name":"test"}'} headers: cache-control: [no-cache] content-type: [application/json;odata=minimalmetadata;streaming=true;charset=utf-8] - date: ['Tue, 01 May 2018 21:45:52 GMT'] - etag: [W/"datetime'2018-05-01T21%3A45%3A52.1464357Z'"] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: [W/"datetime'2018-06-26T23%3A08%3A45.6393203Z'"] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-content-type-options: [nosniff] @@ -312,8 +310,8 @@ interactions: DataServiceVersion: [3.0;NetFx] If-Match: ['*'] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:53 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] x-ms-version: ['2017-04-17'] method: MERGE uri: https://clitest000002.table.core.windows.net/table000003(PartitionKey='001',RowKey='001') @@ -322,8 +320,8 @@ interactions: headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:52 GMT'] - etag: [W/"datetime'2018-05-01T21%3A45%3A53.2291965Z'"] + date: ['Tue, 26 Jun 2018 23:08:45 GMT'] + etag: [W/"datetime'2018-06-26T23%3A08%3A46.6319688Z'"] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-content-type-options: [nosniff] x-ms-version: ['2017-04-17'] @@ -335,18 +333,18 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:53 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:46 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003(PartitionKey='001',RowKey='001') response: - body: {string: '{"odata.metadata":"https://clitest000002.table.core.windows.net/$metadata#table000003/@Element","odata.etag":"W/\"datetime''2018-05-01T21%3A45%3A53.2291965Z''\"","PartitionKey":"001","RowKey":"001","Timestamp":"2018-05-01T21:45:53.2291965Z","name":"test","value":"newval"}'} + body: {string: '{"odata.metadata":"https://clitest000002.table.core.windows.net/$metadata#table000003/@Element","odata.etag":"W/\"datetime''2018-06-26T23%3A08%3A46.6319688Z''\"","PartitionKey":"001","RowKey":"001","Timestamp":"2018-06-26T23:08:46.6319688Z","name":"test","value":"newval"}'} headers: cache-control: [no-cache] content-type: [application/json;odata=minimalmetadata;streaming=true;charset=utf-8] - date: ['Tue, 01 May 2018 21:45:53 GMT'] - etag: [W/"datetime'2018-05-01T21%3A45%3A53.2291965Z'"] + date: ['Tue, 26 Jun 2018 23:08:46 GMT'] + etag: [W/"datetime'2018-06-26T23%3A08%3A46.6319688Z'"] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-content-type-options: [nosniff] @@ -362,8 +360,8 @@ interactions: DataServiceVersion: [3.0;NetFx] If-Match: ['*'] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:53 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] x-ms-version: ['2017-04-17'] method: PUT uri: https://clitest000002.table.core.windows.net/table000003(PartitionKey='001',RowKey='001') @@ -372,8 +370,8 @@ interactions: headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:53 GMT'] - etag: [W/"datetime'2018-05-01T21%3A45%3A53.8687998Z'"] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + etag: [W/"datetime'2018-06-26T23%3A08%3A47.3156198Z'"] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-content-type-options: [nosniff] x-ms-version: ['2017-04-17'] @@ -385,18 +383,18 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:54 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003(PartitionKey='001',RowKey='001') response: - body: {string: '{"odata.metadata":"https://clitest000002.table.core.windows.net/$metadata#table000003/@Element","odata.etag":"W/\"datetime''2018-05-01T21%3A45%3A53.8687998Z''\"","PartitionKey":"001","RowKey":"001","Timestamp":"2018-05-01T21:45:53.8687998Z","cat":"hat"}'} + body: {string: '{"odata.metadata":"https://clitest000002.table.core.windows.net/$metadata#table000003/@Element","odata.etag":"W/\"datetime''2018-06-26T23%3A08%3A47.3156198Z''\"","PartitionKey":"001","RowKey":"001","Timestamp":"2018-06-26T23:08:47.3156198Z","cat":"hat"}'} headers: cache-control: [no-cache] content-type: [application/json;odata=minimalmetadata;streaming=true;charset=utf-8] - date: ['Tue, 01 May 2018 21:45:53 GMT'] - etag: [W/"datetime'2018-05-01T21%3A45%3A53.8687998Z'"] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] + etag: [W/"datetime'2018-06-26T23%3A08%3A47.3156198Z'"] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-content-type-options: [nosniff] @@ -411,8 +409,8 @@ interactions: DataServiceVersion: [3.0;NetFx] If-Match: ['*'] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:54 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:47 GMT'] x-ms-version: ['2017-04-17'] method: DELETE uri: https://clitest000002.table.core.windows.net/table000003(PartitionKey='001',RowKey='001') @@ -421,7 +419,7 @@ interactions: headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:54 GMT'] + date: ['Tue, 26 Jun 2018 23:08:47 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-content-type-options: [nosniff] x-ms-version: ['2017-04-17'] @@ -433,18 +431,18 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:54 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:48 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003(PartitionKey='001',RowKey='001') response: body: {string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:281b235d-b002-00dd-2595-e1beac000000\nTime:2018-05-01T21:45:54.8674700Z"}}}'} + specified resource does not exist.\nRequestId:7fbb20d5-7002-00a6-14a2-0dd51c000000\nTime:2018-06-26T23:08:48.3293034Z"}}}'} headers: cache-control: [no-cache] content-type: [application/json;odata=minimalmetadata;streaming=true;charset=utf-8] - date: ['Tue, 01 May 2018 21:45:53 GMT'] + date: ['Tue, 26 Jun 2018 23:08:48 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-content-type-options: [nosniff] @@ -456,8 +454,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:55 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:48 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -466,7 +464,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:54 GMT'] + date: ['Tue, 26 Jun 2018 23:08:48 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -477,8 +475,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:55 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:48 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -487,7 +485,7 @@ interactions: \ />"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:55 GMT'] + date: ['Tue, 26 Jun 2018 23:08:48 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -501,8 +499,8 @@ interactions: Content-Length: ['184'] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:55 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:49 GMT'] x-ms-version: ['2017-04-17'] method: PUT uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -510,7 +508,7 @@ interactions: body: {string: ''} headers: content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:55 GMT'] + date: ['Tue, 26 Jun 2018 23:08:50 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2017-04-17'] status: {code: 204, message: No Content} @@ -520,8 +518,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:55 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:51 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -529,7 +527,7 @@ interactions: body: {string: "\uFEFFtest1a"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:55 GMT'] + date: ['Tue, 26 Jun 2018 23:08:51 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -543,8 +541,8 @@ interactions: Content-Length: ['296'] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:55 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:51 GMT'] x-ms-version: ['2017-04-17'] method: PUT uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -552,7 +550,7 @@ interactions: body: {string: ''} headers: content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:55 GMT'] + date: ['Tue, 26 Jun 2018 23:08:51 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2017-04-17'] status: {code: 204, message: No Content} @@ -562,8 +560,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:56 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:52 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -571,7 +569,7 @@ interactions: body: {string: "\uFEFFtest1atest22016-01-01T00:00:00.0000000Z"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:55 GMT'] + date: ['Tue, 26 Jun 2018 23:08:52 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -585,8 +583,8 @@ interactions: Content-Length: ['413'] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:56 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:52 GMT'] x-ms-version: ['2017-04-17'] method: PUT uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -594,7 +592,7 @@ interactions: body: {string: ''} headers: content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:55 GMT'] + date: ['Tue, 26 Jun 2018 23:08:52 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2017-04-17'] status: {code: 204, message: No Content} @@ -604,8 +602,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:56 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:53 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -613,7 +611,7 @@ interactions: body: {string: "\uFEFFtest1atest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Z"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:56 GMT'] + date: ['Tue, 26 Jun 2018 23:08:53 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -627,8 +625,8 @@ interactions: Content-Length: ['591'] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:56 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:53 GMT'] x-ms-version: ['2017-04-17'] method: PUT uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -636,7 +634,7 @@ interactions: body: {string: ''} headers: content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:56 GMT'] + date: ['Tue, 26 Jun 2018 23:08:53 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2017-04-17'] status: {code: 204, message: No Content} @@ -646,8 +644,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:57 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:53 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -655,7 +653,7 @@ interactions: body: {string: "\uFEFFtest1atest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zraud"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:56 GMT'] + date: ['Tue, 26 Jun 2018 23:08:53 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -666,8 +664,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:57 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:54 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -675,7 +673,7 @@ interactions: body: {string: "\uFEFFtest1atest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zraud"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:56 GMT'] + date: ['Tue, 26 Jun 2018 23:08:54 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -686,8 +684,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:57 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:54 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -695,7 +693,7 @@ interactions: body: {string: "\uFEFFtest1atest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zraud"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:57 GMT'] + date: ['Tue, 26 Jun 2018 23:08:53 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -706,8 +704,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:58 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:55 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -715,7 +713,7 @@ interactions: body: {string: "\uFEFFtest1atest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zraud"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:57 GMT'] + date: ['Tue, 26 Jun 2018 23:08:54 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -726,8 +724,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:58 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:55 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -735,7 +733,7 @@ interactions: body: {string: "\uFEFFtest1atest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zraud"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:57 GMT'] + date: ['Tue, 26 Jun 2018 23:08:55 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -746,8 +744,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:58 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:55 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -755,7 +753,7 @@ interactions: body: {string: "\uFEFFtest1atest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zraud"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:58 GMT'] + date: ['Tue, 26 Jun 2018 23:08:55 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -769,8 +767,8 @@ interactions: Content-Length: ['598'] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:58 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:56 GMT'] x-ms-version: ['2017-04-17'] method: PUT uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -778,7 +776,7 @@ interactions: body: {string: ''} headers: content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:58 GMT'] + date: ['Tue, 26 Jun 2018 23:08:55 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2017-04-17'] status: {code: 204, message: No Content} @@ -788,8 +786,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:59 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:56 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -797,7 +795,7 @@ interactions: body: {string: "\uFEFFtest1autest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zraud"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:58 GMT'] + date: ['Tue, 26 Jun 2018 23:08:56 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -808,8 +806,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:59 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:56 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -817,7 +815,7 @@ interactions: body: {string: "\uFEFFtest1autest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zraud"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:58 GMT'] + date: ['Tue, 26 Jun 2018 23:08:56 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -831,8 +829,8 @@ interactions: Content-Length: ['491'] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:59 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:57 GMT'] x-ms-version: ['2017-04-17'] method: PUT uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -840,7 +838,7 @@ interactions: body: {string: ''} headers: content-length: ['0'] - date: ['Tue, 01 May 2018 21:45:58 GMT'] + date: ['Tue, 26 Jun 2018 23:08:57 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-ms-version: ['2017-04-17'] status: {code: 204, message: No Content} @@ -850,8 +848,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:45:59 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:57 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/table000003?comp=acl @@ -859,7 +857,7 @@ interactions: body: {string: "\uFEFFtest22016-01-01T00:00:00.0000000Ztest32018-01-01T00:00:00.0000000Ztest42016-01-01T00:00:00.0000000Z2016-05-01T00:00:00.0000000Zraud"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:45:59 GMT'] + date: ['Tue, 26 Jun 2018 23:08:57 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -872,8 +870,8 @@ interactions: Content-Length: ['0'] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:00 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:57 GMT'] x-ms-version: ['2017-04-17'] method: DELETE uri: https://clitest000002.table.core.windows.net/Tables('table000003') @@ -882,7 +880,7 @@ interactions: headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:46:00 GMT'] + date: ['Tue, 26 Jun 2018 23:08:57 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] x-content-type-options: [nosniff] x-ms-version: ['2017-04-17'] @@ -894,18 +892,18 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:00 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:58 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002.table.core.windows.net/Tables('table000003') response: body: {string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:a8068353-4002-00ae-0a95-e1ce6f000000\nTime:2018-05-01T21:46:00.8222096Z"}}}'} + specified resource does not exist.\nRequestId:312e7083-1002-003e-62a2-0d5b23000000\nTime:2018-06-26T23:08:58.4440488Z"}}}'} headers: cache-control: [no-cache] content-type: [application/json;odata=nometadata;streaming=true;charset=utf-8] - date: ['Tue, 01 May 2018 21:46:00 GMT'] + date: ['Tue, 26 Jun 2018 23:08:58 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-content-type-options: [nosniff] @@ -917,8 +915,8 @@ interactions: Connection: [keep-alive] DataServiceVersion: [3.0;NetFx] MaxDataServiceVersion: ['3.0'] - User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.2; Windows 10) AZURECLI/2.0.32] - x-ms-date: ['Tue, 01 May 2018 21:46:00 GMT'] + User-Agent: [Azure-CosmosDB/0.37.1 (Python CPython 3.6.5; Windows 10) AZURECLI/2.0.40] + x-ms-date: ['Tue, 26 Jun 2018 23:08:58 GMT'] x-ms-version: ['2017-04-17'] method: GET uri: https://clitest000002-secondary.table.core.windows.net/?restype=service&comp=stats @@ -926,7 +924,7 @@ interactions: body: {string: "\uFEFFunavailable"} headers: content-type: [application/xml] - date: ['Tue, 01 May 2018 21:46:01 GMT'] + date: ['Tue, 26 Jun 2018 23:08:58 GMT'] server: [Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0] transfer-encoding: [chunked] x-ms-version: ['2017-04-17'] @@ -940,23 +938,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:46:01 GMT'] + date: ['Tue, 26 Jun 2018 23:08:59 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdBVU5HT1JXWVBBR1VRMlVFSDc3VllFWFc3QkRNVTcyWjdWSnxDOEZGRDEyMEQyOTc4OThCLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdaQUJTTlozTE8zSkVFRldJVDRWT0lOQkVSTjUyNE5OVEc1R3wzQUE1QkQ3NUUxQjMxM0MwLVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_update_storage_account_with_assigned_identity.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_update_storage_account_with_assigned_identity.yaml index 7b6d705f6c1..611b74e98ad 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_update_storage_account_with_assigned_identity.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_update_storage_account_with_assigned_identity.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause": - "automation", "date": "2018-05-01T21:51:44Z"}}' + "automation", "date": "2018-06-26T23:14:49Z"}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] @@ -9,19 +9,19 @@ interactions: Connection: [keep-alive] Content-Length: ['118'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:51:44Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:14:49Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['392'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:45 GMT'] + date: ['Tue, 26 Jun 2018 23:14:50 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -36,19 +36,19 @@ interactions: CommandName: [storage account create] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-05-01T21:51:44Z"},"properties":{"provisioningState":"Succeeded"}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-06-26T23:14:49Z"},"properties":{"provisioningState":"Succeeded"}}'} headers: cache-control: [no-cache] content-length: ['392'] content-type: [application/json; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:45 GMT'] + date: ['Tue, 26 Jun 2018 23:14:50 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -57,34 +57,34 @@ interactions: status: {code: 200, message: OK} - request: body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "southcentralus", - "properties": {"supportsHttpsTrafficOnly": false}}' + "properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Length: ['133'] + Content-Length: ['156'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] content-type: [text/plain; charset=utf-8] - date: ['Tue, 01 May 2018 21:51:47 GMT'] + date: ['Tue, 26 Jun 2018 23:14:52 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/1157a6d0-1a72-479b-bdb7-5a1b7bb482ed?monitor=true&api-version=2017-10-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/37b57f4b-6a05-41ac-b355-1cae9dff720f?monitor=true&api-version=2018-03-01-preview'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0'] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1194'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 202, message: Accepted} - request: body: null @@ -93,19 +93,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] CommandName: [storage account create] Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] - accept-language: [en-US] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/1157a6d0-1a72-479b-bdb7-5a1b7bb482ed?monitor=true&api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/southcentralus/asyncoperations/37b57f4b-6a05-41ac-b355-1cae9dff720f?monitor=true&api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:51:47.7085650Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:51:47.7085650Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:51:47.6460648Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:52.4927742Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:52.4927742Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:14:52.3833906Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1247'] + content-length: ['1268'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:52:05 GMT'] + date: ['Tue, 26 Jun 2018 23:15:10 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -123,18 +121,18 @@ interactions: CommandName: [storage account update] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: - body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:51:47.7085650Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:51:47.7085650Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:51:47.6460648Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} + body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:52.4927742Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:52.4927742Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:14:52.3833906Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1247'] + content-length: ['1268'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:52:06 GMT'] + date: ['Tue, 26 Jun 2018 23:15:10 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -157,18 +155,18 @@ interactions: Connection: [keep-alive] Content-Length: ['366'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 azure-mgmt-storage/1.5.0 Azure-SDK-For-Python AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 azure-mgmt-storage/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.0.40] accept-language: [en-US] method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2017-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2018-03-01-preview response: - body: {string: '{"identity":{"principalId":"e4f48cdc-5905-49fd-98f5-13ef0b6cbff9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-05-01T21:51:47.7085650Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-05-01T21:51:47.7085650Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-05-01T21:51:47.6460648Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} + body: {string: '{"identity":{"principalId":"2d67b8a2-71d8-4e83-99d3-50c4093118e1","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:52.4927742Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-06-26T23:14:52.4927742Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-06-26T23:14:52.3833906Z","primaryEndpoints":{"blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}}'} headers: cache-control: [no-cache] - content-length: ['1387'] + content-length: ['1408'] content-type: [application/json] - date: ['Tue, 01 May 2018 21:52:09 GMT'] + date: ['Tue, 26 Jun 2018 23:15:14 GMT'] expires: ['-1'] pragma: [no-cache] server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 @@ -177,7 +175,7 @@ interactions: transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1196'] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] status: {code: 200, message: OK} - request: body: null @@ -188,23 +186,23 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.2 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.26 - msrest_azure/0.4.25 resourcemanagementclient/1.2.1 Azure-SDK-For-Python - AZURECLI/2.0.32] + User-Agent: [python/3.6.5 (Windows-10-10.0.17134-SP0) requests/2.19.0 msrest/0.5.0 + msrest_azure/0.4.31 resourcemanagementclient/2.0.0rc2 Azure-SDK-For-Python + AZURECLI/2.0.40] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2017-05-10 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01 response: body: {string: ''} headers: cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 01 May 2018 21:52:10 GMT'] + date: ['Tue, 26 Jun 2018 23:15:15 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdDVkdPMk1FWkZVRkpHWjRFVE82R1lQNldIUks1R0RDRTZWT3wwN0RDNUFFOTU1NTdFMjRBLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2017-05-10'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdMNE5CWVlMWEM0NTMzUEpPTjY0Wk5OWkJNNVVUQ0VYU0FMVnxCQzM0Q0Q4OTFERDJGRTMwLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] status: {code: 202, message: Accepted} version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_immutability_policy.py b/src/storage-preview/azext_storage_preview/tests/latest/test_immutability_policy.py new file mode 100644 index 00000000000..062193f3395 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_immutability_policy.py @@ -0,0 +1,56 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.testsdk import (ScenarioTest, JMESPathCheck, ResourceGroupPreparer, StorageAccountPreparer) +from msrestazure.azure_exceptions import CloudError + + +class StorageImmutabilityPolicy(ScenarioTest): + @ResourceGroupPreparer() + def test_storage_immutability_policy(self, resource_group): + storage_account = self.create_random_name('clistorage', 20) + self.cmd('storage account create -g {} -n {} --kind StorageV2'.format( + resource_group, storage_account)) + container_name = 'container1' + self.cmd('storage container create --account-name {} -n {}'.format(storage_account, container_name)) + + self.cmd('az storage container immutability-policy create --account-name {} -c {} -g {} --period 1'.format( + storage_account, container_name, resource_group), checks=[ + JMESPathCheck('immutabilityPeriodSinceCreationInDays', 1)]) + + policy_etag = self.cmd('az storage container immutability-policy show --account-name {} -c {} -g {}'.format( + storage_account, container_name, resource_group), checks=[ + JMESPathCheck('immutabilityPeriodSinceCreationInDays', 1)]).get_output_in_json().get('etag') + + self.cmd('az storage container immutability-policy delete --account-name {} -c {} -g {} --if-match {}'.format( + storage_account, container_name, resource_group, repr(policy_etag))) + + self.cmd('az storage container immutability-policy show --account-name {} -c {} -g {}'.format( + storage_account, container_name, resource_group)) + + self.cmd('az storage container immutability-policy create --account-name {} -c {} -g {} --period 1'.format( + storage_account, container_name, resource_group), checks=[ + JMESPathCheck('immutabilityPeriodSinceCreationInDays', 1)]) + + policy_etag = self.cmd('az storage container immutability-policy show --account-name {} -c {} -g {}'.format( + storage_account, container_name, resource_group), checks=[ + JMESPathCheck('immutabilityPeriodSinceCreationInDays', 1)]).get_output_in_json().get('etag') + + self.cmd('az storage container immutability-policy lock --account-name {} -c {} -g {} --if-match {}'.format( + storage_account, container_name, resource_group, repr(policy_etag))) + + policy_etag = self.cmd('az storage container immutability-policy show --account-name {} -c {} -g {}'.format( + storage_account, container_name, resource_group), checks=[ + JMESPathCheck('immutabilityPeriodSinceCreationInDays', 1)]).get_output_in_json().get('etag') + + # cannot delete locked policy + with self.assertRaises(CloudError): + self.cmd('az storage container immutability-policy delete --account-name {} -c {} -g {} ' + '--if-match {}'.format(storage_account, container_name, resource_group, repr(policy_etag))) + + self.cmd('az storage container immutability-policy extend --period 2 ' + '--account-name {} -c {} -g {} --if-match {}'.format( + storage_account, container_name, resource_group, repr(policy_etag)), checks=[ + JMESPathCheck('immutabilityPeriodSinceCreationInDays', 2)]) diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_legal_hold.py b/src/storage-preview/azext_storage_preview/tests/latest/test_legal_hold.py new file mode 100644 index 00000000000..2267a038338 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_legal_hold.py @@ -0,0 +1,29 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.testsdk import (ScenarioTest, JMESPathCheck, ResourceGroupPreparer, StorageAccountPreparer) + + +class StorageLegalHold(ScenarioTest): + @ResourceGroupPreparer() + def test_storage_legal_hold(self, resource_group): + storage_account = self.create_random_name('clistorage', 20) + self.cmd('storage account create -g {} -n {} --kind StorageV2'.format( + resource_group, storage_account)) + container_name = 'container1' + self.cmd('storage container create --account-name {} -n {}'.format(storage_account, container_name)) + + self.cmd('storage container legal-hold show --account-name {} -c {} -g {}'.format( + storage_account, container_name, resource_group), checks=[ + JMESPathCheck("tags", [])]) + + result = self.cmd('storage container legal-hold set --account-name {} -c {} -g {} --tags tag1 tag2'.format( + storage_account, container_name, resource_group)).get_output_in_json() + self.assertIn("tag1", result.get("tags")) + self.assertIn("tag2", result.get("tags")) + + self.cmd('storage container legal-hold clear --account-name {} -c {} -g {} --tags tag1 tag2'.format( + storage_account, container_name, resource_group), checks=[ + JMESPathCheck("tags", [])]) diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_account_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_account_scenarios.py index 3f7735de44a..ba46e1ecd42 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_account_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_account_scenarios.py @@ -6,11 +6,12 @@ StorageAccountPreparer, api_version_constraint) from azure.cli.core.profiles import ResourceType from .storage_test_util import StorageScenarioMixin +from ...profiles import CUSTOM_MGMT_STORAGE -@api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-12-01') +@api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class StorageAccountTests(StorageScenarioMixin, ScenarioTest): - @api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2017-06-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2017-06-01') @ResourceGroupPreparer(name_prefix='cli_test_storage_service_endpoints') @StorageAccountPreparer() def test_storage_account_service_endpoints(self, resource_group, storage_account): @@ -58,7 +59,7 @@ def test_storage_account_service_endpoints(self, resource_group, storage_account JMESPathCheck('length(virtualNetworkRules)', 0) ]) - @api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2017-06-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2017-06-01') @ResourceGroupPreparer(location='southcentralus') def test_create_storage_account_with_assigned_identity(self, resource_group): name = self.create_random_name(prefix='cli', length=24) @@ -69,7 +70,7 @@ def test_create_storage_account_with_assigned_identity(self, resource_group): self.assertTrue(result['identity']['principalId']) self.assertTrue(result['identity']['tenantId']) - @api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2017-06-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2017-06-01') @ResourceGroupPreparer(location='southcentralus') def test_update_storage_account_with_assigned_identity(self, resource_group): name = self.create_random_name(prefix='cli', length=24) @@ -127,7 +128,7 @@ def test_create_storage_account(self, resource_group, location): self.cmd('storage account check-name --name {}'.format(name), checks=JMESPathCheck('nameAvailable', True)) - @api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2017-10-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2017-10-01') @ResourceGroupPreparer(parameter_name_for_location='location', location='southcentralus') def test_create_storage_account_v2(self, resource_group, location): self.kwargs.update({ @@ -135,15 +136,16 @@ def test_create_storage_account_v2(self, resource_group, location): 'loc': location }) - self.cmd('storage account create -n {name} -g {rg} -l {loc} --kind StorageV2', - checks=[JMESPathCheck('kind', 'StorageV2')]) + self.cmd('storage account create -n {name} -g {rg} -l {loc} --kind StorageV2 --hierarchical-namespace', + checks=[JMESPathCheck('kind', 'StorageV2'), + JMESPathCheck('isHnsEnabled', True)]) self.cmd('storage account check-name --name {name}', checks=[ JMESPathCheck('nameAvailable', False), JMESPathCheck('reason', 'AlreadyExists') ]) - @api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-01-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2016-01-01') @ResourceGroupPreparer(location='southcentralus') def test_storage_create_default_sku(self, resource_group): name = self.create_random_name(prefix='cli', length=24) @@ -152,6 +154,7 @@ def test_storage_create_default_sku(self, resource_group): def test_show_usage(self): self.cmd('storage account show-usage', checks=JMESPathCheck('name.value', 'StorageAccounts')) + self.cmd('storage account show-usage -l centraluseuap', checks=JMESPathCheck('name.value', 'StorageAccounts')) @ResourceGroupPreparer() @StorageAccountPreparer() @@ -253,8 +256,28 @@ def test_customer_managed_key(self, resource_group, storage_account): '--encryption-key-name testkey ' '--encryption-key-version {ver} ') + @ResourceGroupPreparer(location='eastus2euap') + def test_management_policy(self, resource_group): + import os + from msrestazure.azure_exceptions import CloudError + curr_dir = os.path.dirname(os.path.realpath(__file__)) + policy_file = os.path.join(curr_dir, 'mgmt_policy.json').replace('\\', '\\\\') -@api_version_constraint(ResourceType.MGMT_STORAGE, max_api='2016-01-01') + storage_account = self.create_random_name(prefix='cli', length=24) + + self.kwargs = {'rg': resource_group, 'sa': storage_account, 'policy': policy_file} + self.cmd('storage account create -g {rg} -n {sa} --kind StorageV2') + self.cmd('storage account management-policy create --account-name {sa} -g {rg} --policy @"{policy}"') + self.cmd('storage account management-policy update --account-name {sa} -g {rg}' + ' --set "policy.rules[0].name=newname"') + self.cmd('storage account management-policy show --account-name {sa} -g {rg}', + checks=JMESPathCheck('policy.rules[0].name', 'newname')) + self.cmd('storage account management-policy delete --account-name {sa} -g {rg}') + with self.assertRaises(CloudError): + self.cmd('storage account management-policy show --account-name {sa} -g {rg}') + + +@api_version_constraint(CUSTOM_MGMT_STORAGE, max_api='2016-01-01') class StorageAccountTestsForStack(StorageScenarioMixin, ScenarioTest): @ResourceGroupPreparer(parameter_name_for_location='location', name_prefix='cli_test_storage_stack_scenario', location='local', dev_setting_location='local') diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_acl_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_acl_scenarios.py index d30e7a77d22..da25346b26d 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_acl_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_acl_scenarios.py @@ -7,9 +7,10 @@ api_version_constraint) from azure.cli.core.profiles import ResourceType from .storage_test_util import StorageScenarioMixin +from ...profiles import CUSTOM_MGMT_STORAGE -@api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-12-01') +@api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class StorageAccessControlListTests(StorageScenarioMixin, ScenarioTest): @ResourceGroupPreparer() @StorageAccountPreparer() diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_blob_live_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_blob_live_scenarios.py index b470b851333..4edc2d63d26 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_blob_live_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_blob_live_scenarios.py @@ -7,9 +7,10 @@ from azure.cli.testsdk import (LiveScenarioTest, ResourceGroupPreparer, StorageAccountPreparer, JMESPathCheck, api_version_constraint) from azure.cli.core.profiles import ResourceType +from ...profiles import CUSTOM_MGMT_STORAGE -@api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-12-01') +@api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class StorageBlobUploadLiveTests(LiveScenarioTest): @ResourceGroupPreparer() @StorageAccountPreparer() diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_blob_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_blob_scenarios.py index 09c945bf8ad..f6dcc1e0495 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_blob_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_blob_scenarios.py @@ -14,9 +14,10 @@ from ..._client_factory import NO_CREDENTIALS_ERROR_MESSAGE from .storage_test_util import StorageScenarioMixin +from ...profiles import CUSTOM_MGMT_STORAGE -@api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-12-01') +@api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class StorageBlobUploadTests(StorageScenarioMixin, ScenarioTest): @ResourceGroupPreparer() @StorageAccountPreparer(parameter_name='source_account') @@ -366,6 +367,22 @@ def test_storage_blob_append(self, resource_group, storage_account): self.storage_cmd('storage blob upload -c {} -f "{}" -n {} --type append --if-none-match *', account_info, container, local_file, blob_name) + @ResourceGroupPreparer(location='westcentralus') + def test_storage_blob_update_service_properties(self, resource_group): + storage_account = self.create_random_name(prefix='account', length=24) + + self.cmd('storage account create -n {} -g {} --kind StorageV2'.format(storage_account, resource_group)) + account_info = self.get_account_info(resource_group, storage_account) + + self.storage_cmd('storage blob service-properties show', account_info) \ + .assert_with_checks(JMESPathCheck('staticWebsite.enabled', False)) + + self.storage_cmd('storage blob service-properties update --static-website --index-document index.html ' + '--404-document error.html', account_info) \ + .assert_with_checks(JMESPathCheck('staticWebsite.enabled', True), + JMESPathCheck('staticWebsite.errorDocument_404Path', 'error.html'), + JMESPathCheck('staticWebsite.indexDocument', 'index.html')) + if __name__ == '__main__': unittest.main() diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_cors_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_cors_scenarios.py index 45fddc486d8..4e82c74bab9 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_cors_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_cors_scenarios.py @@ -6,9 +6,10 @@ from azure.cli.testsdk import (ScenarioTest, JMESPathCheck, ResourceGroupPreparer, StorageAccountPreparer, api_version_constraint) from azure.cli.core.profiles import ResourceType +from ...profiles import CUSTOM_MGMT_STORAGE -@api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-12-01') +@api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class StorageCorsTests(ScenarioTest): @ResourceGroupPreparer() @StorageAccountPreparer(parameter_name='account') diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_queue_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_queue_scenarios.py index be4926b6de5..8d94ec3fbde 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_queue_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_queue_scenarios.py @@ -7,9 +7,10 @@ from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer, api_version_constraint, JMESPathCheck, JMESPathCheckExists, NoneCheck) from azure.cli.core.profiles import ResourceType +from ...profiles import CUSTOM_MGMT_STORAGE -@api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-12-01') +@api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class StorageQueueScenarioTests(ScenarioTest): @ResourceGroupPreparer() @StorageAccountPreparer(sku='Standard_RAGRS') diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_table_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_table_scenarios.py index c91c7adb33c..39b5afd5c7b 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_table_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_table_scenarios.py @@ -7,9 +7,10 @@ JMESPathCheck, NoneCheck, api_version_constraint) from azure.cli.core.profiles import ResourceType from .storage_test_util import StorageScenarioMixin +from ...profiles import CUSTOM_MGMT_STORAGE -@api_version_constraint(ResourceType.MGMT_STORAGE, min_api='2016-12-01') +@api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class StorageTableScenarioTests(StorageScenarioMixin, ScenarioTest): @ResourceGroupPreparer() @StorageAccountPreparer(sku='Standard_RAGRS') diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_validators.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_validators.py index 2f119e748ca..f7cee7fd4c0 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_validators.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_validators.py @@ -19,7 +19,7 @@ from azure.cli.testsdk import api_version_constraint from ..._validators import (get_source_file_or_blob_service_client, validate_encryption_source, validate_encryption_services) -from ...profiles import CUSTOM_DATA_STORAGE +from ...profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_STORAGE class MockCLI(CLI): @@ -32,7 +32,7 @@ def __init__(self): class MockLoader(object): def __init__(self, ctx): self.ctx = ctx - register_resource_type('latest', CUSTOM_DATA_STORAGE, '2017-11-09') + register_resource_type('latest', CUSTOM_DATA_STORAGE, '2018-03-28') def get_models(self, *attr_args, **_): from azure.cli.core.profiles import get_sdk @@ -157,10 +157,11 @@ def test_storage_get_char_options_validator(self): self.assertEqual(result, set('ab')) -@api_version_constraint(resource_type=ResourceType.MGMT_STORAGE, min_api='2016-12-01') +@api_version_constraint(resource_type=CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class TestEncryptionValidators(unittest.TestCase): def setUp(self): self.cli = MockCLI() + register_resource_type('latest', CUSTOM_MGMT_STORAGE, '2018-03-01-preview') def test_validate_encryption_services(self): ns = Namespace(encryption_services=['blob'], _cmd=MockCmd(self.cli)) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/__init__.py new file mode 100644 index 00000000000..65d9ded91f5 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/__init__.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .storage_management_client import StorageManagementClient +from .version import VERSION + +__all__ = ['StorageManagementClient'] + +__version__ = VERSION diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/models.py new file mode 100644 index 00000000000..e262ee6ffb2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/models.py @@ -0,0 +1,7 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from .v2018_02_01.models import * \ No newline at end of file diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/storage_management_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/storage_management_client.py new file mode 100644 index 00000000000..40b0c51a3ac --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/storage_management_client.py @@ -0,0 +1,272 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration + +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin +from .version import VERSION + + +class StorageManagementClientConfiguration(AzureConfiguration): + """Configuration for StorageManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Gets subscription credentials which uniquely + identify the Microsoft Azure subscription. The subscription ID forms part + of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(StorageManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-storage/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class StorageManagementClient(MultiApiClientMixin, SDKClient): + """The Azure Storage Management API. + + This ready contains multiple API versions, to help you deal with all Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, uses latest API version available on public Azure. + For production, you should stick a particular api-version and/or profile. + The profile sets a mapping between the operation group and an API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + + :ivar config: Configuration for client. + :vartype config: StorageManagementClientConfiguration + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Subscription credentials which uniquely identify + Microsoft Azure subscription. The subscription ID forms part of the URI + for every service call. + :type subscription_id: str + :param str api_version: API version to use if no profile is provided, or if + missing in profile. + :param str base_url: Service URL + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles + """ + + DEFAULT_API_VERSION='2018-02-01' + _PROFILE_TAG = "azure.mgmt.storage.StorageManagementClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION + }}, + _PROFILE_TAG + " latest" + ) + + def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): + self.config = StorageManagementClientConfiguration(credentials, subscription_id, base_url) + super(StorageManagementClient, self).__init__( + credentials, + self.config, + api_version=api_version, + profile=profile + ) + +############ Generated from here ############ + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: + + * 2015-06-15: :mod:`v2015_06_15.models` + * 2016-01-01: :mod:`v2016_01_01.models` + * 2016-12-01: :mod:`v2016_12_01.models` + * 2017-06-01: :mod:`v2017_06_01.models` + * 2017-10-01: :mod:`v2017_10_01.models` + * 2018-02-01: :mod:`v2018_02_01.models` + * 2018-03-01-preview: :mod:`v2018_03_01_preview.models` + """ + if api_version == '2015-06-15': + from .v2015_06_15 import models + return models + elif api_version == '2016-01-01': + from .v2016_01_01 import models + return models + elif api_version == '2016-12-01': + from .v2016_12_01 import models + return models + elif api_version == '2017-06-01': + from .v2017_06_01 import models + return models + elif api_version == '2017-10-01': + from .v2017_10_01 import models + return models + elif api_version == '2018-02-01': + from .v2018_02_01 import models + return models + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview import models + return models + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + + @property + def blob_containers(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`BlobContainersOperations` + * 2018-03-01-preview: :class:`BlobContainersOperations` + """ + api_version = self._get_api_version('blob_containers') + if api_version == '2018-02-01': + from .v2018_02_01.operations import BlobContainersOperations as OperationClass + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import BlobContainersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operations(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`Operations` + * 2017-10-01: :class:`Operations` + * 2018-02-01: :class:`Operations` + * 2018-03-01-preview: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2017-06-01': + from .v2017_06_01.operations import Operations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import Operations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import Operations as OperationClass + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import Operations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def skus(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`SkusOperations` + * 2017-10-01: :class:`SkusOperations` + * 2018-02-01: :class:`SkusOperations` + * 2018-03-01-preview: :class:`SkusOperations` + """ + api_version = self._get_api_version('skus') + if api_version == '2017-06-01': + from .v2017_06_01.operations import SkusOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import SkusOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import SkusOperations as OperationClass + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import SkusOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def storage_accounts(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`StorageAccountsOperations` + * 2016-01-01: :class:`StorageAccountsOperations` + * 2016-12-01: :class:`StorageAccountsOperations` + * 2017-06-01: :class:`StorageAccountsOperations` + * 2017-10-01: :class:`StorageAccountsOperations` + * 2018-02-01: :class:`StorageAccountsOperations` + * 2018-03-01-preview: :class:`StorageAccountsOperations` + """ + api_version = self._get_api_version('storage_accounts') + if api_version == '2015-06-15': + from .v2015_06_15.operations import StorageAccountsOperations as OperationClass + elif api_version == '2016-01-01': + from .v2016_01_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import StorageAccountsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def usage(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`UsageOperations` + * 2016-01-01: :class:`UsageOperations` + * 2016-12-01: :class:`UsageOperations` + * 2017-06-01: :class:`UsageOperations` + * 2017-10-01: :class:`UsageOperations` + * 2018-02-01: :class:`UsageOperations` + """ + api_version = self._get_api_version('usage') + if api_version == '2015-06-15': + from .v2015_06_15.operations import UsageOperations as OperationClass + elif api_version == '2016-01-01': + from .v2016_01_01.operations import UsageOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import UsageOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import UsageOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import UsageOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import UsageOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def usages(self): + """Instance depends on the API version: + + * 2018-03-01-preview: :class:`UsagesOperations` + """ + api_version = self._get_api_version('usages') + if api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import UsagesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/__init__.py new file mode 100644 index 00000000000..0854715e0c1 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .storage_management_client import StorageManagementClient +from .version import VERSION + +__all__ = ['StorageManagementClient'] + +__version__ = VERSION + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/__init__.py new file mode 100644 index 00000000000..d5121718507 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/__init__.py @@ -0,0 +1,219 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from .operation_display_py3 import OperationDisplay + from .dimension_py3 import Dimension + from .metric_specification_py3 import MetricSpecification + from .service_specification_py3 import ServiceSpecification + from .operation_py3 import Operation + from .storage_account_check_name_availability_parameters_py3 import StorageAccountCheckNameAvailabilityParameters + from .sku_capability_py3 import SKUCapability + from .restriction_py3 import Restriction + from .sku_py3 import Sku + from .check_name_availability_result_py3 import CheckNameAvailabilityResult + from .custom_domain_py3 import CustomDomain + from .encryption_service_py3 import EncryptionService + from .encryption_services_py3 import EncryptionServices + from .key_vault_properties_py3 import KeyVaultProperties + from .encryption_py3 import Encryption + from .virtual_network_rule_py3 import VirtualNetworkRule + from .ip_rule_py3 import IPRule + from .network_rule_set_py3 import NetworkRuleSet + from .identity_py3 import Identity + from .storage_account_create_parameters_py3 import StorageAccountCreateParameters + from .endpoints_py3 import Endpoints + from .storage_account_py3 import StorageAccount + from .storage_account_key_py3 import StorageAccountKey + from .storage_account_list_keys_result_py3 import StorageAccountListKeysResult + from .storage_account_regenerate_key_parameters_py3 import StorageAccountRegenerateKeyParameters + from .storage_account_update_parameters_py3 import StorageAccountUpdateParameters + from .usage_name_py3 import UsageName + from .usage_py3 import Usage + from .account_sas_parameters_py3 import AccountSasParameters + from .list_account_sas_response_py3 import ListAccountSasResponse + from .service_sas_parameters_py3 import ServiceSasParameters + from .list_service_sas_response_py3 import ListServiceSasResponse + from .storage_account_management_policies_py3 import StorageAccountManagementPolicies + from .management_policies_rules_set_parameter_py3 import ManagementPoliciesRulesSetParameter + from .proxy_resource_py3 import ProxyResource + from .tracked_resource_py3 import TrackedResource + from .azure_entity_resource_py3 import AzureEntityResource + from .resource_py3 import Resource + from .update_history_property_py3 import UpdateHistoryProperty + from .immutability_policy_properties_py3 import ImmutabilityPolicyProperties + from .tag_property_py3 import TagProperty + from .legal_hold_properties_py3 import LegalHoldProperties + from .blob_container_py3 import BlobContainer + from .immutability_policy_py3 import ImmutabilityPolicy + from .legal_hold_py3 import LegalHold + from .list_container_item_py3 import ListContainerItem + from .list_container_items_py3 import ListContainerItems +except (SyntaxError, ImportError): + from .operation_display import OperationDisplay + from .dimension import Dimension + from .metric_specification import MetricSpecification + from .service_specification import ServiceSpecification + from .operation import Operation + from .storage_account_check_name_availability_parameters import StorageAccountCheckNameAvailabilityParameters + from .sku_capability import SKUCapability + from .restriction import Restriction + from .sku import Sku + from .check_name_availability_result import CheckNameAvailabilityResult + from .custom_domain import CustomDomain + from .encryption_service import EncryptionService + from .encryption_services import EncryptionServices + from .key_vault_properties import KeyVaultProperties + from .encryption import Encryption + from .virtual_network_rule import VirtualNetworkRule + from .ip_rule import IPRule + from .network_rule_set import NetworkRuleSet + from .identity import Identity + from .storage_account_create_parameters import StorageAccountCreateParameters + from .endpoints import Endpoints + from .storage_account import StorageAccount + from .storage_account_key import StorageAccountKey + from .storage_account_list_keys_result import StorageAccountListKeysResult + from .storage_account_regenerate_key_parameters import StorageAccountRegenerateKeyParameters + from .storage_account_update_parameters import StorageAccountUpdateParameters + from .usage_name import UsageName + from .usage import Usage + from .account_sas_parameters import AccountSasParameters + from .list_account_sas_response import ListAccountSasResponse + from .service_sas_parameters import ServiceSasParameters + from .list_service_sas_response import ListServiceSasResponse + from .storage_account_management_policies import StorageAccountManagementPolicies + from .management_policies_rules_set_parameter import ManagementPoliciesRulesSetParameter + from .proxy_resource import ProxyResource + from .tracked_resource import TrackedResource + from .azure_entity_resource import AzureEntityResource + from .resource import Resource + from .update_history_property import UpdateHistoryProperty + from .immutability_policy_properties import ImmutabilityPolicyProperties + from .tag_property import TagProperty + from .legal_hold_properties import LegalHoldProperties + from .blob_container import BlobContainer + from .immutability_policy import ImmutabilityPolicy + from .legal_hold import LegalHold + from .list_container_item import ListContainerItem + from .list_container_items import ListContainerItems +from .operation_paged import OperationPaged +from .sku_paged import SkuPaged +from .storage_account_paged import StorageAccountPaged +from .usage_paged import UsagePaged +from .storage_management_client_enums import ( + ReasonCode, + SkuName, + SkuTier, + Kind, + Reason, + KeySource, + Action, + State, + Bypass, + DefaultAction, + AccessTier, + ProvisioningState, + AccountStatus, + KeyPermission, + UsageUnit, + Services, + SignedResourceTypes, + Permissions, + HttpProtocol, + SignedResource, + PublicAccess, + LeaseStatus, + LeaseState, + LeaseDuration, + ImmutabilityPolicyState, + ImmutabilityPolicyUpdateType, +) + +__all__ = [ + 'OperationDisplay', + 'Dimension', + 'MetricSpecification', + 'ServiceSpecification', + 'Operation', + 'StorageAccountCheckNameAvailabilityParameters', + 'SKUCapability', + 'Restriction', + 'Sku', + 'CheckNameAvailabilityResult', + 'CustomDomain', + 'EncryptionService', + 'EncryptionServices', + 'KeyVaultProperties', + 'Encryption', + 'VirtualNetworkRule', + 'IPRule', + 'NetworkRuleSet', + 'Identity', + 'StorageAccountCreateParameters', + 'Endpoints', + 'StorageAccount', + 'StorageAccountKey', + 'StorageAccountListKeysResult', + 'StorageAccountRegenerateKeyParameters', + 'StorageAccountUpdateParameters', + 'UsageName', + 'Usage', + 'AccountSasParameters', + 'ListAccountSasResponse', + 'ServiceSasParameters', + 'ListServiceSasResponse', + 'StorageAccountManagementPolicies', + 'ManagementPoliciesRulesSetParameter', + 'ProxyResource', + 'TrackedResource', + 'AzureEntityResource', + 'Resource', + 'UpdateHistoryProperty', + 'ImmutabilityPolicyProperties', + 'TagProperty', + 'LegalHoldProperties', + 'BlobContainer', + 'ImmutabilityPolicy', + 'LegalHold', + 'ListContainerItem', + 'ListContainerItems', + 'OperationPaged', + 'SkuPaged', + 'StorageAccountPaged', + 'UsagePaged', + 'ReasonCode', + 'SkuName', + 'SkuTier', + 'Kind', + 'Reason', + 'KeySource', + 'Action', + 'State', + 'Bypass', + 'DefaultAction', + 'AccessTier', + 'ProvisioningState', + 'AccountStatus', + 'KeyPermission', + 'UsageUnit', + 'Services', + 'SignedResourceTypes', + 'Permissions', + 'HttpProtocol', + 'SignedResource', + 'PublicAccess', + 'LeaseStatus', + 'LeaseState', + 'LeaseDuration', + 'ImmutabilityPolicyState', + 'ImmutabilityPolicyUpdateType', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/account_sas_parameters.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/account_sas_parameters.py new file mode 100644 index 00000000000..8ae3152f1b2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/account_sas_parameters.py @@ -0,0 +1,81 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class AccountSasParameters(Model): + """The parameters to list SAS credentials of a storage account. + + All required parameters must be populated in order to send to Azure. + + :param services: Required. The signed services accessible with the account + SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f). + Possible values include: 'b', 'q', 't', 'f' + :type services: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.Services + :param resource_types: Required. The signed resource types that are + accessible with the account SAS. Service (s): Access to service-level + APIs; Container (c): Access to container-level APIs; Object (o): Access to + object-level APIs for blobs, queue messages, table entities, and files. + Possible values include: 's', 'c', 'o' + :type resource_types: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.SignedResourceTypes + :param permissions: Required. The signed permissions for the account SAS. + Possible values include: Read (r), Write (w), Delete (d), List (l), Add + (a), Create (c), Update (u) and Process (p). Possible values include: 'r', + 'd', 'w', 'l', 'a', 'c', 'u', 'p' + :type permissions: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.Permissions + :param ip_address_or_range: An IP address or a range of IP addresses from + which to accept requests. + :type ip_address_or_range: str + :param protocols: The protocol permitted for a request made with the + account SAS. Possible values include: 'https,http', 'https' + :type protocols: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.HttpProtocol + :param shared_access_start_time: The time at which the SAS becomes valid. + :type shared_access_start_time: datetime + :param shared_access_expiry_time: Required. The time at which the shared + access signature becomes invalid. + :type shared_access_expiry_time: datetime + :param key_to_sign: The key to sign the account SAS token with. + :type key_to_sign: str + """ + + _validation = { + 'services': {'required': True}, + 'resource_types': {'required': True}, + 'permissions': {'required': True}, + 'shared_access_expiry_time': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'signedServices', 'type': 'str'}, + 'resource_types': {'key': 'signedResourceTypes', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'HttpProtocol'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AccountSasParameters, self).__init__(**kwargs) + self.services = kwargs.get('services', None) + self.resource_types = kwargs.get('resource_types', None) + self.permissions = kwargs.get('permissions', None) + self.ip_address_or_range = kwargs.get('ip_address_or_range', None) + self.protocols = kwargs.get('protocols', None) + self.shared_access_start_time = kwargs.get('shared_access_start_time', None) + self.shared_access_expiry_time = kwargs.get('shared_access_expiry_time', None) + self.key_to_sign = kwargs.get('key_to_sign', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/account_sas_parameters_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/account_sas_parameters_py3.py new file mode 100644 index 00000000000..305a5c27508 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/account_sas_parameters_py3.py @@ -0,0 +1,81 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class AccountSasParameters(Model): + """The parameters to list SAS credentials of a storage account. + + All required parameters must be populated in order to send to Azure. + + :param services: Required. The signed services accessible with the account + SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f). + Possible values include: 'b', 'q', 't', 'f' + :type services: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.Services + :param resource_types: Required. The signed resource types that are + accessible with the account SAS. Service (s): Access to service-level + APIs; Container (c): Access to container-level APIs; Object (o): Access to + object-level APIs for blobs, queue messages, table entities, and files. + Possible values include: 's', 'c', 'o' + :type resource_types: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.SignedResourceTypes + :param permissions: Required. The signed permissions for the account SAS. + Possible values include: Read (r), Write (w), Delete (d), List (l), Add + (a), Create (c), Update (u) and Process (p). Possible values include: 'r', + 'd', 'w', 'l', 'a', 'c', 'u', 'p' + :type permissions: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.Permissions + :param ip_address_or_range: An IP address or a range of IP addresses from + which to accept requests. + :type ip_address_or_range: str + :param protocols: The protocol permitted for a request made with the + account SAS. Possible values include: 'https,http', 'https' + :type protocols: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.HttpProtocol + :param shared_access_start_time: The time at which the SAS becomes valid. + :type shared_access_start_time: datetime + :param shared_access_expiry_time: Required. The time at which the shared + access signature becomes invalid. + :type shared_access_expiry_time: datetime + :param key_to_sign: The key to sign the account SAS token with. + :type key_to_sign: str + """ + + _validation = { + 'services': {'required': True}, + 'resource_types': {'required': True}, + 'permissions': {'required': True}, + 'shared_access_expiry_time': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'signedServices', 'type': 'str'}, + 'resource_types': {'key': 'signedResourceTypes', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'HttpProtocol'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + } + + def __init__(self, *, services, resource_types, permissions, shared_access_expiry_time, ip_address_or_range: str=None, protocols=None, shared_access_start_time=None, key_to_sign: str=None, **kwargs) -> None: + super(AccountSasParameters, self).__init__(**kwargs) + self.services = services + self.resource_types = resource_types + self.permissions = permissions + self.ip_address_or_range = ip_address_or_range + self.protocols = protocols + self.shared_access_start_time = shared_access_start_time + self.shared_access_expiry_time = shared_access_expiry_time + self.key_to_sign = key_to_sign diff --git a/src/rdbms/azext_rdbms/postgresql/models/database.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/azure_entity_resource.py similarity index 56% rename from src/rdbms/azext_rdbms/postgresql/models/database.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/azure_entity_resource.py index f503efb9fa3..3bffaab8d35 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/database.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/azure_entity_resource.py @@ -9,42 +9,42 @@ # regenerated. # -------------------------------------------------------------------------- -from .proxy_resource import ProxyResource +from .resource import Resource -class Database(ProxyResource): - """Represents a Database. +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource ID + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: Resource name. + :ivar name: The name of the resource :vartype name: str - :ivar type: Resource type. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str - :param charset: The charset of the database. - :type charset: str - :param collation: The collation of the database. - :type collation: str + :ivar etag: Resource Etag. + :vartype etag: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'charset': {'key': 'properties.charset', 'type': 'str'}, - 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, } def __init__(self, **kwargs): - super(Database, self).__init__(**kwargs) - self.charset = kwargs.get('charset', None) - self.collation = kwargs.get('collation', None) + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/azure_entity_resource_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/azure_entity_resource_py3.py new file mode 100644 index 00000000000..d3f80d87498 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/azure_entity_resource_py3.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_py3 import Resource + + +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/blob_container.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/blob_container.py new file mode 100644 index 00000000000..aa1d2acd4c2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/blob_container.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .azure_entity_resource import AzureEntityResource + + +class BlobContainer(AzureEntityResource): + """Properties of the blob container, including Id, resource name, resource + type, Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last + modified. + :vartype last_modified_time: datetime + :ivar lease_status: The lease status of the container. Possible values + include: 'Locked', 'Unlocked' + :vartype lease_status: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: + 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' + :vartype lease_state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of + infinite or fixed duration, only when the container is leased. Possible + values include: 'Infinite', 'Fixed' + :vartype lease_duration: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseDuration + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the + container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: + ~azure.mgmt.storage.v2018_03_01_preview.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property + is set to true by SRP if ImmutabilityPolicy has been created for this + container. The hasImmutabilityPolicy public property is set to false by + SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'PublicAccess'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(BlobContainer, self).__init__(**kwargs) + self.public_access = kwargs.get('public_access', None) + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = kwargs.get('metadata', None) + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/blob_container_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/blob_container_py3.py new file mode 100644 index 00000000000..680ad34c680 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/blob_container_py3.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .azure_entity_resource_py3 import AzureEntityResource + + +class BlobContainer(AzureEntityResource): + """Properties of the blob container, including Id, resource name, resource + type, Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last + modified. + :vartype last_modified_time: datetime + :ivar lease_status: The lease status of the container. Possible values + include: 'Locked', 'Unlocked' + :vartype lease_status: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: + 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' + :vartype lease_state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of + infinite or fixed duration, only when the container is leased. Possible + values include: 'Infinite', 'Fixed' + :vartype lease_duration: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseDuration + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the + container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: + ~azure.mgmt.storage.v2018_03_01_preview.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property + is set to true by SRP if ImmutabilityPolicy has been created for this + container. The hasImmutabilityPolicy public property is set to false by + SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'PublicAccess'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + } + + def __init__(self, *, public_access=None, metadata=None, **kwargs) -> None: + super(BlobContainer, self).__init__(**kwargs) + self.public_access = public_access + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = metadata + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/check_name_availability_result.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/check_name_availability_result.py new file mode 100644 index 00000000000..41c2210d22a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/check_name_availability_result.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CheckNameAvailabilityResult(Model): + """The CheckNameAvailability operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name_available: Gets a boolean value that indicates whether the name + is available for you to use. If true, the name is available. If false, the + name has already been taken or is invalid and cannot be used. + :vartype name_available: bool + :ivar reason: Gets the reason that a storage account name could not be + used. The Reason element is only returned if NameAvailable is false. + Possible values include: 'AccountNameInvalid', 'AlreadyExists' + :vartype reason: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.Reason + :ivar message: Gets an error message explaining the Reason value in more + detail. + :vartype message: str + """ + + _validation = { + 'name_available': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'Reason'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CheckNameAvailabilityResult, self).__init__(**kwargs) + self.name_available = None + self.reason = None + self.message = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/check_name_availability_result_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/check_name_availability_result_py3.py new file mode 100644 index 00000000000..9d10045600b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/check_name_availability_result_py3.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CheckNameAvailabilityResult(Model): + """The CheckNameAvailability operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name_available: Gets a boolean value that indicates whether the name + is available for you to use. If true, the name is available. If false, the + name has already been taken or is invalid and cannot be used. + :vartype name_available: bool + :ivar reason: Gets the reason that a storage account name could not be + used. The Reason element is only returned if NameAvailable is false. + Possible values include: 'AccountNameInvalid', 'AlreadyExists' + :vartype reason: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.Reason + :ivar message: Gets an error message explaining the Reason value in more + detail. + :vartype message: str + """ + + _validation = { + 'name_available': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'Reason'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CheckNameAvailabilityResult, self).__init__(**kwargs) + self.name_available = None + self.reason = None + self.message = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/name_availability_request.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/custom_domain.py similarity index 57% rename from src/rdbms/azext_rdbms/postgresql/models/name_availability_request.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/custom_domain.py index 33cac8ab530..585480d7321 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/name_availability_request.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/custom_domain.py @@ -12,15 +12,18 @@ from msrest.serialization import Model -class NameAvailabilityRequest(Model): - """Request from client to check resource name availability. +class CustomDomain(Model): + """The custom domain assigned to this storage account. This can be set via + Update. All required parameters must be populated in order to send to Azure. - :param name: Required. Resource name to verify. + :param name: Required. Gets or sets the custom domain name assigned to the + storage account. Name is the CNAME source. :type name: str - :param type: Resource type used for verification. - :type type: str + :param use_sub_domain: Indicates whether indirect CName validation is + enabled. Default value is false. This should only be set on updates. + :type use_sub_domain: bool """ _validation = { @@ -29,10 +32,10 @@ class NameAvailabilityRequest(Model): _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, + 'use_sub_domain': {'key': 'useSubDomain', 'type': 'bool'}, } def __init__(self, **kwargs): - super(NameAvailabilityRequest, self).__init__(**kwargs) + super(CustomDomain, self).__init__(**kwargs) self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) + self.use_sub_domain = kwargs.get('use_sub_domain', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/custom_domain_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/custom_domain_py3.py new file mode 100644 index 00000000000..4c6fe3f83e3 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/custom_domain_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CustomDomain(Model): + """The custom domain assigned to this storage account. This can be set via + Update. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Gets or sets the custom domain name assigned to the + storage account. Name is the CNAME source. + :type name: str + :param use_sub_domain: Indicates whether indirect CName validation is + enabled. Default value is false. This should only be set on updates. + :type use_sub_domain: bool + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'use_sub_domain': {'key': 'useSubDomain', 'type': 'bool'}, + } + + def __init__(self, *, name: str, use_sub_domain: bool=None, **kwargs) -> None: + super(CustomDomain, self).__init__(**kwargs) + self.name = name + self.use_sub_domain = use_sub_domain diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/dimension.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/dimension.py new file mode 100644 index 00000000000..0a0cdaf75da --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/dimension.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Dimension(Model): + """Dimension of blobs, possiblly be blob type or access tier. + + :param name: Display name of dimension. + :type name: str + :param display_name: Display name of dimension. + :type display_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/dimension_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/dimension_py3.py new file mode 100644 index 00000000000..6845aa528b4 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/dimension_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Dimension(Model): + """Dimension of blobs, possiblly be blob type or access tier. + + :param name: Display name of dimension. + :type name: str + :param display_name: Display name of dimension. + :type display_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption.py new file mode 100644 index 00000000000..06c2c3f1a3b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Encryption(Model): + """The encryption settings on the storage account. + + All required parameters must be populated in order to send to Azure. + + :param services: List of services which support encryption. + :type services: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionServices + :param key_source: Required. The encryption keySource (provider). Possible + values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. + Possible values include: 'Microsoft.Storage', 'Microsoft.Keyvault'. + Default value: "Microsoft.Storage" . + :type key_source: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.KeySource + :param key_vault_properties: Properties provided by key vault. + :type key_vault_properties: + ~azure.mgmt.storage.v2018_03_01_preview.models.KeyVaultProperties + """ + + _validation = { + 'key_source': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'services', 'type': 'EncryptionServices'}, + 'key_source': {'key': 'keySource', 'type': 'str'}, + 'key_vault_properties': {'key': 'keyvaultproperties', 'type': 'KeyVaultProperties'}, + } + + def __init__(self, **kwargs): + super(Encryption, self).__init__(**kwargs) + self.services = kwargs.get('services', None) + self.key_source = kwargs.get('key_source', "Microsoft.Storage") + self.key_vault_properties = kwargs.get('key_vault_properties', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_py3.py new file mode 100644 index 00000000000..7fe3395b43f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_py3.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Encryption(Model): + """The encryption settings on the storage account. + + All required parameters must be populated in order to send to Azure. + + :param services: List of services which support encryption. + :type services: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionServices + :param key_source: Required. The encryption keySource (provider). Possible + values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. + Possible values include: 'Microsoft.Storage', 'Microsoft.Keyvault'. + Default value: "Microsoft.Storage" . + :type key_source: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.KeySource + :param key_vault_properties: Properties provided by key vault. + :type key_vault_properties: + ~azure.mgmt.storage.v2018_03_01_preview.models.KeyVaultProperties + """ + + _validation = { + 'key_source': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'services', 'type': 'EncryptionServices'}, + 'key_source': {'key': 'keySource', 'type': 'str'}, + 'key_vault_properties': {'key': 'keyvaultproperties', 'type': 'KeyVaultProperties'}, + } + + def __init__(self, *, services=None, key_source="Microsoft.Storage", key_vault_properties=None, **kwargs) -> None: + super(Encryption, self).__init__(**kwargs) + self.services = services + self.key_source = key_source + self.key_vault_properties = key_vault_properties diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_service.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_service.py new file mode 100644 index 00000000000..3a020c468f6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_service.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class EncryptionService(Model): + """A service that allows server-side encryption to be used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param enabled: A boolean indicating whether or not the service encrypts + the data as it is stored. + :type enabled: bool + :ivar last_enabled_time: Gets a rough estimate of the date/time when the + encryption was last enabled by the user. Only returned when encryption is + enabled. There might be some unencrypted blobs which were written after + this time, as it is just a rough estimate. + :vartype last_enabled_time: datetime + """ + + _validation = { + 'last_enabled_time': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(EncryptionService, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.last_enabled_time = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_service_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_service_py3.py new file mode 100644 index 00000000000..0566050c615 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_service_py3.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class EncryptionService(Model): + """A service that allows server-side encryption to be used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param enabled: A boolean indicating whether or not the service encrypts + the data as it is stored. + :type enabled: bool + :ivar last_enabled_time: Gets a rough estimate of the date/time when the + encryption was last enabled by the user. Only returned when encryption is + enabled. There might be some unencrypted blobs which were written after + this time, as it is just a rough estimate. + :vartype last_enabled_time: datetime + """ + + _validation = { + 'last_enabled_time': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, enabled: bool=None, **kwargs) -> None: + super(EncryptionService, self).__init__(**kwargs) + self.enabled = enabled + self.last_enabled_time = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_services.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_services.py new file mode 100644 index 00000000000..c7d48b4fb67 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_services.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class EncryptionServices(Model): + """A list of services that support encryption. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param blob: The encryption function of the blob storage service. + :type blob: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionService + :param file: The encryption function of the file storage service. + :type file: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionService + :ivar table: The encryption function of the table storage service. + :vartype table: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionService + :ivar queue: The encryption function of the queue storage service. + :vartype queue: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionService + """ + + _validation = { + 'table': {'readonly': True}, + 'queue': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'EncryptionService'}, + 'file': {'key': 'file', 'type': 'EncryptionService'}, + 'table': {'key': 'table', 'type': 'EncryptionService'}, + 'queue': {'key': 'queue', 'type': 'EncryptionService'}, + } + + def __init__(self, **kwargs): + super(EncryptionServices, self).__init__(**kwargs) + self.blob = kwargs.get('blob', None) + self.file = kwargs.get('file', None) + self.table = None + self.queue = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_services_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_services_py3.py new file mode 100644 index 00000000000..b8fe7987604 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/encryption_services_py3.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class EncryptionServices(Model): + """A list of services that support encryption. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param blob: The encryption function of the blob storage service. + :type blob: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionService + :param file: The encryption function of the file storage service. + :type file: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionService + :ivar table: The encryption function of the table storage service. + :vartype table: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionService + :ivar queue: The encryption function of the queue storage service. + :vartype queue: + ~azure.mgmt.storage.v2018_03_01_preview.models.EncryptionService + """ + + _validation = { + 'table': {'readonly': True}, + 'queue': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'EncryptionService'}, + 'file': {'key': 'file', 'type': 'EncryptionService'}, + 'table': {'key': 'table', 'type': 'EncryptionService'}, + 'queue': {'key': 'queue', 'type': 'EncryptionService'}, + } + + def __init__(self, *, blob=None, file=None, **kwargs) -> None: + super(EncryptionServices, self).__init__(**kwargs) + self.blob = blob + self.file = file + self.table = None + self.queue = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/endpoints.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/endpoints.py new file mode 100644 index 00000000000..3500ee92194 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/endpoints.py @@ -0,0 +1,56 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Endpoints(Model): + """The URIs that are used to perform a retrieval of a public blob, queue, + table or dfs object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar queue: Gets the queue endpoint. + :vartype queue: str + :ivar table: Gets the table endpoint. + :vartype table: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + """ + + _validation = { + 'blob': {'readonly': True}, + 'queue': {'readonly': True}, + 'table': {'readonly': True}, + 'file': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'queue': {'key': 'queue', 'type': 'str'}, + 'table': {'key': 'table', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Endpoints, self).__init__(**kwargs) + self.blob = None + self.queue = None + self.table = None + self.file = None + self.dfs = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/endpoints_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/endpoints_py3.py new file mode 100644 index 00000000000..1aaab5dd6db --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/endpoints_py3.py @@ -0,0 +1,56 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Endpoints(Model): + """The URIs that are used to perform a retrieval of a public blob, queue, + table or dfs object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar queue: Gets the queue endpoint. + :vartype queue: str + :ivar table: Gets the table endpoint. + :vartype table: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + """ + + _validation = { + 'blob': {'readonly': True}, + 'queue': {'readonly': True}, + 'table': {'readonly': True}, + 'file': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'queue': {'key': 'queue', 'type': 'str'}, + 'table': {'key': 'table', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Endpoints, self).__init__(**kwargs) + self.blob = None + self.queue = None + self.table = None + self.file = None + self.dfs = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/identity.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/identity.py new file mode 100644 index 00000000000..f526b986fc7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/identity.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: Required. The identity type. Default value: "SystemAssigned" . + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__(self, **kwargs): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/identity_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/identity_py3.py new file mode 100644 index 00000000000..22d25fdd85b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/identity_py3.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: Required. The identity type. Default value: "SystemAssigned" . + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__(self, **kwargs) -> None: + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy.py new file mode 100644 index 00000000000..2ec3c69f0f7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .azure_entity_resource import AzureEntityResource + + +class ImmutabilityPolicy(AzureEntityResource): + """The ImmutabilityPolicy property of a blob container, including Id, resource + name, resource type, Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param immutability_period_since_creation_in_days: Required. The + immutability period for the blobs in the container since the policy + creation, in days. + :type immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible + values include: Locked and Unlocked. Possible values include: 'Locked', + 'Unlocked' + :vartype state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'immutability_period_since_creation_in_days': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ImmutabilityPolicy, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = kwargs.get('immutability_period_since_creation_in_days', None) + self.state = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy_properties.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy_properties.py new file mode 100644 index 00000000000..80da1f189c1 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy_properties.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ImmutabilityPolicyProperties(Model): + """The properties of an ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param immutability_period_since_creation_in_days: Required. The + immutability period for the blobs in the container since the policy + creation, in days. + :type immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible + values include: Locked and Unlocked. Possible values include: 'Locked', + 'Unlocked' + :vartype state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyState + :ivar etag: ImmutabilityPolicy Etag. + :vartype etag: str + :ivar update_history: The ImmutabilityPolicy update history of the blob + container. + :vartype update_history: + list[~azure.mgmt.storage.v2018_03_01_preview.models.UpdateHistoryProperty] + """ + + _validation = { + 'immutability_period_since_creation_in_days': {'required': True}, + 'state': {'readonly': True}, + 'etag': {'readonly': True}, + 'update_history': {'readonly': True}, + } + + _attribute_map = { + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'update_history': {'key': 'updateHistory', 'type': '[UpdateHistoryProperty]'}, + } + + def __init__(self, **kwargs): + super(ImmutabilityPolicyProperties, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = kwargs.get('immutability_period_since_creation_in_days', None) + self.state = None + self.etag = None + self.update_history = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy_properties_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy_properties_py3.py new file mode 100644 index 00000000000..586e5c4667f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy_properties_py3.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ImmutabilityPolicyProperties(Model): + """The properties of an ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param immutability_period_since_creation_in_days: Required. The + immutability period for the blobs in the container since the policy + creation, in days. + :type immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible + values include: Locked and Unlocked. Possible values include: 'Locked', + 'Unlocked' + :vartype state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyState + :ivar etag: ImmutabilityPolicy Etag. + :vartype etag: str + :ivar update_history: The ImmutabilityPolicy update history of the blob + container. + :vartype update_history: + list[~azure.mgmt.storage.v2018_03_01_preview.models.UpdateHistoryProperty] + """ + + _validation = { + 'immutability_period_since_creation_in_days': {'required': True}, + 'state': {'readonly': True}, + 'etag': {'readonly': True}, + 'update_history': {'readonly': True}, + } + + _attribute_map = { + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'update_history': {'key': 'updateHistory', 'type': '[UpdateHistoryProperty]'}, + } + + def __init__(self, *, immutability_period_since_creation_in_days: int, **kwargs) -> None: + super(ImmutabilityPolicyProperties, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days + self.state = None + self.etag = None + self.update_history = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy_py3.py new file mode 100644 index 00000000000..6e612b9f60b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/immutability_policy_py3.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .azure_entity_resource_py3 import AzureEntityResource + + +class ImmutabilityPolicy(AzureEntityResource): + """The ImmutabilityPolicy property of a blob container, including Id, resource + name, resource type, Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param immutability_period_since_creation_in_days: Required. The + immutability period for the blobs in the container since the policy + creation, in days. + :type immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible + values include: Locked and Unlocked. Possible values include: 'Locked', + 'Unlocked' + :vartype state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'immutability_period_since_creation_in_days': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__(self, *, immutability_period_since_creation_in_days: int, **kwargs) -> None: + super(ImmutabilityPolicy, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days + self.state = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/ip_rule.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/ip_rule.py new file mode 100644 index 00000000000..02c554774c0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/ip_rule.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class IPRule(Model): + """IP rule with specific IP or IP range in CIDR format. + + All required parameters must be populated in order to send to Azure. + + :param ip_address_or_range: Required. Specifies the IP or IP range in CIDR + format. Only IPV4 address is allowed. + :type ip_address_or_range: str + :param action: The action of IP ACL rule. Possible values include: + 'Allow'. Default value: "Allow" . + :type action: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Action + """ + + _validation = { + 'ip_address_or_range': {'required': True}, + } + + _attribute_map = { + 'ip_address_or_range': {'key': 'value', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'Action'}, + } + + def __init__(self, **kwargs): + super(IPRule, self).__init__(**kwargs) + self.ip_address_or_range = kwargs.get('ip_address_or_range', None) + self.action = kwargs.get('action', "Allow") diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/ip_rule_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/ip_rule_py3.py new file mode 100644 index 00000000000..7a8328a92aa --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/ip_rule_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class IPRule(Model): + """IP rule with specific IP or IP range in CIDR format. + + All required parameters must be populated in order to send to Azure. + + :param ip_address_or_range: Required. Specifies the IP or IP range in CIDR + format. Only IPV4 address is allowed. + :type ip_address_or_range: str + :param action: The action of IP ACL rule. Possible values include: + 'Allow'. Default value: "Allow" . + :type action: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Action + """ + + _validation = { + 'ip_address_or_range': {'required': True}, + } + + _attribute_map = { + 'ip_address_or_range': {'key': 'value', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'Action'}, + } + + def __init__(self, *, ip_address_or_range: str, action="Allow", **kwargs) -> None: + super(IPRule, self).__init__(**kwargs) + self.ip_address_or_range = ip_address_or_range + self.action = action diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/key_vault_properties.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/key_vault_properties.py new file mode 100644 index 00000000000..44eaf379f6f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/key_vault_properties.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class KeyVaultProperties(Model): + """Properties of key vault. + + :param key_name: The name of KeyVault key. + :type key_name: str + :param key_version: The version of KeyVault key. + :type key_version: str + :param key_vault_uri: The Uri of KeyVault. + :type key_vault_uri: str + """ + + _attribute_map = { + 'key_name': {'key': 'keyname', 'type': 'str'}, + 'key_version': {'key': 'keyversion', 'type': 'str'}, + 'key_vault_uri': {'key': 'keyvaulturi', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(KeyVaultProperties, self).__init__(**kwargs) + self.key_name = kwargs.get('key_name', None) + self.key_version = kwargs.get('key_version', None) + self.key_vault_uri = kwargs.get('key_vault_uri', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/key_vault_properties_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/key_vault_properties_py3.py new file mode 100644 index 00000000000..9e6350eec89 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/key_vault_properties_py3.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class KeyVaultProperties(Model): + """Properties of key vault. + + :param key_name: The name of KeyVault key. + :type key_name: str + :param key_version: The version of KeyVault key. + :type key_version: str + :param key_vault_uri: The Uri of KeyVault. + :type key_vault_uri: str + """ + + _attribute_map = { + 'key_name': {'key': 'keyname', 'type': 'str'}, + 'key_version': {'key': 'keyversion', 'type': 'str'}, + 'key_vault_uri': {'key': 'keyvaulturi', 'type': 'str'}, + } + + def __init__(self, *, key_name: str=None, key_version: str=None, key_vault_uri: str=None, **kwargs) -> None: + super(KeyVaultProperties, self).__init__(**kwargs) + self.key_name = key_name + self.key_version = key_version + self.key_vault_uri = key_vault_uri diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold.py new file mode 100644 index 00000000000..4eb93df1d9f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class LegalHold(Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :param tags: Required. Each tag should be 3 to 23 alphanumeric characters + and is normalized to lower case at SRP. + :type tags: list[str] + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + 'tags': {'required': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(LegalHold, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = kwargs.get('tags', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold_properties.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold_properties.py new file mode 100644 index 00000000000..cf219925a93 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold_properties.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class LegalHoldProperties(Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :param tags: The list of LegalHold tags of a blob container. + :type tags: + list[~azure.mgmt.storage.v2018_03_01_preview.models.TagProperty] + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[TagProperty]'}, + } + + def __init__(self, **kwargs): + super(LegalHoldProperties, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = kwargs.get('tags', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold_properties_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold_properties_py3.py new file mode 100644 index 00000000000..9004b110ecd --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold_properties_py3.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class LegalHoldProperties(Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :param tags: The list of LegalHold tags of a blob container. + :type tags: + list[~azure.mgmt.storage.v2018_03_01_preview.models.TagProperty] + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[TagProperty]'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(LegalHoldProperties, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = tags diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold_py3.py new file mode 100644 index 00000000000..a4bc196cb60 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/legal_hold_py3.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class LegalHold(Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :param tags: Required. Each tag should be 3 to 23 alphanumeric characters + and is normalized to lower case at SRP. + :type tags: list[str] + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + 'tags': {'required': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[str]'}, + } + + def __init__(self, *, tags, **kwargs) -> None: + super(LegalHold, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = tags diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_account_sas_response.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_account_sas_response.py new file mode 100644 index 00000000000..a56e959a34b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_account_sas_response.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ListAccountSasResponse(Model): + """The List SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar account_sas_token: List SAS credentials of storage account. + :vartype account_sas_token: str + """ + + _validation = { + 'account_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'account_sas_token': {'key': 'accountSasToken', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ListAccountSasResponse, self).__init__(**kwargs) + self.account_sas_token = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_account_sas_response_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_account_sas_response_py3.py new file mode 100644 index 00000000000..b8b9a314d9f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_account_sas_response_py3.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ListAccountSasResponse(Model): + """The List SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar account_sas_token: List SAS credentials of storage account. + :vartype account_sas_token: str + """ + + _validation = { + 'account_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'account_sas_token': {'key': 'accountSasToken', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ListAccountSasResponse, self).__init__(**kwargs) + self.account_sas_token = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_item.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_item.py new file mode 100644 index 00000000000..d48987c875d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_item.py @@ -0,0 +1,118 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .azure_entity_resource import AzureEntityResource + + +class ListContainerItem(AzureEntityResource): + """The blob container properties be listed out. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last + modified. + :vartype last_modified_time: datetime + :ivar lease_status: The lease status of the container. Possible values + include: 'Locked', 'Unlocked' + :vartype lease_status: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: + 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' + :vartype lease_state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of + infinite or fixed duration, only when the container is leased. Possible + values include: 'Infinite', 'Fixed' + :vartype lease_duration: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseDuration + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the + container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: + ~azure.mgmt.storage.v2018_03_01_preview.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property + is set to true by SRP if ImmutabilityPolicy has been created for this + container. The hasImmutabilityPolicy public property is set to false by + SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'PublicAccess'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ListContainerItem, self).__init__(**kwargs) + self.public_access = kwargs.get('public_access', None) + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = kwargs.get('metadata', None) + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_item_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_item_py3.py new file mode 100644 index 00000000000..771dc1011cf --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_item_py3.py @@ -0,0 +1,118 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .azure_entity_resource_py3 import AzureEntityResource + + +class ListContainerItem(AzureEntityResource): + """The blob container properties be listed out. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last + modified. + :vartype last_modified_time: datetime + :ivar lease_status: The lease status of the container. Possible values + include: 'Locked', 'Unlocked' + :vartype lease_status: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: + 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' + :vartype lease_state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of + infinite or fixed duration, only when the container is leased. Possible + values include: 'Infinite', 'Fixed' + :vartype lease_duration: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.LeaseDuration + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the + container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: + ~azure.mgmt.storage.v2018_03_01_preview.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property + is set to true by SRP if ImmutabilityPolicy has been created for this + container. The hasImmutabilityPolicy public property is set to false by + SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'PublicAccess'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + } + + def __init__(self, *, public_access=None, metadata=None, **kwargs) -> None: + super(ListContainerItem, self).__init__(**kwargs) + self.public_access = public_access + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = metadata + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None diff --git a/src/rdbms/azext_rdbms/mysql/models/operation_list_result.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_items.py similarity index 65% rename from src/rdbms/azext_rdbms/mysql/models/operation_list_result.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_items.py index a170a4afa8d..34cf699feaf 100644 --- a/src/rdbms/azext_rdbms/mysql/models/operation_list_result.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_items.py @@ -12,17 +12,18 @@ from msrest.serialization import Model -class OperationListResult(Model): - """A list of resource provider operations. +class ListContainerItems(Model): + """The list of blob containers. - :param value: The list of resource provider operations. - :type value: list[~azure.mgmt.rdbms.mysql.models.Operation] + :param value: The list of blob containers. + :type value: + list[~azure.mgmt.storage.v2018_03_01_preview.models.ListContainerItem] """ _attribute_map = { - 'value': {'key': 'value', 'type': '[Operation]'}, + 'value': {'key': 'value', 'type': '[ListContainerItem]'}, } def __init__(self, **kwargs): - super(OperationListResult, self).__init__(**kwargs) + super(ListContainerItems, self).__init__(**kwargs) self.value = kwargs.get('value', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_items_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_items_py3.py new file mode 100644 index 00000000000..99bb2bcb0e5 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_container_items_py3.py @@ -0,0 +1,29 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ListContainerItems(Model): + """The list of blob containers. + + :param value: The list of blob containers. + :type value: + list[~azure.mgmt.storage.v2018_03_01_preview.models.ListContainerItem] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ListContainerItem]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ListContainerItems, self).__init__(**kwargs) + self.value = value diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_service_sas_response.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_service_sas_response.py new file mode 100644 index 00000000000..800c0298af6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_service_sas_response.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ListServiceSasResponse(Model): + """The List service SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar service_sas_token: List service SAS credentials of speicific + resource. + :vartype service_sas_token: str + """ + + _validation = { + 'service_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'service_sas_token': {'key': 'serviceSasToken', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ListServiceSasResponse, self).__init__(**kwargs) + self.service_sas_token = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_service_sas_response_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_service_sas_response_py3.py new file mode 100644 index 00000000000..cffd962e204 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/list_service_sas_response_py3.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ListServiceSasResponse(Model): + """The List service SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar service_sas_token: List service SAS credentials of speicific + resource. + :vartype service_sas_token: str + """ + + _validation = { + 'service_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'service_sas_token': {'key': 'serviceSasToken', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ListServiceSasResponse, self).__init__(**kwargs) + self.service_sas_token = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/management_policies_rules_set_parameter.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/management_policies_rules_set_parameter.py new file mode 100644 index 00000000000..c814a5b9391 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/management_policies_rules_set_parameter.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagementPoliciesRulesSetParameter(Model): + """The Storage Account ManagementPolicies Rules, in JSON format. See more + details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + + :param policy: The Storage Account ManagementPolicies Rules, in JSON + format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type policy: object + """ + + _attribute_map = { + 'policy': {'key': 'properties.policy', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(ManagementPoliciesRulesSetParameter, self).__init__(**kwargs) + self.policy = kwargs.get('policy', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/management_policies_rules_set_parameter_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/management_policies_rules_set_parameter_py3.py new file mode 100644 index 00000000000..7fb66587784 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/management_policies_rules_set_parameter_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagementPoliciesRulesSetParameter(Model): + """The Storage Account ManagementPolicies Rules, in JSON format. See more + details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + + :param policy: The Storage Account ManagementPolicies Rules, in JSON + format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type policy: object + """ + + _attribute_map = { + 'policy': {'key': 'properties.policy', 'type': 'object'}, + } + + def __init__(self, *, policy=None, **kwargs) -> None: + super(ManagementPoliciesRulesSetParameter, self).__init__(**kwargs) + self.policy = policy diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/metric_specification.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/metric_specification.py new file mode 100644 index 00000000000..34c2fe591d1 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/metric_specification.py @@ -0,0 +1,64 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MetricSpecification(Model): + """Metric specification of operation. + + :param name: Name of metric specification. + :type name: str + :param display_name: Display name of metric specification. + :type display_name: str + :param display_description: Display description of metric specification. + :type display_description: str + :param unit: Unit could be Bytes or Count. + :type unit: str + :param dimensions: Dimensions of blobs, including blob type and access + tier. + :type dimensions: + list[~azure.mgmt.storage.v2018_03_01_preview.models.Dimension] + :param aggregation_type: Aggregation type could be Average. + :type aggregation_type: str + :param fill_gap_with_zero: The property to decide fill gap with zero or + not. + :type fill_gap_with_zero: bool + :param category: The category this metric specification belong to, could + be Capacity. + :type category: str + :param resource_id_dimension_name_override: Account Resource Id. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'category': {'key': 'category', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.dimensions = kwargs.get('dimensions', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.category = kwargs.get('category', None) + self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/metric_specification_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/metric_specification_py3.py new file mode 100644 index 00000000000..33704d9da32 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/metric_specification_py3.py @@ -0,0 +1,64 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MetricSpecification(Model): + """Metric specification of operation. + + :param name: Name of metric specification. + :type name: str + :param display_name: Display name of metric specification. + :type display_name: str + :param display_description: Display description of metric specification. + :type display_description: str + :param unit: Unit could be Bytes or Count. + :type unit: str + :param dimensions: Dimensions of blobs, including blob type and access + tier. + :type dimensions: + list[~azure.mgmt.storage.v2018_03_01_preview.models.Dimension] + :param aggregation_type: Aggregation type could be Average. + :type aggregation_type: str + :param fill_gap_with_zero: The property to decide fill gap with zero or + not. + :type fill_gap_with_zero: bool + :param category: The category this metric specification belong to, could + be Capacity. + :type category: str + :param resource_id_dimension_name_override: Account Resource Id. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'category': {'key': 'category', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, dimensions=None, aggregation_type: str=None, fill_gap_with_zero: bool=None, category: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.dimensions = dimensions + self.aggregation_type = aggregation_type + self.fill_gap_with_zero = fill_gap_with_zero + self.category = category + self.resource_id_dimension_name_override = resource_id_dimension_name_override diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/network_rule_set.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/network_rule_set.py new file mode 100644 index 00000000000..803725178c8 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/network_rule_set.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class NetworkRuleSet(Model): + """Network rule set. + + All required parameters must be populated in order to send to Azure. + + :param bypass: Specifies whether traffic is bypassed for + Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None + to bypass none of those traffics. Possible values include: 'None', + 'Logging', 'Metrics', 'AzureServices'. Default value: "AzureServices" . + :type bypass: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Bypass + :param virtual_network_rules: Sets the virtual network rules + :type virtual_network_rules: + list[~azure.mgmt.storage.v2018_03_01_preview.models.VirtualNetworkRule] + :param ip_rules: Sets the IP ACL rules + :type ip_rules: + list[~azure.mgmt.storage.v2018_03_01_preview.models.IPRule] + :param default_action: Required. Specifies the default action of allow or + deny when no other rules match. Possible values include: 'Allow', 'Deny'. + Default value: "Allow" . + :type default_action: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.DefaultAction + """ + + _validation = { + 'default_action': {'required': True}, + } + + _attribute_map = { + 'bypass': {'key': 'bypass', 'type': 'str'}, + 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, + 'ip_rules': {'key': 'ipRules', 'type': '[IPRule]'}, + 'default_action': {'key': 'defaultAction', 'type': 'DefaultAction'}, + } + + def __init__(self, **kwargs): + super(NetworkRuleSet, self).__init__(**kwargs) + self.bypass = kwargs.get('bypass', "AzureServices") + self.virtual_network_rules = kwargs.get('virtual_network_rules', None) + self.ip_rules = kwargs.get('ip_rules', None) + self.default_action = kwargs.get('default_action', "Allow") diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/network_rule_set_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/network_rule_set_py3.py new file mode 100644 index 00000000000..9c455a98675 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/network_rule_set_py3.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class NetworkRuleSet(Model): + """Network rule set. + + All required parameters must be populated in order to send to Azure. + + :param bypass: Specifies whether traffic is bypassed for + Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None + to bypass none of those traffics. Possible values include: 'None', + 'Logging', 'Metrics', 'AzureServices'. Default value: "AzureServices" . + :type bypass: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Bypass + :param virtual_network_rules: Sets the virtual network rules + :type virtual_network_rules: + list[~azure.mgmt.storage.v2018_03_01_preview.models.VirtualNetworkRule] + :param ip_rules: Sets the IP ACL rules + :type ip_rules: + list[~azure.mgmt.storage.v2018_03_01_preview.models.IPRule] + :param default_action: Required. Specifies the default action of allow or + deny when no other rules match. Possible values include: 'Allow', 'Deny'. + Default value: "Allow" . + :type default_action: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.DefaultAction + """ + + _validation = { + 'default_action': {'required': True}, + } + + _attribute_map = { + 'bypass': {'key': 'bypass', 'type': 'str'}, + 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, + 'ip_rules': {'key': 'ipRules', 'type': '[IPRule]'}, + 'default_action': {'key': 'defaultAction', 'type': 'DefaultAction'}, + } + + def __init__(self, *, bypass="AzureServices", virtual_network_rules=None, ip_rules=None, default_action="Allow", **kwargs) -> None: + super(NetworkRuleSet, self).__init__(**kwargs) + self.bypass = bypass + self.virtual_network_rules = virtual_network_rules + self.ip_rules = ip_rules + self.default_action = default_action diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation.py new file mode 100644 index 00000000000..414b1e14671 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Operation(Model): + """Storage REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.storage.v2018_03_01_preview.models.OperationDisplay + :param origin: The origin of operations. + :type origin: str + :param service_specification: One property of operation, include metric + specifications. + :type service_specification: + ~azure.mgmt.storage.v2018_03_01_preview.models.ServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.service_specification = kwargs.get('service_specification', None) diff --git a/src/rdbms/azext_rdbms/postgresql/models/operation_display_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_display.py similarity index 50% rename from src/rdbms/azext_rdbms/postgresql/models/operation_display_py3.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_display.py index 9b5a77c699a..12d72186c4f 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/operation_display_py3.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_display.py @@ -15,36 +15,22 @@ class OperationDisplay(Model): """Display metadata associated with the operation. - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar provider: Operation resource provider name. - :vartype provider: str - :ivar resource: Resource on which the operation is performed. - :vartype resource: str - :ivar operation: Localized friendly name for the operation. - :vartype operation: str - :ivar description: Operation description. - :vartype description: str + :param provider: Service provider: Microsoft Storage. + :type provider: str + :param resource: Resource on which the operation is performed etc. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str """ - _validation = { - 'provider': {'readonly': True}, - 'resource': {'readonly': True}, - 'operation': {'readonly': True}, - 'description': {'readonly': True}, - } - _attribute_map = { 'provider': {'key': 'provider', 'type': 'str'}, 'resource': {'key': 'resource', 'type': 'str'}, 'operation': {'key': 'operation', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__(self, **kwargs): super(OperationDisplay, self).__init__(**kwargs) - self.provider = None - self.resource = None - self.operation = None - self.description = None + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) diff --git a/src/rdbms/azext_rdbms/mysql/models/operation_display_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_display_py3.py similarity index 50% rename from src/rdbms/azext_rdbms/mysql/models/operation_display_py3.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_display_py3.py index 9b5a77c699a..632a6393c99 100644 --- a/src/rdbms/azext_rdbms/mysql/models/operation_display_py3.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_display_py3.py @@ -15,36 +15,22 @@ class OperationDisplay(Model): """Display metadata associated with the operation. - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar provider: Operation resource provider name. - :vartype provider: str - :ivar resource: Resource on which the operation is performed. - :vartype resource: str - :ivar operation: Localized friendly name for the operation. - :vartype operation: str - :ivar description: Operation description. - :vartype description: str + :param provider: Service provider: Microsoft Storage. + :type provider: str + :param resource: Resource on which the operation is performed etc. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str """ - _validation = { - 'provider': {'readonly': True}, - 'resource': {'readonly': True}, - 'operation': {'readonly': True}, - 'description': {'readonly': True}, - } - _attribute_map = { 'provider': {'key': 'provider', 'type': 'str'}, 'resource': {'key': 'resource', 'type': 'str'}, 'operation': {'key': 'operation', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, **kwargs) -> None: super(OperationDisplay, self).__init__(**kwargs) - self.provider = None - self.resource = None - self.operation = None - self.description = None + self.provider = provider + self.resource = resource + self.operation = operation diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_paged.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_paged.py new file mode 100644 index 00000000000..78bb839cc06 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_py3.py new file mode 100644 index 00000000000..e916d274b9a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/operation_py3.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Operation(Model): + """Storage REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.storage.v2018_03_01_preview.models.OperationDisplay + :param origin: The origin of operations. + :type origin: str + :param service_specification: One property of operation, include metric + specifications. + :type service_specification: + ~azure.mgmt.storage.v2018_03_01_preview.models.ServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.service_specification = service_specification diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/proxy_resource.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/proxy_resource.py new file mode 100644 index 00000000000..0de8fb6bd42 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/proxy_resource.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource import Resource + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyResource, self).__init__(**kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/proxy_resource_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/proxy_resource_py3.py new file mode 100644 index 00000000000..2e8391f912d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/proxy_resource_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_py3 import Resource + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ProxyResource, self).__init__(**kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/resource.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/resource.py new file mode 100644 index 00000000000..9333a2ac49e --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/resource.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/proxy_resource_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/resource_py3.py similarity index 70% rename from src/rdbms/azext_rdbms/postgresql/models/proxy_resource_py3.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/resource_py3.py index e0dde467e58..370e6c50658 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/proxy_resource_py3.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/resource_py3.py @@ -12,17 +12,19 @@ from msrest.serialization import Model -class ProxyResource(Model): - """Resource properties. +class Resource(Model): + """Resource. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource ID + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: Resource name. + :ivar name: The name of the resource :vartype name: str - :ivar type: Resource type. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str """ @@ -39,7 +41,7 @@ class ProxyResource(Model): } def __init__(self, **kwargs) -> None: - super(ProxyResource, self).__init__(**kwargs) + super(Resource, self).__init__(**kwargs) self.id = None self.name = None self.type = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/restriction.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/restriction.py new file mode 100644 index 00000000000..68f70bfe33d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/restriction.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Restriction(Model): + """The restriction because of which SKU cannot be used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of restrictions. As of now only possible value for + this is location. + :vartype type: str + :ivar values: The value of restrictions. If the restriction type is set to + location. This would be different locations where the SKU is restricted. + :vartype values: list[str] + :param reason_code: The reason for the restriction. As of now this can be + “QuotaId” or “NotAvailableForSubscription”. Quota Id is set when the SKU + has requiredQuotas parameter as the subscription does not belong to that + quota. The “NotAvailableForSubscription” is related to capacity at DC. + Possible values include: 'QuotaId', 'NotAvailableForSubscription' + :type reason_code: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ReasonCode + """ + + _validation = { + 'type': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Restriction, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = kwargs.get('reason_code', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/restriction_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/restriction_py3.py new file mode 100644 index 00000000000..02d8fda6fd9 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/restriction_py3.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Restriction(Model): + """The restriction because of which SKU cannot be used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of restrictions. As of now only possible value for + this is location. + :vartype type: str + :ivar values: The value of restrictions. If the restriction type is set to + location. This would be different locations where the SKU is restricted. + :vartype values: list[str] + :param reason_code: The reason for the restriction. As of now this can be + “QuotaId” or “NotAvailableForSubscription”. Quota Id is set when the SKU + has requiredQuotas parameter as the subscription does not belong to that + quota. The “NotAvailableForSubscription” is related to capacity at DC. + Possible values include: 'QuotaId', 'NotAvailableForSubscription' + :type reason_code: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ReasonCode + """ + + _validation = { + 'type': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__(self, *, reason_code=None, **kwargs) -> None: + super(Restriction, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = reason_code diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_sas_parameters.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_sas_parameters.py new file mode 100644 index 00000000000..736424ddc9c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_sas_parameters.py @@ -0,0 +1,121 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceSasParameters(Model): + """The parameters to list service SAS credentials of a speicific resource. + + All required parameters must be populated in order to send to Azure. + + :param canonicalized_resource: Required. The canonical path to the signed + resource. + :type canonicalized_resource: str + :param resource: Required. The signed services accessible with the service + SAS. Possible values include: Blob (b), Container (c), File (f), Share + (s). Possible values include: 'b', 'c', 'f', 's' + :type resource: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.SignedResource + :param permissions: The signed permissions for the service SAS. Possible + values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create + (c), Update (u) and Process (p). Possible values include: 'r', 'd', 'w', + 'l', 'a', 'c', 'u', 'p' + :type permissions: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.Permissions + :param ip_address_or_range: An IP address or a range of IP addresses from + which to accept requests. + :type ip_address_or_range: str + :param protocols: The protocol permitted for a request made with the + account SAS. Possible values include: 'https,http', 'https' + :type protocols: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.HttpProtocol + :param shared_access_start_time: The time at which the SAS becomes valid. + :type shared_access_start_time: datetime + :param shared_access_expiry_time: The time at which the shared access + signature becomes invalid. + :type shared_access_expiry_time: datetime + :param identifier: A unique value up to 64 characters in length that + correlates to an access policy specified for the container, queue, or + table. + :type identifier: str + :param partition_key_start: The start of partition key. + :type partition_key_start: str + :param partition_key_end: The end of partition key. + :type partition_key_end: str + :param row_key_start: The start of row key. + :type row_key_start: str + :param row_key_end: The end of row key. + :type row_key_end: str + :param key_to_sign: The key to sign the account SAS token with. + :type key_to_sign: str + :param cache_control: The response header override for cache control. + :type cache_control: str + :param content_disposition: The response header override for content + disposition. + :type content_disposition: str + :param content_encoding: The response header override for content + encoding. + :type content_encoding: str + :param content_language: The response header override for content + language. + :type content_language: str + :param content_type: The response header override for content type. + :type content_type: str + """ + + _validation = { + 'canonicalized_resource': {'required': True}, + 'resource': {'required': True}, + 'identifier': {'max_length': 64}, + } + + _attribute_map = { + 'canonicalized_resource': {'key': 'canonicalizedResource', 'type': 'str'}, + 'resource': {'key': 'signedResource', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'HttpProtocol'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'identifier': {'key': 'signedIdentifier', 'type': 'str'}, + 'partition_key_start': {'key': 'startPk', 'type': 'str'}, + 'partition_key_end': {'key': 'endPk', 'type': 'str'}, + 'row_key_start': {'key': 'startRk', 'type': 'str'}, + 'row_key_end': {'key': 'endRk', 'type': 'str'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + 'cache_control': {'key': 'rscc', 'type': 'str'}, + 'content_disposition': {'key': 'rscd', 'type': 'str'}, + 'content_encoding': {'key': 'rsce', 'type': 'str'}, + 'content_language': {'key': 'rscl', 'type': 'str'}, + 'content_type': {'key': 'rsct', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceSasParameters, self).__init__(**kwargs) + self.canonicalized_resource = kwargs.get('canonicalized_resource', None) + self.resource = kwargs.get('resource', None) + self.permissions = kwargs.get('permissions', None) + self.ip_address_or_range = kwargs.get('ip_address_or_range', None) + self.protocols = kwargs.get('protocols', None) + self.shared_access_start_time = kwargs.get('shared_access_start_time', None) + self.shared_access_expiry_time = kwargs.get('shared_access_expiry_time', None) + self.identifier = kwargs.get('identifier', None) + self.partition_key_start = kwargs.get('partition_key_start', None) + self.partition_key_end = kwargs.get('partition_key_end', None) + self.row_key_start = kwargs.get('row_key_start', None) + self.row_key_end = kwargs.get('row_key_end', None) + self.key_to_sign = kwargs.get('key_to_sign', None) + self.cache_control = kwargs.get('cache_control', None) + self.content_disposition = kwargs.get('content_disposition', None) + self.content_encoding = kwargs.get('content_encoding', None) + self.content_language = kwargs.get('content_language', None) + self.content_type = kwargs.get('content_type', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_sas_parameters_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_sas_parameters_py3.py new file mode 100644 index 00000000000..e1bc7bc90e0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_sas_parameters_py3.py @@ -0,0 +1,121 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceSasParameters(Model): + """The parameters to list service SAS credentials of a speicific resource. + + All required parameters must be populated in order to send to Azure. + + :param canonicalized_resource: Required. The canonical path to the signed + resource. + :type canonicalized_resource: str + :param resource: Required. The signed services accessible with the service + SAS. Possible values include: Blob (b), Container (c), File (f), Share + (s). Possible values include: 'b', 'c', 'f', 's' + :type resource: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.SignedResource + :param permissions: The signed permissions for the service SAS. Possible + values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create + (c), Update (u) and Process (p). Possible values include: 'r', 'd', 'w', + 'l', 'a', 'c', 'u', 'p' + :type permissions: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.Permissions + :param ip_address_or_range: An IP address or a range of IP addresses from + which to accept requests. + :type ip_address_or_range: str + :param protocols: The protocol permitted for a request made with the + account SAS. Possible values include: 'https,http', 'https' + :type protocols: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.HttpProtocol + :param shared_access_start_time: The time at which the SAS becomes valid. + :type shared_access_start_time: datetime + :param shared_access_expiry_time: The time at which the shared access + signature becomes invalid. + :type shared_access_expiry_time: datetime + :param identifier: A unique value up to 64 characters in length that + correlates to an access policy specified for the container, queue, or + table. + :type identifier: str + :param partition_key_start: The start of partition key. + :type partition_key_start: str + :param partition_key_end: The end of partition key. + :type partition_key_end: str + :param row_key_start: The start of row key. + :type row_key_start: str + :param row_key_end: The end of row key. + :type row_key_end: str + :param key_to_sign: The key to sign the account SAS token with. + :type key_to_sign: str + :param cache_control: The response header override for cache control. + :type cache_control: str + :param content_disposition: The response header override for content + disposition. + :type content_disposition: str + :param content_encoding: The response header override for content + encoding. + :type content_encoding: str + :param content_language: The response header override for content + language. + :type content_language: str + :param content_type: The response header override for content type. + :type content_type: str + """ + + _validation = { + 'canonicalized_resource': {'required': True}, + 'resource': {'required': True}, + 'identifier': {'max_length': 64}, + } + + _attribute_map = { + 'canonicalized_resource': {'key': 'canonicalizedResource', 'type': 'str'}, + 'resource': {'key': 'signedResource', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'HttpProtocol'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'identifier': {'key': 'signedIdentifier', 'type': 'str'}, + 'partition_key_start': {'key': 'startPk', 'type': 'str'}, + 'partition_key_end': {'key': 'endPk', 'type': 'str'}, + 'row_key_start': {'key': 'startRk', 'type': 'str'}, + 'row_key_end': {'key': 'endRk', 'type': 'str'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + 'cache_control': {'key': 'rscc', 'type': 'str'}, + 'content_disposition': {'key': 'rscd', 'type': 'str'}, + 'content_encoding': {'key': 'rsce', 'type': 'str'}, + 'content_language': {'key': 'rscl', 'type': 'str'}, + 'content_type': {'key': 'rsct', 'type': 'str'}, + } + + def __init__(self, *, canonicalized_resource: str, resource, permissions=None, ip_address_or_range: str=None, protocols=None, shared_access_start_time=None, shared_access_expiry_time=None, identifier: str=None, partition_key_start: str=None, partition_key_end: str=None, row_key_start: str=None, row_key_end: str=None, key_to_sign: str=None, cache_control: str=None, content_disposition: str=None, content_encoding: str=None, content_language: str=None, content_type: str=None, **kwargs) -> None: + super(ServiceSasParameters, self).__init__(**kwargs) + self.canonicalized_resource = canonicalized_resource + self.resource = resource + self.permissions = permissions + self.ip_address_or_range = ip_address_or_range + self.protocols = protocols + self.shared_access_start_time = shared_access_start_time + self.shared_access_expiry_time = shared_access_expiry_time + self.identifier = identifier + self.partition_key_start = partition_key_start + self.partition_key_end = partition_key_end + self.row_key_start = row_key_start + self.row_key_end = row_key_end + self.key_to_sign = key_to_sign + self.cache_control = cache_control + self.content_disposition = content_disposition + self.content_encoding = content_encoding + self.content_language = content_language + self.content_type = content_type diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_specification.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_specification.py new file mode 100644 index 00000000000..f0221d7d9f0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_specification.py @@ -0,0 +1,29 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceSpecification(Model): + """One property of operation, include metric specifications. + + :param metric_specifications: Metric specifications of operation. + :type metric_specifications: + list[~azure.mgmt.storage.v2018_03_01_preview.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, **kwargs): + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_specification_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_specification_py3.py new file mode 100644 index 00000000000..a0447d57836 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/service_specification_py3.py @@ -0,0 +1,29 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceSpecification(Model): + """One property of operation, include metric specifications. + + :param metric_specifications: Metric specifications of operation. + :type metric_specifications: + list[~azure.mgmt.storage.v2018_03_01_preview.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, **kwargs) -> None: + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku.py new file mode 100644 index 00000000000..4acb2cabee5 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku.py @@ -0,0 +1,79 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Sku(Model): + """The SKU of the storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Gets or sets the sku name. Required for account + creation; optional for update. Note that in older versions, sku name was + called accountType. Possible values include: 'Standard_LRS', + 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS' + :type name: str or ~azure.mgmt.storage.v2018_03_01_preview.models.SkuName + :ivar tier: Gets the sku tier. This is based on the SKU name. Possible + values include: 'Standard', 'Premium' + :vartype tier: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.SkuTier + :ivar resource_type: The type of the resource, usually it is + 'storageAccounts'. + :vartype resource_type: str + :ivar kind: Indicates the type of storage account. Possible values + include: 'Storage', 'StorageV2', 'BlobStorage' + :vartype kind: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Kind + :ivar locations: The set of locations that the SKU is available. This will + be supported and registered Azure Geo Regions (e.g. West US, East US, + Southeast Asia, etc.). + :vartype locations: list[str] + :ivar capabilities: The capability information in the specified sku, + including file encryption, network acls, change notification, etc. + :vartype capabilities: + list[~azure.mgmt.storage.v2018_03_01_preview.models.SKUCapability] + :param restrictions: The restrictions because of which SKU cannot be used. + This is empty if there are no restrictions. + :type restrictions: + list[~azure.mgmt.storage.v2018_03_01_preview.models.Restriction] + """ + + _validation = { + 'name': {'required': True}, + 'tier': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'kind': {'readonly': True}, + 'locations': {'readonly': True}, + 'capabilities': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'SkuName'}, + 'tier': {'key': 'tier', 'type': 'SkuTier'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'Kind'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[SKUCapability]'}, + 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = None + self.resource_type = None + self.kind = None + self.locations = None + self.capabilities = None + self.restrictions = kwargs.get('restrictions', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_capability.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_capability.py new file mode 100644 index 00000000000..b8fa68ce777 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_capability.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SKUCapability(Model): + """The capability information in the specified sku, including file encryption, + network acls, change notification, etc. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of capability, The capability information in the + specified sku, including file encryption, network acls, change + notification, etc. + :vartype name: str + :ivar value: A string value to indicate states of given capability. + Possibly 'true' or 'false'. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SKUCapability, self).__init__(**kwargs) + self.name = None + self.value = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_capability_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_capability_py3.py new file mode 100644 index 00000000000..f349a08eda2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_capability_py3.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SKUCapability(Model): + """The capability information in the specified sku, including file encryption, + network acls, change notification, etc. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of capability, The capability information in the + specified sku, including file encryption, network acls, change + notification, etc. + :vartype name: str + :ivar value: A string value to indicate states of given capability. + Possibly 'true' or 'false'. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SKUCapability, self).__init__(**kwargs) + self.name = None + self.value = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_paged.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_paged.py new file mode 100644 index 00000000000..f15c72443a2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class SkuPaged(Paged): + """ + A paging container for iterating over a list of :class:`Sku ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Sku]'} + } + + def __init__(self, *args, **kwargs): + + super(SkuPaged, self).__init__(*args, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_py3.py new file mode 100644 index 00000000000..ab98d7b85f7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/sku_py3.py @@ -0,0 +1,79 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Sku(Model): + """The SKU of the storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Gets or sets the sku name. Required for account + creation; optional for update. Note that in older versions, sku name was + called accountType. Possible values include: 'Standard_LRS', + 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS' + :type name: str or ~azure.mgmt.storage.v2018_03_01_preview.models.SkuName + :ivar tier: Gets the sku tier. This is based on the SKU name. Possible + values include: 'Standard', 'Premium' + :vartype tier: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.SkuTier + :ivar resource_type: The type of the resource, usually it is + 'storageAccounts'. + :vartype resource_type: str + :ivar kind: Indicates the type of storage account. Possible values + include: 'Storage', 'StorageV2', 'BlobStorage' + :vartype kind: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Kind + :ivar locations: The set of locations that the SKU is available. This will + be supported and registered Azure Geo Regions (e.g. West US, East US, + Southeast Asia, etc.). + :vartype locations: list[str] + :ivar capabilities: The capability information in the specified sku, + including file encryption, network acls, change notification, etc. + :vartype capabilities: + list[~azure.mgmt.storage.v2018_03_01_preview.models.SKUCapability] + :param restrictions: The restrictions because of which SKU cannot be used. + This is empty if there are no restrictions. + :type restrictions: + list[~azure.mgmt.storage.v2018_03_01_preview.models.Restriction] + """ + + _validation = { + 'name': {'required': True}, + 'tier': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'kind': {'readonly': True}, + 'locations': {'readonly': True}, + 'capabilities': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'SkuName'}, + 'tier': {'key': 'tier', 'type': 'SkuTier'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'Kind'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[SKUCapability]'}, + 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, + } + + def __init__(self, *, name, restrictions=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = None + self.resource_type = None + self.kind = None + self.locations = None + self.capabilities = None + self.restrictions = restrictions diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account.py new file mode 100644 index 00000000000..186c985c850 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account.py @@ -0,0 +1,175 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource import TrackedResource + + +class StorageAccount(TrackedResource): + """The storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :ivar sku: Gets the SKU. + :vartype sku: ~azure.mgmt.storage.v2018_03_01_preview.models.Sku + :ivar kind: Gets the Kind. Possible values include: 'Storage', + 'StorageV2', 'BlobStorage' + :vartype kind: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Kind + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2018_03_01_preview.models.Identity + :ivar provisioning_state: Gets the status of the storage account at the + time the operation was called. Possible values include: 'Creating', + 'ResolvingDNS', 'Succeeded' + :vartype provisioning_state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ProvisioningState + :ivar primary_endpoints: Gets the URLs that are used to perform a + retrieval of a public blob, queue, or table object. Note that Standard_ZRS + and Premium_LRS accounts only return the blob endpoint. + :vartype primary_endpoints: + ~azure.mgmt.storage.v2018_03_01_preview.models.Endpoints + :ivar primary_location: Gets the location of the primary data center for + the storage account. + :vartype primary_location: str + :ivar status_of_primary: Gets the status indicating whether the primary + location of the storage account is available or unavailable. Possible + values include: 'available', 'unavailable' + :vartype status_of_primary: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccountStatus + :ivar last_geo_failover_time: Gets the timestamp of the most recent + instance of a failover to the secondary location. Only the most recent + timestamp is retained. This element is not returned if there has never + been a failover instance. Only available if the accountType is + Standard_GRS or Standard_RAGRS. + :vartype last_geo_failover_time: datetime + :ivar secondary_location: Gets the location of the geo-replicated + secondary for the storage account. Only available if the accountType is + Standard_GRS or Standard_RAGRS. + :vartype secondary_location: str + :ivar status_of_secondary: Gets the status indicating whether the + secondary location of the storage account is available or unavailable. + Only available if the SKU name is Standard_GRS or Standard_RAGRS. Possible + values include: 'available', 'unavailable' + :vartype status_of_secondary: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccountStatus + :ivar creation_time: Gets the creation date and time of the storage + account in UTC. + :vartype creation_time: datetime + :ivar custom_domain: Gets the custom domain the user assigned to this + storage account. + :vartype custom_domain: + ~azure.mgmt.storage.v2018_03_01_preview.models.CustomDomain + :ivar secondary_endpoints: Gets the URLs that are used to perform a + retrieval of a public blob, queue, or table object from the secondary + location of the storage account. Only available if the SKU name is + Standard_RAGRS. + :vartype secondary_endpoints: + ~azure.mgmt.storage.v2018_03_01_preview.models.Endpoints + :ivar encryption: Gets the encryption settings on the account. If + unspecified, the account is unencrypted. + :vartype encryption: + ~azure.mgmt.storage.v2018_03_01_preview.models.Encryption + :ivar access_tier: Required for storage accounts where kind = BlobStorage. + The access tier used for billing. Possible values include: 'Hot', 'Cool' + :vartype access_tier: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccessTier + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. Default value: False . + :type enable_https_traffic_only: bool + :ivar network_rule_set: Network rule set + :vartype network_rule_set: + ~azure.mgmt.storage.v2018_03_01_preview.models.NetworkRuleSet + :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to + true. Default value: False . + :type is_hns_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'readonly': True}, + 'kind': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'primary_endpoints': {'readonly': True}, + 'primary_location': {'readonly': True}, + 'status_of_primary': {'readonly': True}, + 'last_geo_failover_time': {'readonly': True}, + 'secondary_location': {'readonly': True}, + 'status_of_secondary': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'custom_domain': {'readonly': True}, + 'secondary_endpoints': {'readonly': True}, + 'encryption': {'readonly': True}, + 'access_tier': {'readonly': True}, + 'network_rule_set': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'Kind'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'primary_endpoints': {'key': 'properties.primaryEndpoints', 'type': 'Endpoints'}, + 'primary_location': {'key': 'properties.primaryLocation', 'type': 'str'}, + 'status_of_primary': {'key': 'properties.statusOfPrimary', 'type': 'AccountStatus'}, + 'last_geo_failover_time': {'key': 'properties.lastGeoFailoverTime', 'type': 'iso-8601'}, + 'secondary_location': {'key': 'properties.secondaryLocation', 'type': 'str'}, + 'status_of_secondary': {'key': 'properties.statusOfSecondary', 'type': 'AccountStatus'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'secondary_endpoints': {'key': 'properties.secondaryEndpoints', 'type': 'Endpoints'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(StorageAccount, self).__init__(**kwargs) + self.sku = None + self.kind = None + self.identity = kwargs.get('identity', None) + self.provisioning_state = None + self.primary_endpoints = None + self.primary_location = None + self.status_of_primary = None + self.last_geo_failover_time = None + self.secondary_location = None + self.status_of_secondary = None + self.creation_time = None + self.custom_domain = None + self.secondary_endpoints = None + self.encryption = None + self.access_tier = None + self.enable_https_traffic_only = kwargs.get('enable_https_traffic_only', False) + self.network_rule_set = None + self.is_hns_enabled = kwargs.get('is_hns_enabled', False) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_check_name_availability_parameters.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_check_name_availability_parameters.py new file mode 100644 index 00000000000..42cf88a074a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_check_name_availability_parameters.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountCheckNameAvailabilityParameters(Model): + """The parameters used to check the availabity of the storage account name. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The storage account name. + :type name: str + :ivar type: Required. The type of resource, + Microsoft.Storage/storageAccounts. Default value: + "Microsoft.Storage/storageAccounts" . + :vartype type: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "Microsoft.Storage/storageAccounts" + + def __init__(self, **kwargs): + super(StorageAccountCheckNameAvailabilityParameters, self).__init__(**kwargs) + self.name = kwargs.get('name', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_check_name_availability_parameters_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_check_name_availability_parameters_py3.py new file mode 100644 index 00000000000..e6f50a45690 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_check_name_availability_parameters_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountCheckNameAvailabilityParameters(Model): + """The parameters used to check the availabity of the storage account name. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The storage account name. + :type name: str + :ivar type: Required. The type of resource, + Microsoft.Storage/storageAccounts. Default value: + "Microsoft.Storage/storageAccounts" . + :vartype type: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "Microsoft.Storage/storageAccounts" + + def __init__(self, *, name: str, **kwargs) -> None: + super(StorageAccountCheckNameAvailabilityParameters, self).__init__(**kwargs) + self.name = name diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_create_parameters.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_create_parameters.py new file mode 100644 index 00000000000..0a58961a568 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_create_parameters.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountCreateParameters(Model): + """The parameters used when creating a storage account. + + All required parameters must be populated in order to send to Azure. + + :param sku: Required. Required. Gets or sets the sku name. + :type sku: ~azure.mgmt.storage.v2018_03_01_preview.models.Sku + :param kind: Required. Required. Indicates the type of storage account. + Possible values include: 'Storage', 'StorageV2', 'BlobStorage' + :type kind: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Kind + :param location: Required. Required. Gets or sets the location of the + resource. This will be one of the supported and registered Azure Geo + Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a + resource cannot be changed once it is created, but if an identical geo + region is specified on update, the request will succeed. + :type location: str + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used for viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key with a length no greater than 128 + characters and a value with a length no greater than 256 characters. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2018_03_01_preview.models.Identity + :param custom_domain: User domain assigned to the storage account. Name is + the CNAME source. Only one custom domain is supported per storage account + at this time. To clear the existing custom domain, use an empty string for + the custom domain name property. + :type custom_domain: + ~azure.mgmt.storage.v2018_03_01_preview.models.CustomDomain + :param encryption: Provides the encryption settings on the account. If + left unspecified the account encryption settings will remain the same. The + default setting is unencrypted. + :type encryption: + ~azure.mgmt.storage.v2018_03_01_preview.models.Encryption + :param network_rule_set: Network rule set + :type network_rule_set: + ~azure.mgmt.storage.v2018_03_01_preview.models.NetworkRuleSet + :param access_tier: Required for storage accounts where kind = + BlobStorage. The access tier used for billing. Possible values include: + 'Hot', 'Cool' + :type access_tier: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccessTier + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. Default value: False . + :type enable_https_traffic_only: bool + :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to + true. Default value: False . + :type is_hns_enabled: bool + """ + + _validation = { + 'sku': {'required': True}, + 'kind': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'Kind'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(StorageAccountCreateParameters, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.identity = kwargs.get('identity', None) + self.custom_domain = kwargs.get('custom_domain', None) + self.encryption = kwargs.get('encryption', None) + self.network_rule_set = kwargs.get('network_rule_set', None) + self.access_tier = kwargs.get('access_tier', None) + self.enable_https_traffic_only = kwargs.get('enable_https_traffic_only', False) + self.is_hns_enabled = kwargs.get('is_hns_enabled', False) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_create_parameters_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_create_parameters_py3.py new file mode 100644 index 00000000000..95af6cb8090 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_create_parameters_py3.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountCreateParameters(Model): + """The parameters used when creating a storage account. + + All required parameters must be populated in order to send to Azure. + + :param sku: Required. Required. Gets or sets the sku name. + :type sku: ~azure.mgmt.storage.v2018_03_01_preview.models.Sku + :param kind: Required. Required. Indicates the type of storage account. + Possible values include: 'Storage', 'StorageV2', 'BlobStorage' + :type kind: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Kind + :param location: Required. Required. Gets or sets the location of the + resource. This will be one of the supported and registered Azure Geo + Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a + resource cannot be changed once it is created, but if an identical geo + region is specified on update, the request will succeed. + :type location: str + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used for viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key with a length no greater than 128 + characters and a value with a length no greater than 256 characters. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2018_03_01_preview.models.Identity + :param custom_domain: User domain assigned to the storage account. Name is + the CNAME source. Only one custom domain is supported per storage account + at this time. To clear the existing custom domain, use an empty string for + the custom domain name property. + :type custom_domain: + ~azure.mgmt.storage.v2018_03_01_preview.models.CustomDomain + :param encryption: Provides the encryption settings on the account. If + left unspecified the account encryption settings will remain the same. The + default setting is unencrypted. + :type encryption: + ~azure.mgmt.storage.v2018_03_01_preview.models.Encryption + :param network_rule_set: Network rule set + :type network_rule_set: + ~azure.mgmt.storage.v2018_03_01_preview.models.NetworkRuleSet + :param access_tier: Required for storage accounts where kind = + BlobStorage. The access tier used for billing. Possible values include: + 'Hot', 'Cool' + :type access_tier: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccessTier + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. Default value: False . + :type enable_https_traffic_only: bool + :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to + true. Default value: False . + :type is_hns_enabled: bool + """ + + _validation = { + 'sku': {'required': True}, + 'kind': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'Kind'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + } + + def __init__(self, *, sku, kind, location: str, tags=None, identity=None, custom_domain=None, encryption=None, network_rule_set=None, access_tier=None, enable_https_traffic_only: bool=False, is_hns_enabled: bool=False, **kwargs) -> None: + super(StorageAccountCreateParameters, self).__init__(**kwargs) + self.sku = sku + self.kind = kind + self.location = location + self.tags = tags + self.identity = identity + self.custom_domain = custom_domain + self.encryption = encryption + self.network_rule_set = network_rule_set + self.access_tier = access_tier + self.enable_https_traffic_only = enable_https_traffic_only + self.is_hns_enabled = is_hns_enabled diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_key.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_key.py new file mode 100644 index 00000000000..ed3a2995cf0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_key.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountKey(Model): + """An access key for the storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar key_name: Name of the key. + :vartype key_name: str + :ivar value: Base 64-encoded value of the key. + :vartype value: str + :ivar permissions: Permissions for the key -- read-only or full + permissions. Possible values include: 'Read', 'Full' + :vartype permissions: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.KeyPermission + """ + + _validation = { + 'key_name': {'readonly': True}, + 'value': {'readonly': True}, + 'permissions': {'readonly': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'permissions': {'key': 'permissions', 'type': 'KeyPermission'}, + } + + def __init__(self, **kwargs): + super(StorageAccountKey, self).__init__(**kwargs) + self.key_name = None + self.value = None + self.permissions = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_key_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_key_py3.py new file mode 100644 index 00000000000..fa850882f1b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_key_py3.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountKey(Model): + """An access key for the storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar key_name: Name of the key. + :vartype key_name: str + :ivar value: Base 64-encoded value of the key. + :vartype value: str + :ivar permissions: Permissions for the key -- read-only or full + permissions. Possible values include: 'Read', 'Full' + :vartype permissions: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.KeyPermission + """ + + _validation = { + 'key_name': {'readonly': True}, + 'value': {'readonly': True}, + 'permissions': {'readonly': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'permissions': {'key': 'permissions', 'type': 'KeyPermission'}, + } + + def __init__(self, **kwargs) -> None: + super(StorageAccountKey, self).__init__(**kwargs) + self.key_name = None + self.value = None + self.permissions = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_list_keys_result.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_list_keys_result.py new file mode 100644 index 00000000000..4d56465c568 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_list_keys_result.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountListKeysResult(Model): + """The response from the ListKeys operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar keys: Gets the list of storage account keys and their properties for + the specified storage account. + :vartype keys: + list[~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountKey] + """ + + _validation = { + 'keys': {'readonly': True}, + } + + _attribute_map = { + 'keys': {'key': 'keys', 'type': '[StorageAccountKey]'}, + } + + def __init__(self, **kwargs): + super(StorageAccountListKeysResult, self).__init__(**kwargs) + self.keys = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_list_keys_result_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_list_keys_result_py3.py new file mode 100644 index 00000000000..4d2a927c421 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_list_keys_result_py3.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountListKeysResult(Model): + """The response from the ListKeys operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar keys: Gets the list of storage account keys and their properties for + the specified storage account. + :vartype keys: + list[~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountKey] + """ + + _validation = { + 'keys': {'readonly': True}, + } + + _attribute_map = { + 'keys': {'key': 'keys', 'type': '[StorageAccountKey]'}, + } + + def __init__(self, **kwargs) -> None: + super(StorageAccountListKeysResult, self).__init__(**kwargs) + self.keys = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/log_file.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_management_policies.py similarity index 51% rename from src/rdbms/azext_rdbms/postgresql/models/log_file.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_management_policies.py index 214dae4dbee..59ee515d9a0 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/log_file.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_management_policies.py @@ -9,38 +9,36 @@ # regenerated. # -------------------------------------------------------------------------- -from .proxy_resource import ProxyResource +from .resource import Resource -class LogFile(ProxyResource): - """Represents a log file. +class StorageAccountManagementPolicies(Resource): + """The Get Storage Account ManagementPolicies operation response. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource ID + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: Resource name. + :ivar name: The name of the resource :vartype name: str - :ivar type: Resource type. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str - :param size_in_kb: Size of the log file. - :type size_in_kb: long - :ivar created_time: Creation timestamp of the log file. - :vartype created_time: datetime - :ivar last_modified_time: Last modified timestamp of the log file. + :param policy: The Storage Account ManagementPolicies Rules, in JSON + format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type policy: object + :ivar last_modified_time: Returns the date and time the ManagementPolicies + was last modified. :vartype last_modified_time: datetime - :param log_file_type: Type of the log file. - :type log_file_type: str - :param url: The url to download the log file from. - :type url: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'created_time': {'readonly': True}, 'last_modified_time': {'readonly': True}, } @@ -48,17 +46,11 @@ class LogFile(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'size_in_kb': {'key': 'properties.sizeInKB', 'type': 'long'}, - 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'policy': {'key': 'properties.policy', 'type': 'object'}, 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, - 'log_file_type': {'key': 'properties.type', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, } def __init__(self, **kwargs): - super(LogFile, self).__init__(**kwargs) - self.size_in_kb = kwargs.get('size_in_kb', None) - self.created_time = None + super(StorageAccountManagementPolicies, self).__init__(**kwargs) + self.policy = kwargs.get('policy', None) self.last_modified_time = None - self.log_file_type = kwargs.get('log_file_type', None) - self.url = kwargs.get('url', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_management_policies_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_management_policies_py3.py new file mode 100644 index 00000000000..3dc97762494 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_management_policies_py3.py @@ -0,0 +1,56 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_py3 import Resource + + +class StorageAccountManagementPolicies(Resource): + """The Get Storage Account ManagementPolicies operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param policy: The Storage Account ManagementPolicies Rules, in JSON + format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type policy: object + :ivar last_modified_time: Returns the date and time the ManagementPolicies + was last modified. + :vartype last_modified_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'policy': {'key': 'properties.policy', 'type': 'object'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, policy=None, **kwargs) -> None: + super(StorageAccountManagementPolicies, self).__init__(**kwargs) + self.policy = policy + self.last_modified_time = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_paged.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_paged.py new file mode 100644 index 00000000000..9bcc5490740 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class StorageAccountPaged(Paged): + """ + A paging container for iterating over a list of :class:`StorageAccount ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[StorageAccount]'} + } + + def __init__(self, *args, **kwargs): + + super(StorageAccountPaged, self).__init__(*args, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_py3.py new file mode 100644 index 00000000000..2e2b8140959 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_py3.py @@ -0,0 +1,175 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource_py3 import TrackedResource + + +class StorageAccount(TrackedResource): + """The storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :ivar sku: Gets the SKU. + :vartype sku: ~azure.mgmt.storage.v2018_03_01_preview.models.Sku + :ivar kind: Gets the Kind. Possible values include: 'Storage', + 'StorageV2', 'BlobStorage' + :vartype kind: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Kind + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2018_03_01_preview.models.Identity + :ivar provisioning_state: Gets the status of the storage account at the + time the operation was called. Possible values include: 'Creating', + 'ResolvingDNS', 'Succeeded' + :vartype provisioning_state: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ProvisioningState + :ivar primary_endpoints: Gets the URLs that are used to perform a + retrieval of a public blob, queue, or table object. Note that Standard_ZRS + and Premium_LRS accounts only return the blob endpoint. + :vartype primary_endpoints: + ~azure.mgmt.storage.v2018_03_01_preview.models.Endpoints + :ivar primary_location: Gets the location of the primary data center for + the storage account. + :vartype primary_location: str + :ivar status_of_primary: Gets the status indicating whether the primary + location of the storage account is available or unavailable. Possible + values include: 'available', 'unavailable' + :vartype status_of_primary: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccountStatus + :ivar last_geo_failover_time: Gets the timestamp of the most recent + instance of a failover to the secondary location. Only the most recent + timestamp is retained. This element is not returned if there has never + been a failover instance. Only available if the accountType is + Standard_GRS or Standard_RAGRS. + :vartype last_geo_failover_time: datetime + :ivar secondary_location: Gets the location of the geo-replicated + secondary for the storage account. Only available if the accountType is + Standard_GRS or Standard_RAGRS. + :vartype secondary_location: str + :ivar status_of_secondary: Gets the status indicating whether the + secondary location of the storage account is available or unavailable. + Only available if the SKU name is Standard_GRS or Standard_RAGRS. Possible + values include: 'available', 'unavailable' + :vartype status_of_secondary: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccountStatus + :ivar creation_time: Gets the creation date and time of the storage + account in UTC. + :vartype creation_time: datetime + :ivar custom_domain: Gets the custom domain the user assigned to this + storage account. + :vartype custom_domain: + ~azure.mgmt.storage.v2018_03_01_preview.models.CustomDomain + :ivar secondary_endpoints: Gets the URLs that are used to perform a + retrieval of a public blob, queue, or table object from the secondary + location of the storage account. Only available if the SKU name is + Standard_RAGRS. + :vartype secondary_endpoints: + ~azure.mgmt.storage.v2018_03_01_preview.models.Endpoints + :ivar encryption: Gets the encryption settings on the account. If + unspecified, the account is unencrypted. + :vartype encryption: + ~azure.mgmt.storage.v2018_03_01_preview.models.Encryption + :ivar access_tier: Required for storage accounts where kind = BlobStorage. + The access tier used for billing. Possible values include: 'Hot', 'Cool' + :vartype access_tier: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccessTier + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. Default value: False . + :type enable_https_traffic_only: bool + :ivar network_rule_set: Network rule set + :vartype network_rule_set: + ~azure.mgmt.storage.v2018_03_01_preview.models.NetworkRuleSet + :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to + true. Default value: False . + :type is_hns_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'readonly': True}, + 'kind': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'primary_endpoints': {'readonly': True}, + 'primary_location': {'readonly': True}, + 'status_of_primary': {'readonly': True}, + 'last_geo_failover_time': {'readonly': True}, + 'secondary_location': {'readonly': True}, + 'status_of_secondary': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'custom_domain': {'readonly': True}, + 'secondary_endpoints': {'readonly': True}, + 'encryption': {'readonly': True}, + 'access_tier': {'readonly': True}, + 'network_rule_set': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'Kind'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'primary_endpoints': {'key': 'properties.primaryEndpoints', 'type': 'Endpoints'}, + 'primary_location': {'key': 'properties.primaryLocation', 'type': 'str'}, + 'status_of_primary': {'key': 'properties.statusOfPrimary', 'type': 'AccountStatus'}, + 'last_geo_failover_time': {'key': 'properties.lastGeoFailoverTime', 'type': 'iso-8601'}, + 'secondary_location': {'key': 'properties.secondaryLocation', 'type': 'str'}, + 'status_of_secondary': {'key': 'properties.statusOfSecondary', 'type': 'AccountStatus'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'secondary_endpoints': {'key': 'properties.secondaryEndpoints', 'type': 'Endpoints'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + } + + def __init__(self, *, location: str, tags=None, identity=None, enable_https_traffic_only: bool=False, is_hns_enabled: bool=False, **kwargs) -> None: + super(StorageAccount, self).__init__(tags=tags, location=location, **kwargs) + self.sku = None + self.kind = None + self.identity = identity + self.provisioning_state = None + self.primary_endpoints = None + self.primary_location = None + self.status_of_primary = None + self.last_geo_failover_time = None + self.secondary_location = None + self.status_of_secondary = None + self.creation_time = None + self.custom_domain = None + self.secondary_endpoints = None + self.encryption = None + self.access_tier = None + self.enable_https_traffic_only = enable_https_traffic_only + self.network_rule_set = None + self.is_hns_enabled = is_hns_enabled diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_regenerate_key_parameters.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_regenerate_key_parameters.py new file mode 100644 index 00000000000..ca7f33b2511 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_regenerate_key_parameters.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountRegenerateKeyParameters(Model): + """The parameters used to regenerate the storage account key. + + All required parameters must be populated in order to send to Azure. + + :param key_name: Required. The name of storage keys that want to be + regenerated, possible vaules are key1, key2. + :type key_name: str + """ + + _validation = { + 'key_name': {'required': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StorageAccountRegenerateKeyParameters, self).__init__(**kwargs) + self.key_name = kwargs.get('key_name', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_regenerate_key_parameters_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_regenerate_key_parameters_py3.py new file mode 100644 index 00000000000..42f3c0b2e94 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_regenerate_key_parameters_py3.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountRegenerateKeyParameters(Model): + """The parameters used to regenerate the storage account key. + + All required parameters must be populated in order to send to Azure. + + :param key_name: Required. The name of storage keys that want to be + regenerated, possible vaules are key1, key2. + :type key_name: str + """ + + _validation = { + 'key_name': {'required': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, *, key_name: str, **kwargs) -> None: + super(StorageAccountRegenerateKeyParameters, self).__init__(**kwargs) + self.key_name = key_name diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_update_parameters.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_update_parameters.py new file mode 100644 index 00000000000..16136fe068d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_update_parameters.py @@ -0,0 +1,80 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountUpdateParameters(Model): + """The parameters that can be provided when updating the storage account + properties. + + :param sku: Gets or sets the SKU name. Note that the SKU name cannot be + updated to Standard_ZRS or Premium_LRS, nor can accounts of those sku + names be updated to any other value. + :type sku: ~azure.mgmt.storage.v2018_03_01_preview.models.Sku + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used in viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key no greater in length than 128 + characters and a value no greater in length than 256 characters. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2018_03_01_preview.models.Identity + :param custom_domain: Custom domain assigned to the storage account by the + user. Name is the CNAME source. Only one custom domain is supported per + storage account at this time. To clear the existing custom domain, use an + empty string for the custom domain name property. + :type custom_domain: + ~azure.mgmt.storage.v2018_03_01_preview.models.CustomDomain + :param encryption: Provides the encryption settings on the account. The + default setting is unencrypted. + :type encryption: + ~azure.mgmt.storage.v2018_03_01_preview.models.Encryption + :param access_tier: Required for storage accounts where kind = + BlobStorage. The access tier used for billing. Possible values include: + 'Hot', 'Cool' + :type access_tier: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccessTier + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. Default value: False . + :type enable_https_traffic_only: bool + :param network_rule_set: Network rule set + :type network_rule_set: + ~azure.mgmt.storage.v2018_03_01_preview.models.NetworkRuleSet + :param kind: Optional. Indicates the type of storage account. Currently + only StorageV2 value supported by server. Possible values include: + 'Storage', 'StorageV2', 'BlobStorage' + :type kind: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Kind + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'kind': {'key': 'kind', 'type': 'Kind'}, + } + + def __init__(self, **kwargs): + super(StorageAccountUpdateParameters, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.tags = kwargs.get('tags', None) + self.identity = kwargs.get('identity', None) + self.custom_domain = kwargs.get('custom_domain', None) + self.encryption = kwargs.get('encryption', None) + self.access_tier = kwargs.get('access_tier', None) + self.enable_https_traffic_only = kwargs.get('enable_https_traffic_only', False) + self.network_rule_set = kwargs.get('network_rule_set', None) + self.kind = kwargs.get('kind', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_update_parameters_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_update_parameters_py3.py new file mode 100644 index 00000000000..fa13aa650aa --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_account_update_parameters_py3.py @@ -0,0 +1,80 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class StorageAccountUpdateParameters(Model): + """The parameters that can be provided when updating the storage account + properties. + + :param sku: Gets or sets the SKU name. Note that the SKU name cannot be + updated to Standard_ZRS or Premium_LRS, nor can accounts of those sku + names be updated to any other value. + :type sku: ~azure.mgmt.storage.v2018_03_01_preview.models.Sku + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used in viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key no greater in length than 128 + characters and a value no greater in length than 256 characters. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2018_03_01_preview.models.Identity + :param custom_domain: Custom domain assigned to the storage account by the + user. Name is the CNAME source. Only one custom domain is supported per + storage account at this time. To clear the existing custom domain, use an + empty string for the custom domain name property. + :type custom_domain: + ~azure.mgmt.storage.v2018_03_01_preview.models.CustomDomain + :param encryption: Provides the encryption settings on the account. The + default setting is unencrypted. + :type encryption: + ~azure.mgmt.storage.v2018_03_01_preview.models.Encryption + :param access_tier: Required for storage accounts where kind = + BlobStorage. The access tier used for billing. Possible values include: + 'Hot', 'Cool' + :type access_tier: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.AccessTier + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. Default value: False . + :type enable_https_traffic_only: bool + :param network_rule_set: Network rule set + :type network_rule_set: + ~azure.mgmt.storage.v2018_03_01_preview.models.NetworkRuleSet + :param kind: Optional. Indicates the type of storage account. Currently + only StorageV2 value supported by server. Possible values include: + 'Storage', 'StorageV2', 'BlobStorage' + :type kind: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Kind + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'kind': {'key': 'kind', 'type': 'Kind'}, + } + + def __init__(self, *, sku=None, tags=None, identity=None, custom_domain=None, encryption=None, access_tier=None, enable_https_traffic_only: bool=False, network_rule_set=None, kind=None, **kwargs) -> None: + super(StorageAccountUpdateParameters, self).__init__(**kwargs) + self.sku = sku + self.tags = tags + self.identity = identity + self.custom_domain = custom_domain + self.encryption = encryption + self.access_tier = access_tier + self.enable_https_traffic_only = enable_https_traffic_only + self.network_rule_set = network_rule_set + self.kind = kind diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_management_client_enums.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_management_client_enums.py new file mode 100644 index 00000000000..a5a7f3c7171 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/storage_management_client_enums.py @@ -0,0 +1,197 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ReasonCode(str, Enum): + + quota_id = "QuotaId" + not_available_for_subscription = "NotAvailableForSubscription" + + +class SkuName(str, Enum): + + standard_lrs = "Standard_LRS" + standard_grs = "Standard_GRS" + standard_ragrs = "Standard_RAGRS" + standard_zrs = "Standard_ZRS" + premium_lrs = "Premium_LRS" + + +class SkuTier(str, Enum): + + standard = "Standard" + premium = "Premium" + + +class Kind(str, Enum): + + storage = "Storage" + storage_v2 = "StorageV2" + blob_storage = "BlobStorage" + + +class Reason(str, Enum): + + account_name_invalid = "AccountNameInvalid" + already_exists = "AlreadyExists" + + +class KeySource(str, Enum): + + microsoft_storage = "Microsoft.Storage" + microsoft_keyvault = "Microsoft.Keyvault" + + +class Action(str, Enum): + + allow = "Allow" + + +class State(str, Enum): + + provisioning = "provisioning" + deprovisioning = "deprovisioning" + succeeded = "succeeded" + failed = "failed" + network_source_deleted = "networkSourceDeleted" + + +class Bypass(str, Enum): + + none = "None" + logging = "Logging" + metrics = "Metrics" + azure_services = "AzureServices" + + +class DefaultAction(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class AccessTier(str, Enum): + + hot = "Hot" + cool = "Cool" + + +class ProvisioningState(str, Enum): + + creating = "Creating" + resolving_dns = "ResolvingDNS" + succeeded = "Succeeded" + + +class AccountStatus(str, Enum): + + available = "available" + unavailable = "unavailable" + + +class KeyPermission(str, Enum): + + read = "Read" + full = "Full" + + +class UsageUnit(str, Enum): + + count = "Count" + bytes = "Bytes" + seconds = "Seconds" + percent = "Percent" + counts_per_second = "CountsPerSecond" + bytes_per_second = "BytesPerSecond" + + +class Services(str, Enum): + + b = "b" + q = "q" + t = "t" + f = "f" + + +class SignedResourceTypes(str, Enum): + + s = "s" + c = "c" + o = "o" + + +class Permissions(str, Enum): + + r = "r" + d = "d" + w = "w" + l = "l" + a = "a" + c = "c" + u = "u" + p = "p" + + +class HttpProtocol(str, Enum): + + httpshttp = "https,http" + https = "https" + + +class SignedResource(str, Enum): + + b = "b" + c = "c" + f = "f" + s = "s" + + +class PublicAccess(str, Enum): + + container = "Container" + blob = "Blob" + none = "None" + + +class LeaseStatus(str, Enum): + + locked = "Locked" + unlocked = "Unlocked" + + +class LeaseState(str, Enum): + + available = "Available" + leased = "Leased" + expired = "Expired" + breaking = "Breaking" + broken = "Broken" + + +class LeaseDuration(str, Enum): + + infinite = "Infinite" + fixed = "Fixed" + + +class ImmutabilityPolicyState(str, Enum): + + locked = "Locked" + unlocked = "Unlocked" + + +class ImmutabilityPolicyUpdateType(str, Enum): + + put = "put" + lock = "lock" + extend = "extend" diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tag_property.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tag_property.py new file mode 100644 index 00000000000..3b879061fd2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tag_property.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TagProperty(Model): + """A tag of the LegalHold of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tag: The tag value. + :vartype tag: str + :ivar timestamp: Returns the date and time the tag was added. + :vartype timestamp: datetime + :ivar object_identifier: Returns the Object ID of the user who added the + tag. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user + who added the tag. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who added the tag. + :vartype upn: str + """ + + _validation = { + 'tag': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'tag': {'key': 'tag', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TagProperty, self).__init__(**kwargs) + self.tag = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tag_property_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tag_property_py3.py new file mode 100644 index 00000000000..22aaf6cb82b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tag_property_py3.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TagProperty(Model): + """A tag of the LegalHold of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tag: The tag value. + :vartype tag: str + :ivar timestamp: Returns the date and time the tag was added. + :vartype timestamp: datetime + :ivar object_identifier: Returns the Object ID of the user who added the + tag. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user + who added the tag. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who added the tag. + :vartype upn: str + """ + + _validation = { + 'tag': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'tag': {'key': 'tag', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(TagProperty, self).__init__(**kwargs) + self.tag = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None diff --git a/src/rdbms/azext_rdbms/postgresql/models/tracked_resource.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tracked_resource.py similarity index 69% rename from src/rdbms/azext_rdbms/postgresql/models/tracked_resource.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tracked_resource.py index 67e93dd79e7..27ab94c7a8d 100644 --- a/src/rdbms/azext_rdbms/postgresql/models/tracked_resource.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tracked_resource.py @@ -9,27 +9,29 @@ # regenerated. # -------------------------------------------------------------------------- -from .proxy_resource import ProxyResource +from .resource import Resource -class TrackedResource(ProxyResource): - """Resource properties including location and tags for track resources. +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. - :ivar id: Resource ID + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: Resource name. + :ivar name: The name of the resource :vartype name: str - :ivar type: Resource type. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str - :param location: Required. The location the resource resides in. - :type location: str - :param tags: Application-specific metadata in the form of key-value pairs. + :param tags: Resource tags. :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str """ _validation = { @@ -43,11 +45,11 @@ class TrackedResource(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, } def __init__(self, **kwargs): super(TrackedResource, self).__init__(**kwargs) - self.location = kwargs.get('location', None) self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tracked_resource_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tracked_resource_py3.py new file mode 100644 index 00000000000..b28cc185944 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/tracked_resource_py3.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_py3 import Resource + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/update_history_property.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/update_history_property.py new file mode 100644 index 00000000000..6681582b4a1 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/update_history_property.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class UpdateHistoryProperty(Model): + """An update history of the ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar update: The ImmutabilityPolicy update type of a blob container, + possible values include: put, lock and extend. Possible values include: + 'put', 'lock', 'extend' + :vartype update: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyUpdateType + :ivar immutability_period_since_creation_in_days: The immutability period + for the blobs in the container since the policy creation, in days. + :vartype immutability_period_since_creation_in_days: int + :ivar timestamp: Returns the date and time the ImmutabilityPolicy was + updated. + :vartype timestamp: datetime + :ivar object_identifier: Returns the Object ID of the user who updated the + ImmutabilityPolicy. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user + who updated the ImmutabilityPolicy. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who updated the + ImmutabilityPolicy. + :vartype upn: str + """ + + _validation = { + 'update': {'readonly': True}, + 'immutability_period_since_creation_in_days': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'update': {'key': 'update', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UpdateHistoryProperty, self).__init__(**kwargs) + self.update = None + self.immutability_period_since_creation_in_days = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/update_history_property_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/update_history_property_py3.py new file mode 100644 index 00000000000..ca55acf0c8f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/update_history_property_py3.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class UpdateHistoryProperty(Model): + """An update history of the ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar update: The ImmutabilityPolicy update type of a blob container, + possible values include: put, lock and extend. Possible values include: + 'put', 'lock', 'extend' + :vartype update: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicyUpdateType + :ivar immutability_period_since_creation_in_days: The immutability period + for the blobs in the container since the policy creation, in days. + :vartype immutability_period_since_creation_in_days: int + :ivar timestamp: Returns the date and time the ImmutabilityPolicy was + updated. + :vartype timestamp: datetime + :ivar object_identifier: Returns the Object ID of the user who updated the + ImmutabilityPolicy. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user + who updated the ImmutabilityPolicy. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who updated the + ImmutabilityPolicy. + :vartype upn: str + """ + + _validation = { + 'update': {'readonly': True}, + 'immutability_period_since_creation_in_days': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'update': {'key': 'update', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(UpdateHistoryProperty, self).__init__(**kwargs) + self.update = None + self.immutability_period_since_creation_in_days = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage.py new file mode 100644 index 00000000000..cbd34c470b0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Usage(Model): + """Describes Storage Resource Usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar unit: Gets the unit of measurement. Possible values include: + 'Count', 'Bytes', 'Seconds', 'Percent', 'CountsPerSecond', + 'BytesPerSecond' + :vartype unit: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.UsageUnit + :ivar current_value: Gets the current count of the allocated resources in + the subscription. + :vartype current_value: int + :ivar limit: Gets the maximum count of the resources that can be allocated + in the subscription. + :vartype limit: int + :ivar name: Gets the name of the type of usage. + :vartype name: ~azure.mgmt.storage.v2018_03_01_preview.models.UsageName + """ + + _validation = { + 'unit': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'UsageUnit'}, + 'current_value': {'key': 'currentValue', 'type': 'int'}, + 'limit': {'key': 'limit', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + def __init__(self, **kwargs): + super(Usage, self).__init__(**kwargs) + self.unit = None + self.current_value = None + self.limit = None + self.name = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_name.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_name.py new file mode 100644 index 00000000000..e4082bf5238 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_name.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class UsageName(Model): + """The usage names that can be used; currently limited to StorageAccount. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: Gets a string describing the resource name. + :vartype value: str + :ivar localized_value: Gets a localized string describing the resource + name. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UsageName, self).__init__(**kwargs) + self.value = None + self.localized_value = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_name_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_name_py3.py new file mode 100644 index 00000000000..f519bb5072b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_name_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class UsageName(Model): + """The usage names that can be used; currently limited to StorageAccount. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: Gets a string describing the resource name. + :vartype value: str + :ivar localized_value: Gets a localized string describing the resource + name. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(UsageName, self).__init__(**kwargs) + self.value = None + self.localized_value = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_paged.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_paged.py new file mode 100644 index 00000000000..290c72b9edf --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class UsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`Usage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Usage]'} + } + + def __init__(self, *args, **kwargs): + + super(UsagePaged, self).__init__(*args, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_py3.py new file mode 100644 index 00000000000..0e9f13729f6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/usage_py3.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Usage(Model): + """Describes Storage Resource Usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar unit: Gets the unit of measurement. Possible values include: + 'Count', 'Bytes', 'Seconds', 'Percent', 'CountsPerSecond', + 'BytesPerSecond' + :vartype unit: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.UsageUnit + :ivar current_value: Gets the current count of the allocated resources in + the subscription. + :vartype current_value: int + :ivar limit: Gets the maximum count of the resources that can be allocated + in the subscription. + :vartype limit: int + :ivar name: Gets the name of the type of usage. + :vartype name: ~azure.mgmt.storage.v2018_03_01_preview.models.UsageName + """ + + _validation = { + 'unit': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'UsageUnit'}, + 'current_value': {'key': 'currentValue', 'type': 'int'}, + 'limit': {'key': 'limit', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + def __init__(self, **kwargs) -> None: + super(Usage, self).__init__(**kwargs) + self.unit = None + self.current_value = None + self.limit = None + self.name = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/virtual_network_rule.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/virtual_network_rule.py new file mode 100644 index 00000000000..2a5bc18acbb --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/virtual_network_rule.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VirtualNetworkRule(Model): + """Virtual Network rule. + + All required parameters must be populated in order to send to Azure. + + :param virtual_network_resource_id: Required. Resource ID of a subnet, for + example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + :type virtual_network_resource_id: str + :param action: The action of virtual network rule. Possible values + include: 'Allow'. Default value: "Allow" . + :type action: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Action + :param state: Gets the state of virtual network rule. Possible values + include: 'provisioning', 'deprovisioning', 'succeeded', 'failed', + 'networkSourceDeleted' + :type state: str or ~azure.mgmt.storage.v2018_03_01_preview.models.State + """ + + _validation = { + 'virtual_network_resource_id': {'required': True}, + } + + _attribute_map = { + 'virtual_network_resource_id': {'key': 'id', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'Action'}, + 'state': {'key': 'state', 'type': 'State'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkRule, self).__init__(**kwargs) + self.virtual_network_resource_id = kwargs.get('virtual_network_resource_id', None) + self.action = kwargs.get('action', "Allow") + self.state = kwargs.get('state', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/virtual_network_rule_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/virtual_network_rule_py3.py new file mode 100644 index 00000000000..9da12264292 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/models/virtual_network_rule_py3.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VirtualNetworkRule(Model): + """Virtual Network rule. + + All required parameters must be populated in order to send to Azure. + + :param virtual_network_resource_id: Required. Resource ID of a subnet, for + example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + :type virtual_network_resource_id: str + :param action: The action of virtual network rule. Possible values + include: 'Allow'. Default value: "Allow" . + :type action: str or ~azure.mgmt.storage.v2018_03_01_preview.models.Action + :param state: Gets the state of virtual network rule. Possible values + include: 'provisioning', 'deprovisioning', 'succeeded', 'failed', + 'networkSourceDeleted' + :type state: str or ~azure.mgmt.storage.v2018_03_01_preview.models.State + """ + + _validation = { + 'virtual_network_resource_id': {'required': True}, + } + + _attribute_map = { + 'virtual_network_resource_id': {'key': 'id', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'Action'}, + 'state': {'key': 'state', 'type': 'State'}, + } + + def __init__(self, *, virtual_network_resource_id: str, action="Allow", state=None, **kwargs) -> None: + super(VirtualNetworkRule, self).__init__(**kwargs) + self.virtual_network_resource_id = virtual_network_resource_id + self.action = action + self.state = state diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/__init__.py new file mode 100644 index 00000000000..6282db615d5 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/__init__.py @@ -0,0 +1,24 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .operations import Operations +from .skus_operations import SkusOperations +from .storage_accounts_operations import StorageAccountsOperations +from .usages_operations import UsagesOperations +from .blob_containers_operations import BlobContainersOperations + +__all__ = [ + 'Operations', + 'SkusOperations', + 'StorageAccountsOperations', + 'UsagesOperations', + 'BlobContainersOperations', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/blob_containers_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/blob_containers_operations.py new file mode 100644 index 00000000000..56fe57423fc --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/blob_containers_operations.py @@ -0,0 +1,1051 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class BlobContainersOperations(object): + """BlobContainersOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-03-01-preview". + :ivar immutability_policy_name: The name of the blob container immutabilityPolicy within the specified storage account. ImmutabilityPolicy Name must be 'default'. Constant value: "default". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-03-01-preview" + self.immutability_policy_name = "default" + + self.config = config + + def list( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Lists all containers and does not support a prefix like data plane. + Also SRP today does not return continuation token. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ListContainerItems or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.ListContainerItems or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ListContainerItems', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers'} + + def create( + self, resource_group_name, account_name, container_name, public_access=None, metadata=None, custom_headers=None, raw=False, **operation_config): + """Creates a new container under the specified account as described by + request body. The container resource includes metadata and properties + for that container. It does not include a list of the blobs contained + by the container. . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.PublicAccess + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BlobContainer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2018_03_01_preview.models.BlobContainer + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + blob_container = models.BlobContainer(public_access=public_access, metadata=metadata) + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(blob_container, 'BlobContainer') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('BlobContainer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} + + def update( + self, resource_group_name, account_name, container_name, public_access=None, metadata=None, custom_headers=None, raw=False, **operation_config): + """Updates container properties as specified in request body. Properties + not mentioned in the request will be unchanged. Update fails if the + specified container doesn't already exist. . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2018_03_01_preview.models.PublicAccess + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BlobContainer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2018_03_01_preview.models.BlobContainer + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + blob_container = models.BlobContainer(public_access=public_access, metadata=metadata) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(blob_container, 'BlobContainer') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('BlobContainer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} + + def get( + self, resource_group_name, account_name, container_name, custom_headers=None, raw=False, **operation_config): + """Gets properties of a specified container. . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BlobContainer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2018_03_01_preview.models.BlobContainer + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('BlobContainer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} + + def delete( + self, resource_group_name, account_name, container_name, custom_headers=None, raw=False, **operation_config): + """Deletes specified container under its account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} + + def set_legal_hold( + self, resource_group_name, account_name, container_name, tags, custom_headers=None, raw=False, **operation_config): + """Sets legal hold tags. Setting the same tag results in an idempotent + operation. SetLegalHold follows an append pattern and does not clear + out the existing tags that are not specified in the request. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param tags: Each tag should be 3 to 23 alphanumeric characters and is + normalized to lower case at SRP. + :type tags: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LegalHold or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2018_03_01_preview.models.LegalHold or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + legal_hold = models.LegalHold(tags=tags) + + # Construct URL + url = self.set_legal_hold.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(legal_hold, 'LegalHold') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('LegalHold', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + set_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold'} + + def clear_legal_hold( + self, resource_group_name, account_name, container_name, tags, custom_headers=None, raw=False, **operation_config): + """Clears legal hold tags. Clearing the same or non-existent tag results + in an idempotent operation. ClearLegalHold clears out only the + specified tags in the request. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param tags: Each tag should be 3 to 23 alphanumeric characters and is + normalized to lower case at SRP. + :type tags: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LegalHold or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2018_03_01_preview.models.LegalHold or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + legal_hold = models.LegalHold(tags=tags) + + # Construct URL + url = self.clear_legal_hold.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(legal_hold, 'LegalHold') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('LegalHold', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + clear_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold'} + + def create_or_update_immutability_policy( + self, resource_group_name, account_name, container_name, immutability_period_since_creation_in_days, if_match=None, custom_headers=None, raw=False, **operation_config): + """Creates or updates an unlocked immutability policy. ETag in If-Match is + honored if given but not required for this operation. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param immutability_period_since_creation_in_days: The immutability + period for the blobs in the container since the policy creation, in + days. + :type immutability_period_since_creation_in_days: int + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = None + if immutability_period_since_creation_in_days is not None: + parameters = models.ImmutabilityPolicy(immutability_period_since_creation_in_days=immutability_period_since_creation_in_days) + + # Construct URL + url = self.create_or_update_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'immutabilityPolicyName': self._serialize.url("self.immutability_policy_name", self.immutability_policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + if parameters is not None: + body_content = self._serialize.body(parameters, 'ImmutabilityPolicy') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + create_or_update_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} + + def get_immutability_policy( + self, resource_group_name, account_name, container_name, if_match=None, custom_headers=None, raw=False, **operation_config): + """Gets the existing immutability policy along with the corresponding ETag + in response headers and body. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'immutabilityPolicyName': self._serialize.url("self.immutability_policy_name", self.immutability_policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} + + def delete_immutability_policy( + self, resource_group_name, account_name, container_name, if_match, custom_headers=None, raw=False, **operation_config): + """Aborts an unlocked immutability policy. The response of delete has + immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is + required for this operation. Deleting a locked immutability policy is + not allowed, only way is to delete the container after deleting all + blobs inside the container. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'immutabilityPolicyName': self._serialize.url("self.immutability_policy_name", self.immutability_policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + delete_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} + + def lock_immutability_policy( + self, resource_group_name, account_name, container_name, if_match, custom_headers=None, raw=False, **operation_config): + """Sets the ImmutabilityPolicy to Locked state. The only action allowed on + a Locked policy is ExtendImmutabilityPolicy action. ETag in If-Match is + required for this operation. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.lock_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + lock_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock'} + + def extend_immutability_policy( + self, resource_group_name, account_name, container_name, if_match, immutability_period_since_creation_in_days, custom_headers=None, raw=False, **operation_config): + """Extends the immutabilityPeriodSinceCreationInDays of a locked + immutabilityPolicy. The only action allowed on a Locked policy will be + this action. ETag in If-Match is required for this operation. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param immutability_period_since_creation_in_days: The immutability + period for the blobs in the container since the policy creation, in + days. + :type immutability_period_since_creation_in_days: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = None + if immutability_period_since_creation_in_days is not None: + parameters = models.ImmutabilityPolicy(immutability_period_since_creation_in_days=immutability_period_since_creation_in_days) + + # Construct URL + url = self.extend_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + if parameters is not None: + body_content = self._serialize.body(parameters, 'ImmutabilityPolicy') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + extend_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/operations.py new file mode 100644 index 00000000000..445d1003e64 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/operations.py @@ -0,0 +1,99 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-03-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Storage Rest API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.OperationPaged[~azure.mgmt.storage.v2018_03_01_preview.models.Operation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Storage/operations'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/skus_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/skus_operations.py new file mode 100644 index 00000000000..e0ca2a05942 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/skus_operations.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class SkusOperations(object): + """SkusOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-03-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists the available SKUs supported by Microsoft.Storage for given + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Sku + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.SkuPaged[~azure.mgmt.storage.v2018_03_01_preview.models.Sku] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.SkuPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.SkuPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/storage_accounts_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/storage_accounts_operations.py new file mode 100644 index 00000000000..3709199456c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/storage_accounts_operations.py @@ -0,0 +1,1056 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class StorageAccountsOperations(object): + """StorageAccountsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-03-01-preview". + :ivar management_policy_name: The name of the Storage Account Management Policy. It should always be 'default'. Constant value: "default". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-03-01-preview" + self.management_policy_name = "default" + + self.config = config + + def check_name_availability( + self, name, custom_headers=None, raw=False, **operation_config): + """Checks that the storage account name is valid and is not already in + use. + + :param name: The storage account name. + :type name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CheckNameAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.CheckNameAvailabilityResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + account_name = models.StorageAccountCheckNameAvailabilityParameters(name=name) + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(account_name, 'StorageAccountCheckNameAvailabilityParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('CheckNameAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability'} + + + def _create_initial( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'StorageAccountCreateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('StorageAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Asynchronously creates a new storage account with the specified + parameters. If an account is already created and a subsequent create + request is issued with different properties, the account properties + will be updated. If an account is already created and a subsequent + create or update request is issued with the exact same set of + properties, the request will succeed. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide for the created account. + :type parameters: + ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountCreateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns StorageAccount or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccount] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccount]] + :raises: :class:`CloudError` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + account_name=account_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('StorageAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} + + def delete( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Deletes a storage account in Microsoft Azure. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} + + def get_properties( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Returns the properties for the specified storage account including but + not limited to name, SKU name, location, and account status. The + ListKeys operation should be used to retrieve storage keys. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccount or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccount + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('StorageAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} + + def update( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, **operation_config): + """The update operation can be used to update the SKU, encryption, access + tier, or tags for a storage account. It can also be used to map the + account to a custom domain. Only one custom domain is supported per + storage account; the replacement/change of custom domain is not + supported. In order to replace an old custom domain, the old value must + be cleared/unregistered before a new value can be set. The update of + multiple properties is supported. This call does not change the storage + keys for the account. If you want to change the storage account keys, + use the regenerate keys operation. The location and name of the storage + account cannot be changed after creation. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide for the updated account. + :type parameters: + ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccount or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccount + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'StorageAccountUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('StorageAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the storage accounts available under the subscription. Note + that storage keys are not returned; use the ListKeys operation for + this. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of StorageAccount + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountPaged[~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccount] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.StorageAccountPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.StorageAccountPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the storage accounts available under the given resource + group. Note that storage keys are not returned; use the ListKeys + operation for this. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of StorageAccount + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountPaged[~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccount] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.StorageAccountPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.StorageAccountPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts'} + + def list_keys( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Lists the access keys for the specified storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccountListKeysResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountListKeysResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_keys.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('StorageAccountListKeysResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys'} + + def regenerate_key( + self, resource_group_name, account_name, key_name, custom_headers=None, raw=False, **operation_config): + """Regenerates one of the access keys for the specified storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param key_name: The name of storage keys that want to be regenerated, + possible vaules are key1, key2. + :type key_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccountListKeysResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountListKeysResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + regenerate_key1 = models.StorageAccountRegenerateKeyParameters(key_name=key_name) + + # Construct URL + url = self.regenerate_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(regenerate_key1, 'StorageAccountRegenerateKeyParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('StorageAccountListKeysResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey'} + + def list_account_sas( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, **operation_config): + """List SAS credentials of a storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide to list SAS credentials + for the storage account. + :type parameters: + ~azure.mgmt.storage.v2018_03_01_preview.models.AccountSasParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ListAccountSasResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.ListAccountSasResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_account_sas.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'AccountSasParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ListAccountSasResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_account_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas'} + + def list_service_sas( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, **operation_config): + """List service SAS credentials of a specific resource. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide to list service SAS + credentials. + :type parameters: + ~azure.mgmt.storage.v2018_03_01_preview.models.ServiceSasParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ListServiceSasResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.ListServiceSasResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_service_sas.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ServiceSasParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ListServiceSasResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_service_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas'} + + def get_management_policies( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Gets the data policy rules associated with the specified storage + account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccountManagementPolicies or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountManagementPolicies + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_management_policies.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'managementPolicyName': self._serialize.url("self.management_policy_name", self.management_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('StorageAccountManagementPolicies', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_management_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} + + def create_or_update_management_policies( + self, resource_group_name, account_name, policy=None, custom_headers=None, raw=False, **operation_config): + """Sets the data policy rules associated with the specified storage + account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param policy: The Storage Account ManagementPolicies Rules, in JSON + format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type policy: object + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccountManagementPolicies or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.StorageAccountManagementPolicies + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + properties = models.ManagementPoliciesRulesSetParameter(policy=policy) + + # Construct URL + url = self.create_or_update_management_policies.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'managementPolicyName': self._serialize.url("self.management_policy_name", self.management_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(properties, 'ManagementPoliciesRulesSetParameter') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('StorageAccountManagementPolicies', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_management_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} + + def delete_management_policies( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Deletes the data policy rules associated with the specified storage + account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_management_policies.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'managementPolicyName': self._serialize.url("self.management_policy_name", self.management_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_management_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/usages_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/usages_operations.py new file mode 100644 index 00000000000..1adfde6245d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/operations/usages_operations.py @@ -0,0 +1,173 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class UsagesOperations(object): + """UsagesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-03-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets the current usage count and the limit for the resources under the + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Usage + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.UsagePaged[~azure.mgmt.storage.v2018_03_01_preview.models.Usage] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages'} + + def list_by_location( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets the current usage count and the limit for the resources of the + location under the subscription. + + :param location: The location of the Azure Storage resource. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Usage + :rtype: + ~azure.mgmt.storage.v2018_03_01_preview.models.UsagePaged[~azure.mgmt.storage.v2018_03_01_preview.models.Usage] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_location.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/storage_management_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/storage_management_client.py new file mode 100644 index 00000000000..8f683afba98 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/storage_management_client.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.operations import Operations +from .operations.skus_operations import SkusOperations +from .operations.storage_accounts_operations import StorageAccountsOperations +from .operations.usages_operations import UsagesOperations +from .operations.blob_containers_operations import BlobContainersOperations +from . import models + + +class StorageManagementClientConfiguration(AzureConfiguration): + """Configuration for StorageManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(StorageManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-storage/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class StorageManagementClient(SDKClient): + """The Azure Storage Management API. + + :ivar config: Configuration for client. + :vartype config: StorageManagementClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.storage.v2018_03_01_preview.operations.Operations + :ivar skus: Skus operations + :vartype skus: azure.mgmt.storage.v2018_03_01_preview.operations.SkusOperations + :ivar storage_accounts: StorageAccounts operations + :vartype storage_accounts: azure.mgmt.storage.v2018_03_01_preview.operations.StorageAccountsOperations + :ivar usages: Usages operations + :vartype usages: azure.mgmt.storage.v2018_03_01_preview.operations.UsagesOperations + :ivar blob_containers: BlobContainers operations + :vartype blob_containers: azure.mgmt.storage.v2018_03_01_preview.operations.BlobContainersOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = StorageManagementClientConfiguration(credentials, subscription_id, base_url) + super(StorageManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2018-03-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.skus = SkusOperations( + self._client, self.config, self._serialize, self._deserialize) + self.storage_accounts = StorageAccountsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.usages = UsagesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.blob_containers = BlobContainersOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/version.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/version.py new file mode 100644 index 00000000000..623d610ecc1 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2018_03_01_preview/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2018-03-01-preview" + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/version.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/version.py new file mode 100644 index 00000000000..b9304b9e9eb --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/version.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +VERSION = "2.0.0rc3" diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/tokencredential.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/tokencredential.py deleted file mode 100644 index 725badcb33b..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/tokencredential.py +++ /dev/null @@ -1,33 +0,0 @@ -# ------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- - - -class TokenCredential(object): - """ - Represents a token that is used to authorize HTTPS requests. - The token can be updated by the user. - - :ivar str token: - The authorization token. It can be set by the user at any point in a thread-safe way. - """ - - def __init__(self, initial_value): - """ - :param initial_value: initial value for the token. - """ - self.token = initial_value - - def update_token(self, new_value): - """ - :param new_value: new value to be set as the token. - """ - self.token = new_value - - def get_token(self): - """ - :return: current token value. - """ - return self.token diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/__init__.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/__init__.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/__init__.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/__init__.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/__init__.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/__init__.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_constants.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_constants.py similarity index 90% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_constants.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_constants.py index b1b09ba3269..aa236f9794a 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_constants.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_constants.py @@ -5,10 +5,10 @@ # -------------------------------------------------------------------------- __author__ = 'Microsoft Corp. ' -__version__ = '1.2.0rc0' +__version__ = '1.2.0rc1' # x-ms-version for storage service. -X_MS_VERSION = '2017-11-09' +X_MS_VERSION = '2018-03-28' # internal configurations, should not be changed _LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE = 4 * 1024 * 1024 diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_deserialization.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_deserialization.py similarity index 97% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_deserialization.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_deserialization.py index a2f7b08e3a6..be427379c39 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_deserialization.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_deserialization.py @@ -165,6 +165,8 @@ def _convert_xml_to_containers(response): available | leased | expired | breaking | broken infinite | fixed blob | container + true | false + true | false value @@ -205,6 +207,8 @@ def _convert_xml_to_containers(response): container.properties.lease_state = properties_element.findtext('LeaseState') container.properties.lease_duration = properties_element.findtext('LeaseDuration') container.properties.public_access = properties_element.findtext('PublicAccess') + container.properties.has_immutability_policy = properties_element.findtext('HasImmutabilityPolicy') + container.properties.has_legal_hold = properties_element.findtext('HasLegalHold') # Add container to list containers.append(container) @@ -240,6 +244,7 @@ def _convert_xml_to_containers(response): 'ArchiveStatus': (None, 'rehydration_status', _to_str), 'DeletedTime': (None, 'deleted_time', parser.parse), 'RemainingRetentionDays': (None, 'remaining_retention_days', _to_int), + 'Creation-Time': (None, 'creation_time', parser.parse), } @@ -281,6 +286,7 @@ def _convert_xml_to_blob_list(response): true datetime int + date-time-value value diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_download_chunking.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_download_chunking.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_download_chunking.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_download_chunking.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_encryption.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_encryption.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_encryption.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_encryption.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_error.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_error.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_error.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_error.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_serialization.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_serialization.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_serialization.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_serialization.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_upload_chunking.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_upload_chunking.py similarity index 99% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_upload_chunking.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_upload_chunking.py index e73388b11d9..69254508a3f 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/_upload_chunking.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/_upload_chunking.py @@ -285,7 +285,7 @@ def _is_chunk_empty(self, chunk_data): # read until non-zero byte is encountered # if reached the end without returning, then chunk_data is all 0's for each_byte in chunk_data: - if each_byte != 0: + if each_byte != 0 and each_byte != b'\x00': return False return True diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/appendblobservice.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/appendblobservice.py similarity index 99% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/appendblobservice.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/appendblobservice.py index 7a83190bb7f..7286ed72d77 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/appendblobservice.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/appendblobservice.py @@ -112,7 +112,7 @@ def __init__(self, account_name=None, account_key=None, sas_token=None, is_emula :param token_credential: A token credential used to authenticate HTTPS requests. The token value should be updated before its expiration. - :type `~..common.TokenCredential` + :type `~azure.storage.common.TokenCredential` ''' self.blob_type = _BlobTypes.AppendBlob super(AppendBlobService, self).__init__( diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/baseblobservice.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/baseblobservice.py similarity index 99% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/baseblobservice.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/baseblobservice.py index 804e7cb4155..1f83f2a9578 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/baseblobservice.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/baseblobservice.py @@ -12,7 +12,6 @@ _StorageSASAuthentication, _StorageSharedKeyAuthentication, _StorageNoAuthentication, - _StorageTokenAuthentication, ) from ..common._common_conversion import ( _int_to_str, @@ -184,7 +183,7 @@ def __init__(self, account_name=None, account_key=None, sas_token=None, is_emula :param token_credential: A token credential used to authenticate HTTPS requests. The token value should be updated before its expiration. - :type `~..common.TokenCredential` + :type `~azure.storage.common.TokenCredential` ''' service_params = _ServiceParameters.get_service_parameters( 'blob', @@ -211,7 +210,7 @@ def __init__(self, account_name=None, account_key=None, sas_token=None, is_emula elif self.sas_token: self.authentication = _StorageSASAuthentication(self.sas_token) elif self.token_credential: - self.authentication = _StorageTokenAuthentication(self.token_credential) + self.authentication = self.token_credential else: self.authentication = _StorageNoAuthentication() @@ -322,7 +321,7 @@ def generate_account_shared_access_signature(self, resource_types, permission, restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. :return: A Shared Access Signature (sas) token. :rtype: str ''' @@ -379,7 +378,7 @@ def generate_container_shared_access_signature(self, container_name, restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. :param str cache_control: Response header value for Cache-Control when resource is accessed using this shared access signature. @@ -465,7 +464,7 @@ def generate_blob_shared_access_signature( restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. :param str cache_control: Response header value for Cache-Control when resource is accessed using this shared access signature. @@ -748,7 +747,7 @@ def get_container_acl(self, container_name, lease_id=None, timeout=None): :param int timeout: The timeout parameter is expressed in seconds. :return: A dictionary of access policies associated with the container. dict of str to - :class:`..common.models.AccessPolicy` and a public_access property + :class:`azure.storage.common.models.AccessPolicy` and a public_access property if public access is turned on ''' _validate_not_none('container_name', container_name) @@ -779,7 +778,7 @@ def set_container_acl(self, container_name, signed_identifiers=None, A dictionary of access policies to associate with the container. The dictionary may contain up to 5 elements. An empty dictionary will clear the access policies set on the service. - :type signed_identifiers: dict(str, :class:`~..common.models.AccessPolicy`) + :type signed_identifiers: dict(str, :class:`~azure.storage.common.models.AccessPolicy`) :param ~azure.storage.blob.models.PublicAccess public_access: Possible values include: container, blob. :param str lease_id: @@ -1339,7 +1338,7 @@ def get_blob_service_stats(self, timeout=None): :param int timeout: The timeout parameter is expressed in seconds. :return: The blob service stats. - :rtype: :class:`~..common.models.ServiceStats` + :rtype: :class:`~azure.storage.common.models.ServiceStats` ''' request = HTTPRequest() request.method = 'GET' @@ -1355,7 +1354,7 @@ def get_blob_service_stats(self, timeout=None): def set_blob_service_properties( self, logging=None, hour_metrics=None, minute_metrics=None, - cors=None, target_version=None, timeout=None, delete_retention_policy=None): + cors=None, target_version=None, timeout=None, delete_retention_policy=None, static_website=None): ''' Sets the properties of a storage account's Blob service, including Azure Storage Analytics. If an element (ex Logging) is left as None, the @@ -1364,22 +1363,22 @@ def set_blob_service_properties( :param logging: Groups the Azure Analytics Logging settings. :type logging: - :class:`~..common.models.Logging` + :class:`~azure.storage.common.models.Logging` :param hour_metrics: The hour metrics settings provide a summary of request statistics grouped by API in hourly aggregates for blobs. :type hour_metrics: - :class:`~..common.models.Metrics` + :class:`~azure.storage.common.models.Metrics` :param minute_metrics: The minute metrics settings provide request statistics for each minute for blobs. :type minute_metrics: - :class:`~..common.models.Metrics` + :class:`~azure.storage.common.models.Metrics` :param cors: You can include up to five CorsRule elements in the list. If an empty list is specified, all CORS rules will be deleted, and CORS will be disabled for the service. - :type cors: list(:class:`~..common.models.CorsRule`) + :type cors: list(:class:`~azure.storage.common.models.CorsRule`) :param str target_version: Indicates the default version to use for requests if an incoming request's version is not specified. @@ -1389,7 +1388,12 @@ def set_blob_service_properties( The delete retention policy specifies whether to retain deleted blobs. It also specifies the number of days and versions of blob to keep. :type delete_retention_policy: - :class:`~..common.models.DeleteRetentionPolicy` + :class:`~azure.storage.common.models.DeleteRetentionPolicy` + :param static_website: + Specifies whether the static website feature is enabled, + and if yes, indicates the index document and 404 error document to use. + :type static_website: + :class:`~azure.storage.common.models.StaticWebsite` ''' request = HTTPRequest() request.method = 'PUT' @@ -1402,7 +1406,7 @@ def set_blob_service_properties( } request.body = _get_request_body( _convert_service_properties_to_xml(logging, hour_metrics, minute_metrics, - cors, target_version, delete_retention_policy)) + cors, target_version, delete_retention_policy, static_website)) self._perform_request(request) @@ -1413,7 +1417,7 @@ def get_blob_service_properties(self, timeout=None): :param int timeout: The timeout parameter is expressed in seconds. - :return: The blob :class:`~..common.models.ServiceProperties` with an attached + :return: The blob :class:`~azure.storage.common.models.ServiceProperties` with an attached target_version property. ''' request = HTTPRequest() diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/blockblobservice.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/blockblobservice.py similarity index 99% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/blockblobservice.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/blockblobservice.py index aafed26b94a..e3b51f367dd 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/blockblobservice.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/blockblobservice.py @@ -137,7 +137,7 @@ def __init__(self, account_name=None, account_key=None, sas_token=None, is_emula :param token_credential: A token credential used to authenticate HTTPS requests. The token value should be updated before its expiration. - :type `~..common.TokenCredential` + :type `~azure.storage.common.TokenCredential` ''' self.blob_type = _BlobTypes.BlockBlob super(BlockBlobService, self).__init__( diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/models.py similarity index 98% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/models.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/models.py index 1f9cd20cb28..f7f193cbdba 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/models.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/models.py @@ -39,6 +39,10 @@ class ContainerProperties(object): conditionally. :ivar LeaseProperties lease: Stores all the lease information for the container. + :ivar bool has_immutability_policy: + Represents whether the container has an immutability policy. + :ivar bool has_legal_hold: + Represents whether the container has a legal hold. ''' def __init__(self): @@ -46,6 +50,8 @@ def __init__(self): self.etag = None self.lease = LeaseProperties() self.public_access = None + self.has_immutability_policy = None + self.has_legal_hold = None class Blob(object): @@ -128,6 +134,8 @@ class BlobProperties(object): A datetime object representing the time at which the blob was deleted. :ivar int remaining_retention_days: The number of days that the blob will be retained before being permanently deleted by the service. + :ivar datetime creation_time: + Indicates when the blob was created, in UTC. ''' def __init__(self): @@ -147,6 +155,7 @@ def __init__(self): self.blob_tier_inferred = False self.deleted_time = None self.remaining_retention_days = None + self.creation_time = None class ContentSettings(object): diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/pageblobservice.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/pageblobservice.py similarity index 99% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/pageblobservice.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/pageblobservice.py index cfeea646fa6..d1365170add 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/pageblobservice.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/pageblobservice.py @@ -122,7 +122,7 @@ def __init__(self, account_name=None, account_key=None, sas_token=None, is_emula :param token_credential: A token credential used to authenticate HTTPS requests. The token value should be updated before its expiration. - :type `~..common.TokenCredential` + :type `~azure.storage.common.TokenCredential` ''' self.blob_type = _BlobTypes.PageBlob super(PageBlobService, self).__init__( diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/sharedaccesssignature.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/sharedaccesssignature.py similarity index 97% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/sharedaccesssignature.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/sharedaccesssignature.py index 472ce7875ce..f44d44bb8de 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/blob/sharedaccesssignature.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/blob/sharedaccesssignature.py @@ -75,7 +75,7 @@ def generate_blob(self, container_name, blob_name, permission=None, restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. :param str cache_control: Response header value for Cache-Control when resource is accessed using this shared access signature. @@ -150,7 +150,7 @@ def generate_container(self, container_name, permission=None, expiry=None, restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. :param str cache_control: Response header value for Cache-Control when resource is accessed using this shared access signature. diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/__init__.py similarity index 98% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/__init__.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/__init__.py index 1307fe624b9..797c97069ee 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/__init__.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/__init__.py @@ -15,6 +15,7 @@ Metrics, CorsRule, DeleteRetentionPolicy, + StaticWebsite, ServiceProperties, AccessPolicy, ResourceTypes, diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_auth.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_auth.py similarity index 94% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_auth.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_auth.py index 6ae446fc82e..15c15b9ea56 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_auth.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_auth.py @@ -84,7 +84,7 @@ def _get_canonicalized_resource_query(self, request): string_to_sign = '' for name, value in sorted_queries: - if value: + if value is not None: string_to_sign += '\n' + name.lower() + ':' + value return string_to_sign @@ -115,11 +115,3 @@ def sign_request(self, request): request.path += '?' request.path += self.sas_token - - -class _StorageTokenAuthentication(object): - def __init__(self, token): - self.token_credential = token - - def sign_request(self, request): - request.headers['Authorization'] = str.format("Bearer {}", self.token_credential.get_token()) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_common_conversion.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_common_conversion.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_common_conversion.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_common_conversion.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_connection.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_connection.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_connection.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_connection.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_constants.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_constants.py similarity index 97% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_constants.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_constants.py index 5994579e212..62940fddef0 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_constants.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_constants.py @@ -7,7 +7,7 @@ import sys __author__ = 'Microsoft Corp. ' -__version__ = '1.2.0rc0' +__version__ = '1.2.0rc1' # UserAgent string sample: 'Azure-Storage/0.37.0-0.38.0 (Python CPython 3.4.2; Windows 8)' # First version(0.37.0) is the common package, and the second version(0.38.0) is the service package @@ -17,7 +17,7 @@ platform.release()) # default values for common package, in case it is used directly -DEFAULT_X_MS_VERSION = '2017-07-29' +DEFAULT_X_MS_VERSION = '2018-03-28' DEFAULT_USER_AGENT_STRING = '{}None {}'.format(USER_AGENT_STRING_PREFIX, USER_AGENT_STRING_SUFFIX) # Live ServiceClient URLs diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_deserialization.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_deserialization.py similarity index 91% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_deserialization.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_deserialization.py index 986d2647617..80803da3e43 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_deserialization.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_deserialization.py @@ -22,6 +22,7 @@ GeoReplication, ServiceStats, DeleteRetentionPolicy, + StaticWebsite, ) @@ -63,6 +64,7 @@ def _get_download_size(start_range, end_range, resource_size): 'x-ms-archive-status': (None, 'rehydration_status', _to_str), 'x-ms-share-quota': (None, 'quota', _to_int), 'x-ms-server-encrypted': (None, 'server_encrypted', _bool), + 'x-ms-creation-time': (None, 'creation_time', parser.parse), 'content-type': ('content_settings', 'content_type', _to_str), 'cache-control': ('content_settings', 'cache_control', _to_str), 'content-encoding': ('content_settings', 'content_encoding', _to_str), @@ -79,6 +81,8 @@ def _get_download_size(start_range, end_range, resource_size): 'x-ms-copy-completion-time': ('copy', 'completion_time', parser.parse), 'x-ms-copy-destination-snapshot': ('copy', 'destination_snapshot_time', _to_str), 'x-ms-copy-status-description': ('copy', 'status_description', _to_str), + 'x-ms-has-immutability-policy': (None, 'has_immutability_policy', _bool), + 'x-ms-has-legal-hold': (None, 'has_legal_hold', _bool), } @@ -250,6 +254,11 @@ def _convert_xml_to_service_properties(response): true|false number-of-days + + true|false + + + ''' if response is None or response.body is None: @@ -319,6 +328,20 @@ def _convert_xml_to_service_properties(response): if policy_enabled: service_properties.delete_retention_policy.days = int(delete_retention_policy_element.find('Days').text) + # StaticWebsite + static_website_element = service_properties_element.find('StaticWebsite') + if static_website_element is not None: + service_properties.static_website = StaticWebsite() + service_properties.static_website.enabled = _bool(static_website_element.find('Enabled').text) + + index_document_element = static_website_element.find('IndexDocument') + if index_document_element is not None: + service_properties.static_website.index_document = index_document_element.text + + error_document_element = static_website_element.find('ErrorDocument404Path') + if error_document_element is not None: + service_properties.static_website.error_document_404_path = error_document_element.text + return service_properties diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_encryption.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_encryption.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_encryption.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_encryption.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_error.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_error.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_error.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_error.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_http/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_http/__init__.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_http/__init__.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_http/__init__.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_http/httpclient.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_http/httpclient.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_http/httpclient.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_http/httpclient.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_serialization.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_serialization.py similarity index 92% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_serialization.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_serialization.py index fd34d5816e2..af27ce5b008 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/_serialization.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/_serialization.py @@ -176,7 +176,7 @@ def _convert_signed_identifiers_to_xml(signed_identifiers): def _convert_service_properties_to_xml(logging, hour_metrics, minute_metrics, - cors, target_version=None, delete_retention_policy=None): + cors, target_version=None, delete_retention_policy=None, static_website=None): ''' @@ -218,9 +218,14 @@ def _convert_service_properties_to_xml(logging, hour_metrics, minute_metrics, - true|false - number-of-days + true|false + number-of-days + + true|false + + + ''' service_properties_element = ETree.Element('StorageServiceProperties') @@ -270,6 +275,20 @@ def _convert_service_properties_to_xml(logging, hour_metrics, minute_metrics, if delete_retention_policy.enabled: ETree.SubElement(policy_element, 'Days').text = str(delete_retention_policy.days) + # StaticWebsite + if static_website: + static_website_element = ETree.SubElement(service_properties_element, 'StaticWebsite') + ETree.SubElement(static_website_element, 'Enabled').text = str(static_website.enabled) + + if static_website.enabled: + + if static_website.index_document is not None: + ETree.SubElement(static_website_element, 'IndexDocument').text = str(static_website.index_document) + + if static_website.error_document_404_path is not None: + ETree.SubElement(static_website_element, 'ErrorDocument404Path').text = \ + str(static_website.error_document_404_path) + # Add xml declaration and serialize try: stream = BytesIO() diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/cloudstorageaccount.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/cloudstorageaccount.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/cloudstorageaccount.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/cloudstorageaccount.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/models.py similarity index 95% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/models.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/models.py index e11153c2810..5ada54ce29d 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/models.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/models.py @@ -122,6 +122,8 @@ class RetryContext(object): or other Exception types from lower layers, which are kept unwrapped for easier processing. :ivar bool is_emulated: Whether retry is targeting the emulator. The default value is False. + :ivar int body_position: + The initial position of the body stream. It is useful when retries happen and we need to rewind the stream. ''' def __init__(self): @@ -130,6 +132,7 @@ def __init__(self): self.location_mode = None self.exception = None self.is_emulated = False + self.body_position = None class LocationMode(object): @@ -325,6 +328,29 @@ def __init__(self, enabled=False, days=None): self.days = days +class StaticWebsite(object): + ''' + Class representing the service properties pertaining to static websites. + To set StaticWebsite, you must call Set Blob Service Properties using version 2018-03-28 or later. + ''' + + def __init__(self, enabled=False, index_document=None, error_document_404_path=None): + ''' + :param bool enabled: + Required. True if static websites should be enabled on the blob service for the corresponding Storage Account. + :param str index_document: + Represents the name of the index document. This is commonly "index.html". + :param str error_document_404_path: + Represents the path to the error document that should be shown when an error 404 is issued, + in other words, when a browser requests a page that does not exist. + ''' + _validate_not_none("enabled", enabled) + + self.enabled = enabled + self.index_document = index_document + self.error_document_404_path = error_document_404_path + + class ServiceProperties(object): ''' Returned by get_*_service_properties functions. Contains the properties of a diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/retry.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/retry.py similarity index 94% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/retry.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/retry.py index 69dafef9cfe..85764430259 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/retry.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/retry.py @@ -6,6 +6,7 @@ from abc import ABCMeta from math import pow import random +from io import (SEEK_SET, UnsupportedOperation) from .models import LocationMode from ._constants import ( @@ -149,6 +150,19 @@ def _retry(self, context, backoff): if self.retry_to_secondary: self._set_next_host_location(context) + # rewind the request body if it is a stream + if hasattr(context.request.body, 'read'): + # no position was saved, then retry would not work + if context.body_position is None: + return None + else: + try: + # attempt to rewind the body to the initial position + context.request.body.seek(context.body_position, SEEK_SET) + except UnsupportedOperation: + # if body is not seekable, then retry would not work + return None + return backoff_interval return None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/sharedaccesssignature.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/sharedaccesssignature.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/sharedaccesssignature.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/sharedaccesssignature.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/storageclient.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/storageclient.py similarity index 95% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/storageclient.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/storageclient.py index da007dc1911..88eae359321 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/common/storageclient.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/storageclient.py @@ -39,6 +39,7 @@ _OperationContext, ) from .retry import ExponentialRetry +from io import UnsupportedOperation class StorageClient(object): @@ -217,6 +218,14 @@ def _perform_request(self, request, parser=None, parser_args=None, operation_con retry_context = RetryContext() retry_context.is_emulated = self.is_emulated + # if request body is a stream, we need to remember its current position in case retries happen + if hasattr(request.body, 'read'): + try: + retry_context.body_position = request.body.tell() + except (AttributeError, UnsupportedOperation): + # if body position cannot be obtained, then retries will not work + pass + # Apply the appropriate host based on the location mode self._apply_host(request, operation_context, retry_context) @@ -236,7 +245,13 @@ def _perform_request(self, request, parser=None, parser_args=None, operation_con # callback. This also ensures retry policies with long back offs # will work as it resets the time sensitive headers. _add_date_header(request) - self.authentication.sign_request(request) + + try: + # request can be signed individually + self.authentication.sign_request(request) + except AttributeError: + # session can also be signed + self.request_session = self.authentication.signed_session(self.request_session) # Set the request context retry_context.request = request diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/tokencredential.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/tokencredential.py new file mode 100644 index 00000000000..4d724ef06ad --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/common/tokencredential.py @@ -0,0 +1,48 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import requests + + +class TokenCredential(object): + """ + Represents a token credential that is used to authorize HTTPS requests. + The token can be updated by the user. + + :ivar str token: + The authorization token. It can be set by the user at any point in a thread-safe way. + """ + + def __init__(self, initial_value=None): + """ + :param initial_value: initial value for the token. + """ + self.token = initial_value + + def signed_session(self, session=None): + """ + Sign requests session with the token. This method is called every time a request is going on the wire. + The user is responsible for updating the token with the preferred tool/SDK. + In general there are two options: + - override this method to update the token in a preferred way and set Authorization header on session + - not override this method, and have a timer that triggers periodically to update the token on this class + + The second option is recommended as it tends to be more performance-friendly. + + :param session: The session to configure for authentication + :type session: requests.Session + :rtype: requests.Session + """ + session = session or requests.Session() + session.headers['Authorization'] = "Bearer {}".format(self.token) + + return session + + def token(self, new_value): + """ + :param new_value: new value to be set as the token. + """ + self.token = new_value \ No newline at end of file diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/__init__.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/__init__.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/__init__.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_constants.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_constants.py similarity index 88% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_constants.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_constants.py index 51dfcab8dcf..ae33b8aff90 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_constants.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_constants.py @@ -5,7 +5,7 @@ # -------------------------------------------------------------------------- __author__ = 'Microsoft Corp. ' -__version__ = '1.1.0' +__version__ = '1.2.0rc1' # x-ms-version for storage service. -X_MS_VERSION = '2017-07-29' +X_MS_VERSION = '2018-03-28' diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_deserialization.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_deserialization.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_deserialization.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_deserialization.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_download_chunking.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_download_chunking.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_download_chunking.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_download_chunking.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_serialization.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_serialization.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_serialization.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_serialization.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_upload_chunking.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_upload_chunking.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/_upload_chunking.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/_upload_chunking.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/fileservice.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/fileservice.py similarity index 99% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/fileservice.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/fileservice.py index 4872e107804..43efe2e65b3 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/fileservice.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/fileservice.py @@ -480,7 +480,7 @@ def set_file_service_properties(self, hour_metrics=None, minute_metrics=None, You can include up to five CorsRule elements in the list. If an empty list is specified, all CORS rules will be deleted, and CORS will be disabled for the service. - :type cors: list(:class:`~..common.models.CorsRule`) + :type cors: list(:class:`~azure.storage.common.models.CorsRule`) :param int timeout: The timeout parameter is expressed in seconds. ''' @@ -507,7 +507,7 @@ def get_file_service_properties(self, timeout=None): The timeout parameter is expressed in seconds. :return: The file service properties. :rtype: - :class:`~..common.models.ServiceProperties` + :class:`~azure.storage.common.models.ServiceProperties` ''' request = HTTPRequest() request.method = 'GET' @@ -816,7 +816,7 @@ def get_share_acl(self, share_name, timeout=None): :param int timeout: The timeout parameter is expressed in seconds. :return: A dictionary of access policies associated with the share. - :rtype: dict(str, :class:`~..common.models.AccessPolicy`) + :rtype: dict(str, :class:`~azure.storage.common.models.AccessPolicy`) ''' _validate_not_none('share_name', share_name) request = HTTPRequest() @@ -842,7 +842,7 @@ def set_share_acl(self, share_name, signed_identifiers=None, timeout=None): A dictionary of access policies to associate with the share. The dictionary may contain up to 5 elements. An empty dictionary will clear the access policies set on the service. - :type signed_identifiers: dict(str, :class:`~..common.models.AccessPolicy`) + :type signed_identifiers: dict(str, :class:`~azure.storage.common.models.AccessPolicy`) :param int timeout: The timeout parameter is expressed in seconds. ''' diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/models.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/models.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/models.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/sharedaccesssignature.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/sharedaccesssignature.py similarity index 98% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/sharedaccesssignature.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/sharedaccesssignature.py index de52de1ee4c..c9ac021c178 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/file/sharedaccesssignature.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/file/sharedaccesssignature.py @@ -81,7 +81,7 @@ def generate_file(self, share_name, directory_name=None, file_name=None, restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. :param str cache_control: Response header value for Cache-Control when resource is accessed using this shared access signature. @@ -159,7 +159,7 @@ def generate_share(self, share_name, permission=None, expiry=None, restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. :param str cache_control: Response header value for Cache-Control when resource is accessed using this shared access signature. diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/__init__.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/__init__.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/__init__.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_constants.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_constants.py similarity index 88% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_constants.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_constants.py index 9ec0ece8853..ae33b8aff90 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_constants.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_constants.py @@ -5,7 +5,7 @@ # -------------------------------------------------------------------------- __author__ = 'Microsoft Corp. ' -__version__ = '1.2.0rc0' +__version__ = '1.2.0rc1' # x-ms-version for storage service. -X_MS_VERSION = '2017-11-09' +X_MS_VERSION = '2018-03-28' diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_deserialization.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_deserialization.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_deserialization.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_deserialization.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_encryption.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_encryption.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_encryption.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_encryption.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_error.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_error.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_error.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_error.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_serialization.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_serialization.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/_serialization.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/_serialization.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/models.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/models.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/models.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/queueservice.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/queueservice.py similarity index 98% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/queueservice.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/queueservice.py index 6bd1903013c..198c1a02ce2 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/queueservice.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/queueservice.py @@ -11,7 +11,6 @@ from ..common._auth import ( _StorageSASAuthentication, _StorageSharedKeyAuthentication, - _StorageTokenAuthentication, ) from ..common._common_conversion import ( _int_to_str, @@ -163,7 +162,7 @@ def __init__(self, account_name=None, account_key=None, sas_token=None, is_emula :param token_credential: A token credential used to authenticate HTTPS requests. The token value should be updated before its expiration. - :type `~..common.TokenCredential` + :type `~azure.storage.common.TokenCredential` ''' service_params = _ServiceParameters.get_service_parameters( 'queue', @@ -189,7 +188,7 @@ def __init__(self, account_name=None, account_key=None, sas_token=None, is_emula elif self.sas_token: self.authentication = _StorageSASAuthentication(self.sas_token) elif self.token_credential: - self.authentication = _StorageTokenAuthentication(self.token_credential) + self.authentication = self.token_credential else: raise ValueError(_ERROR_STORAGE_MISSING_INFO) @@ -238,7 +237,7 @@ def generate_account_shared_access_signature(self, resource_types, permission, restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. :return: A Shared Access Signature (sas) token. :rtype: str ''' @@ -293,7 +292,7 @@ def generate_queue_shared_access_signature(self, queue_name, restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. :return: A Shared Access Signature (sas) token. :rtype: str ''' @@ -334,7 +333,7 @@ def get_queue_service_stats(self, timeout=None): :param int timeout: The timeout parameter is expressed in seconds. :return: The queue service stats. - :rtype: :class:`~..common.models.ServiceStats` + :rtype: :class:`~azure.storage.common.models.ServiceStats` ''' request = HTTPRequest() request.method = 'GET' @@ -356,7 +355,7 @@ def get_queue_service_properties(self, timeout=None): :param int timeout: The server timeout, expressed in seconds. :return: The queue service properties. - :rtype: :class:`~..common.models.ServiceProperties` + :rtype: :class:`~azure.storage.common.models.ServiceProperties` ''' request = HTTPRequest() request.method = 'GET' @@ -393,7 +392,7 @@ def set_queue_service_properties(self, logging=None, hour_metrics=None, and CORS will be disabled for the service. For detailed information about CORS rules and evaluation logic, see https://msdn.microsoft.com/en-us/library/azure/dn535601.aspx. - :type cors: list(:class:`~..common.models.CorsRule`) + :type cors: list(:class:`~azure.storage.common.models.CorsRule`) :param int timeout: The server timeout, expressed in seconds. ''' @@ -662,7 +661,7 @@ def get_queue_acl(self, queue_name, timeout=None): :param int timeout: The server timeout, expressed in seconds. :return: A dictionary of access policies associated with the queue. - :rtype: dict(str, :class:`~..common.models.AccessPolicy`) + :rtype: dict(str, :class:`~azure.storage.common.models.AccessPolicy`) ''' _validate_not_none('queue_name', queue_name) request = HTTPRequest() @@ -698,7 +697,7 @@ def set_queue_acl(self, queue_name, signed_identifiers=None, timeout=None): A dictionary of access policies to associate with the queue. The dictionary may contain up to 5 elements. An empty dictionary will clear the access policies set on the service. - :type signed_identifiers: dict(str, :class:`~..common.models.AccessPolicy`) + :type signed_identifiers: dict(str, :class:`~azure.storage.common.models.AccessPolicy`) :param int timeout: The server timeout, expressed in seconds. ''' diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/sharedaccesssignature.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/sharedaccesssignature.py similarity index 97% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/sharedaccesssignature.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/sharedaccesssignature.py index 1cf585a48b6..13ad3fa022e 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2017_11_09/queue/sharedaccesssignature.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage/v2018_03_28/queue/sharedaccesssignature.py @@ -71,7 +71,7 @@ def generate_queue(self, queue_name, permission=None, restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~..common.models.Protocol` for possible values. + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. ''' sas = _SharedAccessHelper() sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) diff --git a/src/storage-preview/readme.md b/src/storage-preview/readme.md deleted file mode 100644 index e2a9ceb149e..00000000000 --- a/src/storage-preview/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Azure CLI Storage Preview Extension # -This is a extension for storage preview features. - -## How to use ## -First, install the extension: -``` -az extension add --name storage-preview -``` - -``` \ No newline at end of file diff --git a/src/storage-preview/setup.py b/src/storage-preview/setup.py index 3b61b551f4b..717fe5ba233 100644 --- a/src/storage-preview/setup.py +++ b/src/storage-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.1.0" +VERSION = "0.1.3" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -34,7 +34,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions', + url='https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview', classifiers=CLASSIFIERS, package_data={'azext_storage_preview': ['azext_metadata.json']}, packages=find_packages(exclude=["tests"]), diff --git a/src/webapp/azext_webapp/custom.py b/src/webapp/azext_webapp/custom.py index 63fdcccbe1a..ccf4feb180e 100644 --- a/src/webapp/azext_webapp/custom.py +++ b/src/webapp/azext_webapp/custom.py @@ -247,7 +247,10 @@ def create_tunnel(cmd, resource_group_name, name, port=None, slot=None): if port is None: port = 0 # Will auto-select a free port from 1024-65535 logger.info('No port defined, creating on random free port') - tunnel_server = TunnelServer('', port, name, user_name, user_password) + host_name = name + if slot is not None: + host_name += "-" + slot + tunnel_server = TunnelServer('', port, host_name, user_name, user_password) config = get_site_configs(cmd, resource_group_name, name, slot) _ping_scm_site(cmd, resource_group_name, name)